Bernd Schmidt <[EMAIL PROTECTED]> wrote:

>> Anyway, I have fixed the bug in svnmerge and attached a new version for
you
>> in this mail.
>
> Thanks for the quick fix.  This seems to be working now ("svnmerge.py
> avail" gives me a rather enormous list of revision numbers).

Yes. It'll take some time to merge them, even if it'll go through a single
merge operation. You can use "-v -v" to add some debug message and see the
exact svn commands issued, so that you can double check that it'll use a
single merge operation for all of them.

If you're curious, it displays an enormous list of revisions instead of a
single revision range because "svnmerge avail" prunes it from commits
happened in other branches, thus showing you only the list of actual commits
to the trunk. This is more useful for release branches, where you want to
review the single changes and cherry-pick the ones you like more (of couse,
it makes more sense for smaller projects anyway). But when you do an actual
merge, it realizes it is sufficient to call "svn merge" just once with a
single range of revisions (since svn will ignore commits in other parts of
the repository and merge just the changes from the trunk).

>> For curiosity: you could have worked around this auto-detection problem
by
>> manually specifying the head of the branch and the branch point:
"svnmerge
>> init /trunk -r1-96656".
>
> That complains about
>    svnmerge: "/trunk" is not a valid URL or working directory
>
> but no big deal since the other method works.

Ah right, I fogot you need to use a full URL on the command line. It's
rather clumsy though: I should add support for repository-relative paths as
well.

>>> (The "commit -F/rm" combination seems a bit arcane to me, what exactly
>>> am I doing there?)
>>
>>
>> Nothing special. The svnmerge tool *never* commits anything on your
behalf:
>> it always modifies your working copy and lets you review what it did and
do
>> the actual commit. To ease your work, it generates a simple commit
message
>> in a text file. When you say "svn ci -F svnmerge-commit-message.txt",
>> you're just telling svn to grab the commit message from the text file
that
>> svnmerge generated for you. Then, you can simply remove the file as it's
>> useless.
>
> Ah ok.  Somehow I got confused with my old CVS mindset of "no files
> changed, what am I committing", but I assume it's this property thing.

Yup :) svn status would show you what's changed:

 M     .

Notice the 'M' on the second column. Second column is for properties:

    Second column: Modifications of a file's or directory's properties
      ' ' no modifications
      'C' Conflicted
      'M' Modified
-- 
Giovanni Bajo


Reply via email to