Применить subversion auto props для определенного файла при каждом коммите - PullRequest
2 голосов
/ 08 февраля 2012

Можно ли применять auto props subversion для каждого коммита определенного файла (даже если он не был изменен)?

Причина, по которой я спрашиваю, состоит в том, что я работаю над приложением, которое содержит строку версии в одном исходном файле (фактически, константу), которую я хотел бы обновлять при каждом коммите, так что ревизия и дата автоматически обновляется.

Этот файл не изменяется большую часть времени, так как он содержит только информацию о версии! Я прошу способ применить ключевые слова SVN к этому определенному файлу на каждый коммит.

Спасибо за ответы, но поиск SE и чтение руководства мне пока не помогли. Решение, которое я использую в настоящее время, - это пользовательский сценарий фиксации, который содержится в репозитории, и программисты должны использовать его для фиксации (он просто переносит фиксацию SVN и изменяет один бит в комментарии в обновляемом файле). Есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Вот специальная документация по ключевым словам .

Давайте представим, что у нас уже есть файл a в управлении версиями:

test zacharyyoung$ ls -l
-rw-r--r--   1 zacharyyoung  staff    64 Feb  7 20:39 a

Мы собираемся добавитьключевые слова $Rev$ и $Date$ к файлу

test zacharyyoung$ echo '$Date$' > test/a
test zacharyyoung$ echo '$Rev$' >> test/a
test zacharyyoung$ cat test/a
$Date$
$Rev$

Сообщите SVN, какие ключевые слова нужно найти и заменить, и зафиксируйте:

test zacharyyoung$ svn propset svn:keywords "Date Rev" a
property 'svn:keywords' set on 'a'
test zacharyyoung$ svn ci a -m "1. Added keywords."
Sending        a

Committed revision 2.

После aзафиксирован, мы проверяем его содержимое:

test zacharyyoung$ cat a
$Date: 2012-02-07 20:39:42 -0800 (Tue, 07 Feb 2012) $
$Rev: 2 $

Теперь мы добавим еще одну строку к a, подтвердим и снова проверим его содержимое:

test zacharyyoung$ echo Another line >> a
test zacharyyoung$ svn ci a -m "1. Added another line."
Sending        a
Transmitting file data .
Committed revision 3.
test zacharyyoung$ cat a
$Date: 2012-02-07 20:46:11 -0800 (Tue, 07 Feb 2012) $
$Rev: 3 $
Another line
1 голос
/ 08 февраля 2012

Читайте или ищите здесь о SVN Ключевые слова

...