Git-Svn:在dcommit之后保留提交时间戳

时间:2010-01-19 18:35:35

标签: git git-svn

我一直在使用Git& Git-Svn现在已经有一年左右了,不知何故只是注意到,在dcommit之后,我的提交历史被保留了,但时间戳却没有。换句话说,每个git提交条目都会被保留,但在Svn中,每个提交都有相同的时间戳(或多或少)。

我一次远程工作一天左右并不常见,在此期间进行任意数量的提交。理想情况下,我希望我的svn日志能够反映我对git进行提交的时间,而不是提交(以及任何其他提交)对{svn} dcommitted的时间。这可能吗?

感谢。

3 个答案:

答案 0 :(得分:8)

当git-svn创建Subversion提交时,它与通常使用Subversion创建提交的操作大致相同。这意味着Subversion时间戳将是git svn dcommit操作运行的时间。

即使您可以更改提交时间戳,这可能不是您想要做的。通常人们会期望Subversion中的提交时间戳遵循按时间顺序递增的顺序,并且在存储库中看到“回溯”时间戳可能会令人困惑。

答案 1 :(得分:1)

如果您在服务器上使用SubGit,则可能。它试图尽可能保留Git提交日期(不幸的是,SVN存储库有一个内部限制,日期应该按时间顺序排列,否则一些二进制搜索算法将无法正常工作)。 我知道没有其他解决方案可以在同一个提交事务中修改svn:date 。 Git-svn使用了libsvn SVN引擎,据我所知,它不允许这样的svn:date修改(只有在创建修订版并且你知道它的编号的事务之后)。

答案 2 :(得分:0)

changing the svn:date property应该绝对可以,但我认为git-svn不会实现这一点。

git-svn-replay does implement this但是它的目的与git-svn截然不同。