在Subversion中保留文件创建日期

时间:2008-09-23 15:25:36

标签: svn tortoisesvn

我的老板让我设置一个Subversion服务器供他使用,以便他可以在不同的机器上同步共享他的所有文件,并且在没有互联网连接的情况下仍然可以访问它们。

我为他做了这件事,但现在他要求保留'创建日期'文件属性。我解释说,因为他下载了所有创建日期的文件,但他坚持要找到一种方法来保留它,因为它影响了他使用的桌面搜索代理。有没有办法设置这个属性通过Subversion保存,或者我是否必须编写一个脚本来获取每个文件的日期并让他在每次初始结账后运行'touch'?

请注意,添加到SVN存储库的文档集可以追溯到几年,他希望在所有签出中保留这些日期。因此,Subversion最后一次更改的日期可能会远离他想要的数年。

5 个答案:

答案 0 :(得分:5)

使用TortoiseSVN

  • 右键单击并选择TortoiseSVN - >设置
  • 选择将文件日期设置为“上次提交时间”

我认为这对你有用。

答案 1 :(得分:3)

抱歉 - 第一次误解了这个问题。

一个选项可能是使用svnadmin转储和加载命令。

  • 使用svnadmin dump转储存储库。
  • 编写脚本以通过输出进行拖网,将SVN创建日期更新为源文件夹上的文件创建日期。
  • 使用svnadmin load加载更新的转储文件。
  • 使用将文件日期设置为我之前建议的“上次提交时间”设置。

我不确定这是可能的,但我认为它会是我的头脑。我似乎记得一个脚本,当我从SourceSafe转移到Subversion时做了类似的事情 - 我会看看是否能找到它。

编辑:是的,你可以从这里获得一些代码(http://www.pumacode.org/projects/vss2svn

答案 2 :(得分:1)

查看属性“svn:date”:

svn propset svn:date --revprop -r HEAD "2007-04-22"

这需要提前设置hook pre-revprop-change

答案 3 :(得分:0)

我上次检查时,Subversion无法保留原始文件的时间戳。

答案 4 :(得分:0)

您可以使用Subversion文件属性来存储修改日期,但是您必须编写自己的脚本以在签入时更新属性并在签出时设置修改日期。