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