2010-01-19 100 views
8

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

对于我来说,在一段时间内远程工作一天左右并不罕见,在此期间进行任何数量的提交。理想情况下,我希望我的svn日志反映我提交git的时间,而不是提交(连同其他任何提交)到svn的时间为dcommitted。那可能吗?

谢谢。

回答

8

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

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

+0

不够公平。在这种情况下,我碰巧一个人在一个项目上工作,但你说得对,在团队情况下它会令人难以置信地混淆。特别是因为每个git提交都通过rebase在以前的任何更改上应用。 – 2010-01-19 20:45:01

1

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