Как мне сказать что-то вроде HEAD-1 в SVN? - PullRequest
11 голосов
/ 22 февраля 2012

Я хочу сослаться на ревизию непосредственно перед заголовком или n-ревизиями перед заголовком или чем-то в этом роде.

Ответы [ 4 ]

8 голосов
/ 22 февраля 2012

В Subversion есть несколько встроенных ключевых слов ревизии, которые могут решить большинство ваших проблем:

  • BASE: это ревизия, используемая в вашем текущем рабочем каталоге.
  • HEAD: это текущая вершина ветви.
  • COMMITTED: Это последняя подтвержденная ревизия файла перед BASE.
  • PREV: это последняя измененная версия с BASE. Это в значительной степени совершено-1.

Для всего остального вам нужно будет выполнить расчет, как показал synthesizeerpatel .

5 голосов
/ 22 февраля 2012

Короче говоря - вы не можете без запуска команды. С помощью хуков регистрации вы можете получить доступ к «версии, предшествующей этой», в противном случае вам нужно будет динамически запрашивать ее. Вот пример, который заполняет переменную оболочки ревизией текущей головы, минус один.

HEAD_MINUS_ONE=$(svn info http://svn/path/to/head | grep ^Revision | awk '{print $2-1}')
0 голосов
/ 04 января 2019

@ Дэвид У. предоставил часть ответа, но для таких ленивых, как я. Просто используйте

svn up -r PREV

0 голосов
/ 22 февраля 2012

Mercurial + hgsubversion + hg help revsets

...