This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Bernd Schmidt <bernds_cb1@t-online.de> wrote: > Just tried these instructions on the reload-branch, and it doesn't > appear to be working as documented: > > bernds@telcontar:/local/src/egcs/reload-branch> svnmerge.py init > property 'svnmerge-integrated' set on '.' This was the correct command to do, assuming that you *never* merged your branch since its original creation. I inspected the history of the branch (through 'svn log') and it seems this assumption is correct. So let's spot the problem... > bernds@telcontar:/local/src/egcs/reload-branch> svn status > ? svnmerge-commit-message.txt > M . > bernds@telcontar:/local/src/egcs/reload-branch> cat > svnmerge-commit-message.txt > Initialized merge tracking via "svnmerge" with revisions "1-96656" from > svn+ssh://gcc.gnu.org/svn/gcc/branches/CYGNUS/libjava/testsuite/libjava.lang /Invoke_1.out > bernds@telcontar:/local/src/egcs/reload-branch> svn diff You see that svnmerge believes that the head of your branch is "svn+ssh://gcc.gnu.org/svn/gcc/branches/CYGNUS/libjava/testsuite/libjava.lan g/Invoke_1.out". This is obviously incorrect: it is a branch of the trunk, so this message should say "svn+ssh://gcc.gnu.org/svn/gcc/trunk" instead. This appears to be a bug in svnmerge: it is confused by the weird history created by cvs2svn. Look at the confusing output of "svn log -v -r96657 svn://gcc.gnu.org/svn/gcc/branches/reload-branch", which is the commit that created the branch. It should just list "A /branches/reload-branch (from /trunk:96656)" and instead it contains many other entries. Anyway, I have fixed the bug in svnmerge and attached a new version for you in this mail. I have verified that running "svnmerge init" in a checkout of the reload-branch now does the right thing. Before doing that, remember to cleanup the wrong commit you did before: you can remove the svnmerge property, with this command: "svn propdel svnmerge-integrated .", followed by a commit. 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". > (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. Feel free to mail me with other svnmerge problems, I'm happy to provide you with support. -- Giovanni Bajo
Attachment:
svnmerge.py
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |