我正在使用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连接已超时。这花了大约一个半小时才发生。
我似乎无法找到任何关于如果我中断此dcommit
调用将会发生什么以及在我尝试再次从本地存储库重新提交更改之前我需要做什么的确切信息。 SVN服务器。
我可以回答我的问题的一部分:在再次尝试之前我需要做什么?
在连接超时并返回我的提示后,我必须先执行git svn fetch
才能再次运行git svn dcommit
。我的所有重命名操作都在SVN存储库中找到,但是在shuffle之后留空的目录没有被删除。我不得不使用我的SVN客户端删除它们。我不确定这是git-svn还是因为在dcommit调用期间的HTTPS超时。
我仍然不知道答案:中断dcommit通话是否安全?
答案 0 :(得分:5)
是的,这是安全的。
dcommit
基本上为每次提交 推送到SVN:
如果你在第2步中断(这听起来像是这样),那么当前的提交将在svn服务器上中止。你应该可以毫无顾虑地再次提出。
但是,如果你是偏执狂(你应该像这样在VCS之间进行互操作),你可能想先运行git svn rebase
。这将删除SVN上的任何新提交(包括您尝试推送的提交,如果它实际上在服务器端成功)并在其上重新定位您的本地分支。