[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [help] Merging tag and trunk in a SVN repository.



Am Mittwoch, den 01.08.2007, 00:36 +0900 schrieb Charles Plessy:
> Dear Mentors,
> 
> I was preparing a new version of the package emboss when came an
> upstream fix that I wished to include in the current version in Debian.
> 
> I tried to do all whithin the SVN repository holding the debian
> directory, but now it is a mess:
> 
>  - I reverted to the last revision which was workable;
>  - I added upstream's patch;
>  - I svn-buildpackage --svn-ignore --svn-tag'ed it;
>  - I realised that --svn-ignore was not what I wanted, and then copied
>    the changed files to the ../tags/<numversion> directory and commited
>    it.
>  - Then I ran svn-buildpackage in tags/<numversion> to prepare the
>    source package to upload.
> 
> But now I do not know how to merge this into the last work-in-progress
> revision... I would need to merge the tags/<numversion> and the trunk,
> but:
> 
> sorbet【emboss】$ LANG=C svn merge tags/5.0.0-2/ trunk/
> svn: A working copy merge source needs an explicit revision
> 
> It seems that the puropose of svn merge is to work within revisions, not
> between tags and trunks.
> 
> Could somebody point me the right tool for this ?

The standard way is, that you make a copy: svn copy ....
In your case, the trunk branch was copied to tags/. So find out, which
revision (I will use the term 'copyrev' for this revision number) this
was and make sure, that trunk is in the state it was, when the copy was
made. From your description I read, the the changes in trunk were *not*
copied (svn-ignore) and you moved to the copy in tags/ to make the
changes "again" (or copy your changes). So trunk should not conatin any
changes. Then simply merge everything with:

svn merge -r copyrev:HEAD merge tags/5.0.0-2/ trunk/

>From your description, this should work without problems.

Regards, Daniel



Reply to: