{"thread":{"id":"13529","subject":"git-svn condenses history when dcommit is interrupted","startedAt":"2008-05-15T09:06:33Z","lastAt":"2008-05-17T04:35:06Z","messageCount":2,"participants":["João Abecasis","Imran M Yousuf"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"77035","messageId":"7bf6f1d20805150206j231eeea6pb7c608a713dd202c@mail.gmail.com","threadId":"13529","inReplyTo":null,"subject":"git-svn condenses history when dcommit is interrupted","fromName":"João Abecasis","fromEmail":"joao@abecasis.name","sentAt":"2008-05-15T09:06:33Z","receivedAt":"2008-05-15T09:06:33Z","isPatch":false,"sender":{"key":"joao@abecasis.name","avatar":"https://gravatar.com/avatar/6c28d507fdac73de84e9ea793d82c718ae46c5e96ef25c9171c9b7f697131c4e?d=mp&s=160"},"body":"Hi,\n\nI hope this is the right list for reporting git-svn issues, if it\nisn't, please direct me to a more appropriate place. Thanks!\n\nWhen a git-svn dcommit is interrupted after a commit is submitted to\nthe subversion server, but before the local history is reconciled,\nthat commit is lost from the history. Instead, changes are condensed\ninto the next commit git-svn sees on the server.\n\nGiven my current flakey internet connection, unfortunately, I've been\ngiven the chance to see this happen a couple of times, already. Some\noutput I gathered the last time this occured can be found below. In\ncase it matters, this was on Mac OS X 10.5.2.\n\n\n[ The versions ]\n\n\n$ git --version\ngit version 1.5.5\n$ svn --version\nsvn, version 1.4.4 (r25188)\n   compiled Nov 25 2007, 08:20:33\n\nCopyright (C) 2000-2006 CollabNet.\nSubversion is open source software, see http://subversion.tigris.org/\nThis product includes software developed by CollabNet (http://www.Collab.Net/).\n\nThe following repository access (RA) modules are available:\n\n* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.\n  - handles 'http' scheme\n  - handles 'https' scheme\n* ra_svn : Module for accessing a repository using the svn network protocol.\n  - handles 'svn' scheme\n* ra_local : Module for accessing a repository on local disk.\n  - handles 'file' scheme\n\n\n[ The issue: I had 2 pending commits on my tree. Something happens\nhalfway through the first commit, after it has been registered with\nthe server ]\n\n\n$ git svn dcommit\nCommitting to https://svn.cct.lsu.edu/repos/saga/trunk ...\n\tM\texternal/boost/plugin/boost/plugin/config.hpp\nCommitted r1731\n\tM\texternal/boost/plugin/boost/plugin/config.hpp\nRA layer request failed: PROPFIND request failed on '/repos/saga':\nPROPFIND of '/repos/saga': SSL negotiation failed: Secure connection\ntruncated (https://svn.cct.lsu.edu) at /usr/local/git/bin/git-svn line\n2475\n\n$ git svn dcommit\nCommitting to https://svn.cct.lsu.edu/repos/saga/trunk ...\nMerge conflict during commit: Your file or directory\n'external/boost/plugin/boost/plugin/config.hpp' is probably\nout-of-date: The version resource does not correspond to the resource\nwithin the transaction.  Either the requested version resource is out\nof date (needs to be updated), or the requested version resource is\nnewer than the transaction root (restart the commit). at\n/usr/local/git/bin/git-svn line 453\n\n$ git svn fetch\nW: Ignoring error from SVN, path probably does not exist: (175002): RA\nlayer request failed: PROPFIND request failed on '/repos/saga':\nPROPFIND of '/repos/saga': Could not read status line: SSL error:\nsslv3 alert bad record mac (https://svn.cct.lsu.edu)\nW: Do not be alarmed at the above message git-svn is just searching\naggressively for old history.\nThis may take a while on large repositories\nPath '' was probably deleted:\nRA layer request failed: PROPFIND request failed on '/repos/saga':\nPROPFIND of '/repos/saga': Could not read status line: SSL error:\nsslv3 alert bad record mac (https://svn.cct.lsu.edu)\nWill attempt to follow revisions r1730 .. r1731 committed before the deletion\nr1730 .. r1730 OK\n$ git svn fetch\n$\n\n\n[ At this point, git-svn wouldn't commit the second patch, nor would\nit fetch the one it had committed earlier. I resorted to committing\nthe second patch using plain svn. After that... ]\n\n\n$ git svn fetch\nIndex mismatch: 0948c9dd98f0b0578aa151c5a074a89268ae5470 !=\nc22e958474fbfe55c807068cd230b550a23cab3c\nrereading 0b7d73659df689e9baf585e117e6fec7d6b2c81e\n\tM\texternal/boost/plugin/boost/plugin/config.hpp\n\tM\tbindings/saga/C/engine/saga_c_export_declarations.h\nr1732 = dabf31cc720d31b75f6070490156a8165ec6c3b4 (trunk)\n$\n\n\n[ r1732 was actually a change to saga_c_export_declarations.h alone,\nbut now it shows up merged with r1731 :-/ ]\n\n\nIs there any further info I can provide that could help?\n\nDid I do something wrong? Are there any steps I can take after dcommit\nbreaks to avoid this issue? The last time this happened, I ended up\ncloning the svn repository afresh and have a backup available, but\nwould rather find a better way to fix this.\n\nAny help appreciated. Thanks!\n\n\nJoão\n"},{"id":"77176","messageId":"7bfdc29a0805162135m2758171dva6a6594239733bd8@mail.gmail.com","threadId":"13529","inReplyTo":"7bf6f1d20805161402m4fa473f5w198bc8cb055eb95f@mail.gmail.com","subject":"Re: git-svn condenses history when dcommit is interrupted","fromName":"Imran M Yousuf","fromEmail":"imyousuf@gmail.com","sentAt":"2008-05-17T04:35:06Z","receivedAt":"2008-05-17T04:35:06Z","isPatch":false,"sender":{"key":"imyousuf@gmail.com","avatar":"https://gravatar.com/avatar/fda3c870262849d03c7b9c4d288842e128d6d80769fa7bc2d22731b7597928be?d=mp&s=160"},"body":">> Whenever my commit is not completed successfully I can thus easily\n>> reset, rebase and follow the command sequence again. This way I have\n\nI forgot to mention 'git svn fetch' if the commit succeeds and the update fails\n\n> But that doesn't help with the problem I have faced, which is when\n> dcommit fails *after* some change has already been committed to the\n> subversion repository. At that point, the local copy of the subversion\n\nDid you try 'git svn fetch' at this point\n\n> history is broken since git thinks it has got the fetched the\n> committed revision but it's not in the history.\n> ....\n> I think this is a bug with git-svn that should be fixed and I will\n> gladly help fix it in any way I can. Do you think I should be more\n> explicit and focus on the broken history instead of the \"condensed\n> merges\"?\n\nIt could be a bug but I am not sure, what I am sure of is that I faced\na *similar* (not sure identical) problem and 'git reset' and 'git svn\nfetch' followed by rebase, merge and dcommit was successful in my\ncase.\n\nBest regards,\n\n-- \nImran M Yousuf\nEmail: imran@smartitengineering.com\nMobile: +880-1711402557\n"}]}