2013-08-26 6 views
0

Я хотел бы расширить/заменить в исходном файле свойство, которое я определил. Было бы хорошо, если в файле, я мог бы использовать обычный синтаксис подстановки ключевых слов CVS:svn определяемое пользователем ключевое слово ключевое слово расширение/замена

svn propset svn:keywords "Date Revision" "S:\Source\myfile.js"

svn propset Originator "[email protected]" "S:\Source\myfile.js"

В этом файле:

// This is myfile.js 
// $Date$ 
// $Revision$ 
// $Originator$ 

Урожайность:

// This is myfile.js 
// $Date: 2013-08-25 11:22:33 -0600 (Sun, 25 Aug 2013) $ 
// $Revision: 78 $ 
// $Originator: [email protected] $ 

Я предполагаю, что-то вроде триггер/действие commit или post-commit может справиться с этим (svn gnubie). Усложнение может заключаться в том, что я использую Google Projects. ПРИМЕЧАНИЕ: Я знаю о $ Author $. $ Originator $ - всего лишь пример того, что я пытаюсь сделать.

ТИА

ответ

0

Если вы хотите использовать собственные ключевые слова в Subversion, вы должны использовать SVN 1.8 * - эта версия добавить возможность определить новые ключевые слова в дополнение к старой, «классической» СВН:. Ключевых слов. Но, во всяком случае, эти ключевые слова по-прежнему не могут быть полностью свободными. Определение ключевого слова должно быть построено из ограниченного набора примитивов.

От svn help propset:

Custom keywords can be defined with a format string separated from 
    the keyword name with '='. Valid format substitutions are: 
    %a - The author of the revision given by %r. 
    %b - The basename of the URL of the file. 
    %d - Short format of the date of the revision given by %r. 
    %D - Long format of the date of the revision given by %r. 
    %P - The file's path, relative to the repository root. 
    %r - The number of the revision which last changed the file. 
    %R - The URL to the root of the repository. 
    %u - The URL of the file. 
    %_ - A space (keyword definitions cannot contain a literal space). 
    %% - A literal '%'. 
    %H - Equivalent to %P%_%r%_%d%_%a. 
    %I - Equivalent to %b%_%r%_%d%_%a. 

То есть, вы, вероятно, есть проблемы с построения Originator (в упомянутой форме) - электронная почта пользователь никогда непосредственно хранилось или ссылочного, но некоторые другие ключевые слова могут быть определены и использованы

+0

Спасибо. Я должен был также упомянуть, что я читал о ключевых словах, построенных из ограниченного набора предопределенных макросов. – mnemotronic

+0

.... извините, пойман StackOvfl комментарий тайм-аут редактирования. Как насчет расширения по линиям моего ОП. Моя ошибка для использования Originator $/$ Author $ в качестве примера. Начните снова: предположим свойство «xyzzy» со значением «Вся ваша база принадлежит нам», и я хочу расширить «$ xyzzy $» до «$ xyzzy: вся ваша база принадлежит нам $». Очевидно, что svn не делает этого, используя функциональность по умолчанию. Можно ли это вообще сделать с помощью автоматизации фиксации? Могу ли я сделать это в проектах Google? – mnemotronic

+0

@mnemotronic - короткие ответы: «Нет» и «Нет». Первый ответ может быть «Частично да, если вы можете согласиться с дополнительной фиксацией из? -commit hook и SVN-сервера, разрешить включение и использование пользовательского hook (GC * не имеет * перехватчиков)" –

0

Try просто:

svn propset svn:keywords "Date Revision [email protected]" "S:\Source\myfile.js" 

Не забудьте зафиксировать файл после установки этого свойства!

(Протестировано с черепахой SVN 1.8.11)

Смежные вопросы