git - Is it safe to interrupt a dcommit call that appears to be hung up? -


i'm using git-svn bridge , have reshuffled large number of files around in repository it's organized bit better.

i ran git svn dcommit put changes @ svn server , process appears hung up. i'm getting no cpu use , no network use dcommit call past 45 minutes. output stuck at:

> git svn dcommit ...snip...      r       zlib/vs2005/zconf.h => tools/zlib/vs2005/zconf.h      r       zlib/vs2005/zlib.h => tools/zlib/vs2005/zlib.h      r       zlib/vs2005/zlib_ds.lib => tools/zlib/vs2005/zlib_ds.lib      r       zlib/vs2005/zlib_ds.pdb => tools/zlib/vs2005/zlib_ds.pdb      r       zlib/vs2005/zlib_s.lib => tools/zlib/vs2005/zlib_s.lib      r       zlib/vs2005/zlib_s.pdb => tools/zlib/vs2005/zlib_s.pdb 

and that's it's been 45 minutes now.

edit: ended saying https connection timed out. took hour , half happen.

i can't seem find definitive information on happen if interrupt dcommit call , i'd need before attempt resubmit changes again local repository svn server.

i can answer 1 part of question: need before trying again?

after connection timed out , prompt returned had git svn fetch before run git svn dcommit again. of rename operations found in svn repository directories left empty after shuffle not deleted. had use svn client remove them. i'm not sure if git-svn thing or because of https timeout during dcommit call.

i still don't know answer to: interrupting dcommit call safe?

yes, safe.

dcommit for each commit pushing svn:

  1. compute difference between commit , parent. (essentially, creating patch commit.)
  2. send difference on svn protocol changeset committed. once complete, commit lives on svn server.
  3. fetch new commit, , other new commits created in meantime other users, , store them locally proper git commits. git-svn branch ref updated point latest one.
  4. rebase commits after 1 processed onto git-svn branch ref being committed to. (since commit being processed should live on server, result in local commit processed being discarded, per other rebase.)

if interrupt during step 2 (which sounds like) current commit aborted on svn server. should able dcommit again without worry.

but, if paranoid (and should when interoperating between vcses this) may want run git svn rebase first. pull down new commits on svn (including commit tried push, if succeeded server-side) , rebase local branch on top of it.


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

aspxgridview - Devexpress grid - header filter does not work if column is initially hidden -

c# - How to execute a particular part of code asynchronously in a class -