如何在Subversion上保留原始文件[commit]时间戳?

sor*_*rin 63 svn datetime timestamp

我想确定如果我从一台机器上提交Subversion中的内容,并且我在另一台机器上签出,我将获得相同的datetime和timestamp值.

目前,我观察到文件修改的日期时间是从我进行同步而不是原始值的那一刻开始的.

对我来说,知道文件何时同步没有任何意义 - 我只想查看最后的提交时间.

此问题与时区无关.

sil*_*ilk 61

您可以将其设置为.subversion/config:

[miscellany]
use-commit-times = yes
Run Code Online (Sandbox Code Playgroud)

虽然如果我们谈论源文件你会有奇怪的副作用.

例如,您构建软件并执行此操作svn update.现在,更新文件的时间戳早于构建结果文件的时间戳,即使某些源文件发生更改,也不会重建它.这个设置要非常小心.

  • 为了节省结账时间,可以使用以下命令:`svn checkout --config-option config:miscellany:use-commit-times = yes` (13认同)
  • 这将签出副本的修改时间设置为等于最后一次提交到存储库的更改时间.这与保存文件最初导入存储库时的修改日期不同*. (11认同)
  • 请注意,`use-commit-times = yes`仍然无法帮助修改目录.这些将被设置为"now". (6认同)
  • 我认为这正是OP的意思 - 正如问题所述 - "我只是想看到最后的提交时间." (3认同)

nic*_*ckf 29

如果您使用的是TortoiseSVN,可以选择.TortoiseSVN - >设置 - >常规 - >"将文件日期设置为'上次提交时间'".

右键单击Tortoise设置快捷方式

  • 这不是原始时间戳. (7认同)

oef*_*efe 14

Subversion不保留文件的原始时间戳.

如果您绝对需要保留时间戳,则必须自己完成.例如,您可以将原始时间戳存储为Subversion属性.

  • Againg,no-use-commit-times = yes是文件提交的时间,而不是原始时间戳. (8认同)
  • 注意:这个问题在澄清/编辑之前忠实地回答了原始问题的标题(在评论时正在等待同行评审).@oefe是正确的,Subversion不存储原始*修改*时间戳,只存储*commit*时间戳. (2认同)