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]

Re: svn problems


On May 1, 2006, at 8:48 PM, Ben Elliston wrote:
It amazes me that svn can't do a merge.

That's patently inaccurate.

Ok, try this out:


mrs $ mkdir svn-repo
mrs $ svnadmin create svn-repo
mrs $ svn co file:///Volumes/mrs4/svn-repo svn
Checked out revision 0.
mrs $ cd svn
mrs $ svn mkdir trunk
A         trunk
mrs $ svn mkdir branches
A         branches
mrs $ cat > trunk/file1
file1
mrs $ svn ci .
Adding         branches
Adding         trunk

Committed revision 1.
mrs $ svn add trunk/file1
A trunk/file1
mrs $ svn ci .
Adding trunk/file1
Transmitting file data .
Committed revision 2.
mrs $ svn cp file:///Volumes/mrs4/svn-repo/trunk file:///Volumes/mrs4/ svn-repo/branches/rel
Committed revision 4.
cat > trunk/file1
mrs $ ls
branches svn-commit.2.tmp.~2~ svn- commit.tmp.~1~ svn-commit.tmp.~3~
svn-commit.2.tmp.~1~ svn-commit.tmp svn- commit.tmp.~2~ trunk
mrs $ pwd
/Volumes/mrs4/svn
mrs $ cd ..
mrs $ svn co file:///Volumes/mrs4/svn-repo/branches/rel rel
A rel/file1
Checked out revision 4.
mrs $ cd rel
mrs $ cat >file2
file2
mrs $ cat >file3
file3_rel
mrs $ svn add file2 file3
A file2
A file3
mrs $ svn ci .
Adding file2
Adding file3
Transmitting file data ..
Committed revision 5.
mrs $ pwd
/Volumes/mrs4/rel
mrs $ cd ../
mrs $ svn co file:///Volumes/mrs4/svn-repo/trunk trunk
A trunk/file1
Checked out revision 5.
mrs $ cd trunk/
mrs $ ls
file1
mrs $ cat >file2
file2
mrs $ cat >file3
file3_trunk
mrs $ svn add file2 file3
A file2
A file3
mrs $ svn ci .
Adding file2
Adding file3
Transmitting file data ..
Committed revision 6.
mrs $ pwd
/Volumes/mrs4/trunk
mrs $ cd
mrs $ cd ../rel
mrs $ svn merge
mrs $ svn merge -r4:6 file:///Volumes/mrs4/svn-repo/trunk
A file2
A file3
mrs $ svn ci
svn: Commit failed (details follow):
svn: Aborting commit: '/Volumes/mrs4/rel/file3' remains in conflict
mrs $ svn status -u
? file3.merge-right.r6
? file3.working
C 5 file3
? file3.merge-left.r0
Status against revision: 6
mrs $ emacs file3
mrs $ svn resolved file3
Resolved conflicted state of 'file3'
mrs $ svn ci
mrs $ cd ../trunk
mrs $ svn rm file3
D file3
mrs $ svn ci .
Deleting file3


Committed revision 7.
mrs $ cat >file3
new_file3
mrs $ svn add file3
A         file3
mrs $ svn ci .
Adding         file3
Transmitting file data .
Committed revision 8.
mrs $ cd ../rel
mrs $ svn merge -r6:8 file:///Volumes/mrs4/svn-repo/trunk
D    file3
A    file3
mrs $ svn status -u
svn: Working copy path 'file3' does not exist in repository
mrs $ svn status
R  +   file3
mrs $ cd ../trunk
mrs $ cd -
/Volumes/mrs4/rel
mrs $ svn ci .
Replacing      file3
svn: Commit failed (details follow):
svn: Out of date: '/branches/rel/file3' in transaction '8-1'
svn: Your commit message was left in a temporary file:
svn:    '/Volumes/mrs4/rel/svn-commit.tmp'
mrs $ svn status -u
svn: Working copy path 'file3' does not exist in repository
mrs $ svn status -u file3
R  +   *        -   file3
Status against revision:      8
mrs $ svn up
svn: Working copy path 'file3' does not exist in repository
mrs $ svn status -u file3
R  +   *        -   file3
Status against revision:      8
mrs $ svn up file3
svn: Failed to add file 'file3': object of the same name already exists
mrs $ svn status -u file3
R  +   *        -   file3
Status against revision:      8

and let me know if you see the same behavior. If so, explain how you qualify that as working? If not, what version of svn are you running?

Now, for fun, try that with cvs, notice that it actually works.

Have you tried using the svnmerge script that uses SVN properties to
remember which changesets you have (and haven't) merged?

Not yet, feel free to try this with that script if you can reproduce the failure and let me know if it works.


For completeness, I'm using:
mrs $ svn --version
svn, version 1.3.0 (r17949)
   compiled Jan  4 2006, 12:42:53


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]