Svn 在Subversion中保留文件创建日期

Svn 在Subversion中保留文件创建日期,svn,tortoisesvn,Svn,Tortoisesvn,我的老板让我为他设置一个服务器,这样他就可以在不同的机器上同步共享他的所有文档,并且在没有互联网连接的情况下仍然能够访问这些文档 我已经为他准备好了,但现在他要求保留“创建日期”文件属性。我解释说,因为他下载了所有的文件,这是他们的创建日期,但他坚持认为我找到了一种方法来保存这些文件,因为这会影响他使用的桌面搜索代理。有没有办法通过Subversion将此属性设置为保留,或者我是否必须编写脚本来获取每个文件的日期,并在每次初始签出后让他运行“touch” 请注意,添加到SVN存储库的文档集可以追

我的老板让我为他设置一个服务器,这样他就可以在不同的机器上同步共享他的所有文档,并且在没有互联网连接的情况下仍然能够访问这些文档

我已经为他准备好了,但现在他要求保留“创建日期”文件属性。我解释说,因为他下载了所有的文件,这是他们的创建日期,但他坚持认为我找到了一种方法来保存这些文件,因为这会影响他使用的桌面搜索代理。有没有办法通过Subversion将此属性设置为保留,或者我是否必须编写脚本来获取每个文件的日期,并在每次初始签出后让他运行“touch”


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

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

使用TortoiseSVN

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

我认为这对您很有用。

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

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

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

  • 使用svnadmin Dump转储存储库
  • 编写一个脚本来遍历输出,将SVN创建日期更新为源文件夹上的文件创建日期
  • 使用svnadmin Load将更新的转储文件加载回
  • 使用将文件日期设置为我先前建议的“上次提交时间”设置
我不确定这是否可能,但我想这是可能的。我似乎记得当我从SourceSafe转移到Subversion时,有一个脚本做过类似的事情——我会看看是否能找到它

编辑:是的,您可以从这里抄袭一些代码()

查看属性“svn:date”:


这需要提前设置钩子pre-revprop更改。

他想要的日期不是subversion日期,而是文件导入subversion存储库之前的日期。我更新了问题以反映这一点。或者,如果不使用Tortoise,请取消注释$HOME/.subversion/config中的行:“使用commit times=yes”。这非常有创意,谢谢您的回答。我老板晚上走后,我今晚就试试这个。但这需要一段时间来运行,因为他有11个文件出于好奇:它起作用了吗?11次演出花了多长时间?有趣的是,我有一个老板有一个几乎准确的要求。幸运吗?请注意,git svn或hgsubversion都不会在导入时恢复文件的创建日期。这方面是否有任何更新?SVN现在是否保留创建/修改日期?
svn propset svn:date --revprop -r HEAD "2007-04-22"