2015-08-28 3 views
0

Есть ли уникальный идентификатор для каждого файла с версией в репозитории SVN? Если да, можно ли его прочитать с помощью команды svn? Если нет, возможно ли генерировать один на каждый вызов svn add?SVN - Автоматическое создание уникального идентификатора для каждого файла с версией

Например, если у меня есть приложение-генератор GUID, могу ли я вызвать его на каждом svn add и каким-то образом связать его вывод (новый GUID) с добавленным файлом? Хранить его локально недостаточно: уникальный идентификатор должен храниться на сервере SVN, потому что мы должны иметь возможность его загружать в течение каждого svn checkout и svn 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-свойства, команду propset, команду -F и используйте ее. В результате вы получите версии с течением времени как дополнительный атрибут файла, который вы можете прочитать (propget) и написать (propset | propedit) независимо от проверки | update

+0

Спасибо. Я попробую 'propset'. Другие варианты слишком длинны, мне нужно что-то короткое, как GUID. Короче говоря, мне приходится записывать использование некоторых версий файлов в реляционной БД, и я хотел бы идентифицировать файл, к которому относится запись, с помощью идентификатора, связанного с SVN. – kol