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

8
我已经使用Git和Git-Svn一年左右了,但我突然注意到,在执行“dcommit”后,我的提交历史记录得到保留,但时间戳并未被保留。换句话说,每个Git提交条目都得到保留,但在Svn中,每个提交具有相同的时间戳(或多或少)。
我经常需要远程工作一天或更长时间,在这段时间内进行任意数量的提交。理想情况下,我希望我的svn日志反映我进行那些git提交的时间,而不是提交(以及其他任何提交)被“dcommitted”到svn的时间。这是否可能?
谢谢。
3个回答

8
当git-svn创建一个Subversion提交时,它做的基本上是你通常用Subversion创建提交所做的事情。这意味着Subversion时间戳将是运行git svn dcommit操作的时间。
即使你可以更改提交时间戳,这也可能不是你想要做的。通常人们希望在Subversion中提交的时间戳遵循一个按时间顺序递增的序列,如果在存储库中看到“回溯”的时间戳,可能会令人困惑。

好的。在这种情况下,我碰巧是在一个项目上单独工作,但你说得对,在团队合作中这将非常令人困惑。特别是因为每个Git提交都会通过变基应用于之前的任何更改之上。 - Rob Wilkerson

1

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接