我正在使用git-svn桥,并且在我的存储库中重新配置了大量的文件,所以它的组织更好一些。
我运行git svn dcommit将更改放回SVN服务器,进程似乎被挂起。在过去的45分钟里,我没有CPU使用,也没有dcommit调用的网络使用。输出卡在以下位置:
> 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现在已经有45分钟了。
编辑:它最终结束时说HTTPS连接超时了。这花费了大约一个半小时的时间。。
在尝试再次将更改从本地存储库重新提交到SVN服务器之前,我似乎找不到任何关于如果中断这个dcommit调用会发生什么以及我需要做什么的确切信息。
我可以回答问题的一个部分:在再次尝试之前,我需要做些什么?
在连接超时并返回提示后,我必须执行git svn fetch才能再次运行git svn dcommit。我所有的重命名操作都在SVN存储库中找到,但洗牌后留下的目录没有被删除。我不得不使用我的SVN客户端来删除它们。我不确定这是否是git-svn的问题,还是因为在那次dcommit调用期间HTTPS超时。
我仍然不知道答案是:是否中断了一个安全的dcommit?
发布于 2010-11-16 03:53:02
是的,它是安全的。
dcommit基本上对每个提交执行操作:
如果您在步骤2期间中断(听起来就是这样),那么当前提交将在svn服务器上中止。你应该可以放心地再犯一次。
但是,如果您疑神疑鬼(在VCSes之间这样进行互操作时,您应该是这样的),您可能希望首先运行git svn rebase。这将拉下SVN上的任何新提交(包括您试图推送的提交(如果服务器端实际成功的话),并在此基础上重新设置本地分支。
https://stackoverflow.com/questions/4187333
复制相似问题