SVN提交旧日期/时间

Sum*_*uma 11 svn timestamp commit

有没有办法如何使用旧的时间/日期提交到SVN存储库或如何编辑提交后的时间/日期?

在我开始使用SVN之前,我有一些非常古老的存档源,现在我想将它们放入SVN,如果可能的话保存它们的原始日期,以便SVN历史记录与编辑文件的实际日期相匹配.

操作SVN服务器时间是一个显而易见的选择,但它不能在这里使用,因为SVN服务器不受我的控制.

Cra*_*een 16

日期和时间位于"特殊"修订属性中svn:date.您可以这样修改它:

svn propedit svn:date --revprop -r 12345
Run Code Online (Sandbox Code Playgroud)

要么:

svn propset svn:date --revprop -r 12345 2009-02-12T00:44:04.921324Z
Run Code Online (Sandbox Code Playgroud)

修订版(例如12345上文)也可能HEAD是最新修订版.

日期以ISO 8601格式指定.

您将需要存储库以pre-revprop-change设置适当的挂钩(在hook存储库的目录中)以允许svn:date进行修改.随SVN存储库提供的模板应该会有所帮助.


Sum*_*uma 1

我最终所做的是:

  • 在我的工作站上安装 VisualSVN 服务器
  • 创建一个新的“本地”SVN 存储库
  • 逐一获取档案:
    • 在工作副本中删除除 .svn 文件之外的所有内容,以确保删除的文件不会遗留下来
    • 将存档解压到工作副本中
    • 将系统日期更改为存档日期
    • 根据需要添加和删除并提交到本地存储库
  • 完成后,使用svnadmin dump存储库
  • 在主 SVN 服务器上使用以下命令加载转储svnadmin load

对我来说,上述步骤似乎比安装pre-revprop-change挂钩更容易。(我们目前的版本仅允许编辑日志消息。)

注意:在加载转储文件之前,也可以编辑转储文件中的日期,而不是更改系统日期。