2008-09-23 88 views
6

我的老板让我为他设置一个Subversion服务器,这样他就可以在不同机器上同步分享他的所有文档,并且在没有互联网连接时仍然可以访问它们。在Subversion中保留文件创建日期

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

请注意,添加到SVN资源库的文档集合跨越了几年,他希望跨所有结帐保留这些日期。所以Subversion最后一次更改的日期可能会与他想要的年限相提并论。

回答

3

对不起 - 第一次误解了这个问题。

一个选项可能是使用svnadmin dump和load命令。

  • 使用svnadmin转储转储存储库。
  • 编写一个脚本来浏览输出,将SVN创建日期更新为源文件夹中的文件创建日期。
  • 使用svnadmin加载重新载入更新的转储文件。
  • 使用将文件日期设置为前面提出的“最后提交时间”设置。

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

编辑:是啊,你也许可以从这里婴儿床一些代码(http://www.pumacode.org/projects/vss2svn

0

我最后一次检查没有办法在Subversion中保存原始文件的时间戳。

+0

有没有这方面的更新?到目前为止,SVN是否保留了创建/修改日期? – AxD 2017-06-23 09:32:04

4

使用TortoiseSVN

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

我认为,将工作为你。

+2

他想要的日期不是颠覆日期,而是文件在导入到Subversion存储库之前的日期。我更新了这个问题来反映这一点。 – 2008-09-23 15:40:09

+1

另外,如果不使用乌龟取消注释行:$ HOME/.subversion/config中的'use-commit-times = yes' – 2014-03-19 08:52:26

0

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

1

退房的财产 “的svn:日期”:

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

这需要一个钩的pre-revprop - 预先设置