2015-08-28 67 views
0

SVN存储库中每个版本化文件是否都有唯一标识符?如果是,是否可以使用svn命令读取?如果不是,是否可以在每个svn add呼叫中生成一个?SVN - 为每个版本化文件自动生成唯一标识

例如,如果我有一个GUID生成器应用程序,我可以在每个svn add上调用它,并以某种方式将它的输出(新GUID)紧紧地绑定到添加的文件中?仅在本地存储是不够的:唯一ID必须存储在SVN服务器上,因为我们必须能够在每个svn checkoutsvn update期间下载它。

回答

1

SVN存储库中每个版本化文件都有唯一标识符吗?

不,一般意义上的。你为什么想拥有它?理论上,文件的URL可以是这样的UUID或URL @ PEG,如果你必须有内容的ID,而不仅仅是位置

如果是,是否可以使用一些svn命令读取?

svn info URL/OF/FILE可以帮助

>svn info https://subversion.assembla.com/svn/proofsheets.natasha/readme.textile 
Path: readme.textile 
Name: readme.textile 
URL: https://subversion.assembla.com/svn/proofsheets.natasha/readme.textile 
Relative URL: ^/readme.textile 
Repository Root: https://subversion.assembla.com/svn/proofsheets.natasha 
Repository UUID: 3f205b2a-3c6b-4d59-9930-a6250b31609f 
Revision: 5 
Node Kind: file 
Last Changed Author: lazybadger 
Last Changed Rev: 2 
Last Changed Date: 2013-11-28 00:13:01 +0600 (Чт, 28 ноя 2013) 

您可以使用URL(全球唯一),Relative URL(回购范围内唯一的),Repository UUID+Relative URL(全球唯一)

如果我有一个GUID生成器应用程序,我可以给每个svn添加电话

您可以添加后紧紧地把它之前提交

莫名其妙地结合它的输出(新的GUID)来添加的文件?

是的。阅读(自定义)SVN-properies,propset命令,-F命令选项并使用它。因此,您将获得一些随时间变化的作为文件的附加属性,您可以从checkout更新

+0

独立读取(propget)和写入(propset | propedit)谢谢。我会尝试'propset'。其他选项太长,我需要一些简短的东西,比如GUID。长话短说,我必须在关系数据库中记录一些版本化文件的使用情况,并且我想通过与SVN绑定的ID来标识记录引用的文件。 – kol