svn merging is full of fail
[SCENE: adium/branches/summer_of_code_2008/unit_testing. I’m merging changes from trunk to this branch.]
svn --version svn, version 1.5.0 (r31699) compiled Jul 5 2008, 04:29:25 Copyright (C) 2000-2008 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - with Cyrus SASL authentication - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - handles 'http' scheme - handles 'https' scheme ___ svn up At revision 24694. ___ svn st ? Docs ? DoxyCleaned ~ Resources/Message Styles/renkooNaked.AdiumMessageStyle/Contents/Resources/Incoming/buddy_icon.png ~ Resources/Message Styles/renkooNaked.AdiumMessageStyle/Contents/Resources/outgoing_icon.png ~ Resources/Message Styles/renkooNaked.AdiumMessageStyle/Contents/Resources/Outgoing/buddy_icon.png ~ Resources/Message Styles/renkooNaked.AdiumMessageStyle/Contents/Resources/incoming_icon.png (~ = “versioned item obstructed by some item of a different kind”) rm -Rf Resources/Message\ Styles/renkooNaked.AdiumMessageStyle ___ svn up Resources/Message\ Styles/renkooNaked.AdiumMessageStyle [snip] ___ cd ../../.. ___ svn merge -r23936:24694 trunk branches/summer_of_code_2008/unit_testing --- Merging r23937 through r24694 into 'branches/summer_of_code_2008/unit_testing': [snip] Conflict discovered in 'branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist'. Select: (p) postpone, (df) diff-full, (e) edit, (h) help for more options: e [I correct the plist to match what trunk has.] Select: (p) postpone, (df) diff-full, (e) edit, (r) resolved, (h) help for more options: r ___ plutil -lint branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist: OK ___ plutil -lint branches/summer_of_code_2008/unit_testing/Adium.xcodeproj branches/summer_of_code_2008/unit_testing/Adium.xcodeproj: file does not exist or is not readable or is not a regular file ___ plutil -lint branches/summer_of_code_2008/unit_testing/Adium.xcodeproj/project.pbxproj branches/summer_of_code_2008/unit_testing/Adium.xcodeproj/project.pbxproj: OK ___ plutil -lint branches/summer_of_code_2008/unit_testing/Frameworks/AIUtilities\ Framework/AIUtilities.framework.xcodeproj/project.pbxproj branches/summer_of_code_2008/unit_testing/Frameworks/AIUtilities Framework/AIUtilities.framework.xcodeproj/project.pbxproj: OK ___ cd branches/summer_of_code_2008/unit_testing %~/Projects/@otherpeoplesprojects/adium(0) ___ xcodebuild -configuration Development [snip] ** BUILD SUCCEEDED ** ___ svn ci Sending unit_testing [snip] Transmitting file data .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: Commit failed (details follow): svn: Checksum mismatch for '/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/.svn/text-base/Emoticons.plist.svn-base'; expected: '109d361ce47a49a66e53e98412251398', actual: 'a21c8336d1f839b9aaa8a2795a7e25f5' svn: Your commit message was left in a temporary file: svn: '/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008/svn-commit.2.tmp' ___ cd Resources/Emoticons ___ rm -Rf MSN.AdiumEmoticonset ___ svn up MSN.AdiumEmoticonset A MSN.AdiumEmoticonset [snip] Updated to revision 24694. ___ cd ../.. ___ cd ../../.. ___ svn merge -r23936:24694 trunk branches/summer_of_code_2008/unit_testing svn: Working copy path 'Frameworks/Adium Framework/Source/AISharedAdium.h' does not exist in repository ___ svn merge -r23936:24694 trunk/Resources/Emoticons branches/summer_of_code_2008/unit_testing/Resources/Emoticons ___ svn merge -r23936:24694 trunk/Resources/Emoticons/MSN.AdiumEmoticonset branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset ___ svn merge -r23936:24694 trunk/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist ___ cd branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset ___ svn pl Emoticons.plist ___ svn st ___ popd ___ diff -u trunk/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist --- trunk/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist 2008-06-26 20:50:51.000000000 -0700 +++ branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist 2008-08-07 11:20:27.000000000 -0700 @@ -367,7 +367,7 @@Name Cool -I don't know.gif +I Don't Know.gif Equivalents [Um, OK. What happened to all the differences it had from trunk that I had merged over? Suddenly, almost all the differences are gone, and the files are nearly the same!] ___ diff -u trunk/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist branches/summer_of_code_2008/unit_testing/Resources/Emoticons/MSN.AdiumEmoticonset/Emoticons.plist ___ cd branches/summer_of_code_2008 %~/Projects/@otherpeoplesprojects/adium(0) ___ svn ci unit_testing Sending unit_testing Transmitting file data ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: Commit succeeded, but other errors follow: svn: Error bumping revisions post-commit (details follow): svn: Directory '/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008/unit_testing/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib' is missing svn: Directory '/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008/unit_testing/Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib' is missing svn: Your commit message was left in a temporary file: svn: '/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008/svn-commit.3.tmp' ___ svn st %~/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008(1) ? svn-commit.2.tmp ? svn-commit.tmp ? svn-commit.3.tmp ML unit_testing ? unit_testing/Docs ? unit_testing/DoxyCleaned L unit_testing/Release L unit_testing/Release/openUp L unit_testing/Release/Artwork M unit_testing/Release/Makefile L unit_testing/Frameworks L unit_testing/Frameworks/libgmodule.framework L unit_testing/Frameworks/libgmodule.framework/Versions [snip] (L in third column = Locked) ___ svn cleanup %~/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008(0) svn: In directory 'unit_testing/Frameworks/JSON Framework/Tests/json.org' svn: Error processing command 'committed' in 'unit_testing/Frameworks/JSON Framework/Tests/json.org' svn: Working copy 'unit_testing/Frameworks/JSON Framework/Tests' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) ___ svn cleanup %~/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008(1) svn: In directory 'unit_testing/Frameworks/JSON Framework/Tests/json.org' svn: Error processing command 'committed' in 'unit_testing/Frameworks/JSON Framework/Tests/json.org' svn: Working copy 'unit_testing/Frameworks/JSON Framework/Tests' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) [So I get to manually clear the locks. Yay!] ___ tar cjf unit_testing.tbz unit_testing ___ cd unit_testing %~/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008(0) ___ svn st | grep -Fw L | head L Frameworks L Frameworks/JSON Framework L Frameworks/JSON Framework/Tests A L+ Frameworks/JSON Framework/Tests/json.org A L+ Frameworks/JSON Framework/Tests/types A L+ Frameworks/JSON Framework/Tests/format A L+ Frameworks/JSON Framework/Tests/rfc4627 L Frameworks/JSON Framework/Tests/Examples L Frameworks/JSON Framework/Tests/Examples/JSONChecker A L+ Frameworks/JSON Framework/Tests/jsonchecker svn: Write error: Broken pipe ___ ls Frameworks/.svn dir-prop-base format prop-base/ text-base/ entries lock props/ tmp/ ___ ls Frameworks/.svn/lock Frameworks/.svn/lock ___ rm Frameworks/.svn/lock ___ svn st -N Frameworks L Frameworks/JSON Framework L Frameworks/libintl.framework L Frameworks/libpurple.framework L Frameworks/libmeanwhile.framework L Frameworks/LMX.framework R L+ Frameworks/Sparkle.framework L Frameworks/AutoHyperlinks Framework L Frameworks/libgobject.framework L Frameworks/OTR.framework L Frameworks/libglib.framework L Frameworks/ShortcutRecorder L Frameworks/libgthread.framework L Frameworks/AIUtilities Framework L Frameworks/OCMock.framework L Frameworks/PSMTabBarControl.framework L Frameworks/RBSplitView L Frameworks/Growl-WithInstaller.framework L Frameworks/Adium Framework ___ svn st -N Frameworks/JSON\ Framework L Frameworks/JSON Framework A + Frameworks/JSON Framework/dmg.sh L Frameworks/JSON Framework/Tests L Frameworks/JSON Framework/Site L Frameworks/JSON Framework/JSON.xcodeproj L Frameworks/JSON Framework/Docs A + Frameworks/JSON Framework/bench.m M Frameworks/JSON Framework/JSON-Info.plist M Frameworks/JSON Framework/CREDITS ___ rm Frameworks/JSON\ Framework/.svn/lock ___ svn st -N Frameworks/JSON\ Framework A + Frameworks/JSON Framework/dmg.sh L Frameworks/JSON Framework/Tests L Frameworks/JSON Framework/Site L Frameworks/JSON Framework/JSON.xcodeproj L Frameworks/JSON Framework/Docs A + Frameworks/JSON Framework/bench.m M Frameworks/JSON Framework/JSON-Info.plist M Frameworks/JSON Framework/CREDITS ___ find . -name lock -print0 | xargs -0 rm ___ svn ci svn: Working copy '/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/adium/branches/summer_of_code_2008' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) ___ rm ../.svn/lock ___ svn ci Sending unit_testing [snip] svn: Commit failed (details follow): svn: Directory '/branches/summer_of_code_2008/unit_testing' is out of date ___ svn up .. svn: Failed to add file '../unit_testing/Frameworks/JSON Framework/dmg.sh': a file of the same name is already scheduled for addition with history ___ rm Frameworks/JSON\ Framework/dmg.sh ___ svn up D Frameworks/libgmodule.framework/Versions/2.0.0/Resources/English.lproj G Frameworks/JSON Framework/Tests/Types.m svn: Failed to add directory 'Frameworks/JSON Framework/Tests/json.org': a versioned directory of the same name already exists ___ svn st Frameworks/JSON\ Framework/Tests/json.org A L+ Frameworks/JSON Framework/Tests/json.org A + Frameworks/JSON Framework/Tests/json.org/1.json A + Frameworks/JSON Framework/Tests/json.org/2.json A + Frameworks/JSON Framework/Tests/json.org/1.plist ⋮ ___ find . -name lock -print0 | xargs -0 rm ___ svn st Frameworks/JSON\ Framework/Tests/json.org A + Frameworks/JSON Framework/Tests/json.org ⋮ ___ cd .. ___ mv unit_testing unit_testing-fail ___ svn up unit_testing A unit_testing
With this fresh working copy, I’m able to build, so I believe I’m finally done.
August 7th, 2008 at 13:05:07
If I followed you correctly there, you did a merge, up, and then merge again, on the same wc. Why’d you do the second merge? You had already merged the changes from trunk…
Also, when you find that stuff’s completely messed up, it’s easier to just remove all of it and do it over, instead of trying to commit… After all those errors, I wouldn\’t have trusted svn to have preserved all changes, something must’ve been lost.
August 7th, 2008 at 16:17:52
Joachim: Because I had bulldozed MSN.AdiumEmoticonSet, then re-upped it. I had expected it to be unmodified (and unmerged), so I ran another merge to try to re-apply the merge to it. I wasn’t expecting the merge to already be applied.
January 7th, 2009 at 09:52:25
Whew, I really like svnmerge.py! ;-)