Увеличение номера версии тега SVN из командной строки - PullRequest
2 голосов
/ 12 октября 2011

Ну, я хотел знать, смогу ли я получить последний тег из Subversion, увеличить его и создать новый тег в одной команде?В настоящее время я получаю последний тег, подобный этому:

svn ls http://svn/path/to/tags | tail -n 1

, который дает мне что-то вроде этого:

1.2.34/

, тогда я создам новый тег с номером версии 1.2.35 какЯ увеличил номер версии следующим образом:

svn copy http://svn/path/to/trunk http://svn/path/to/tags/1.2.35

отсюда я просто переключаю производственный код на последний тег.

Я знаю, что мог бы написать скрипт длязаботиться об этом, но я хотел знать, смогу ли я сделать это только из командной строки с помощью одной команды (Цепочка команд).Я застрял в том, как мне увеличить имя тега до следующего номера версии (например, с 1.2.34 до 1.2.35)?Диапазоны номеров версий должны соответствовать x.[0-99].[0-99].Любые идеи, помощь будет отличной.

Похожие:

Ответы [ 2 ]

2 голосов
/ 12 октября 2011

«Один вкладыш» для получения следующего тега будет выглядеть примерно так:

svn ls http://svn/path/to/tags | \
  sort -t '.' -k 1,1n -k 2,2n -k 3,3n | \
  tail -1|sed 's:/$::' | \
  awk 'BEGIN{FS="."}{print $1 "." $2 "." $3+1}'

... но вам, вероятно, следует просто написать скрипт, чтобы вы могли его на самом деле протестировать.(И да, я знаю, что sort, tail, sed и awk, возможно, все могут свалиться под собственным весом в немного perl, но вам понадобятся все эти "части" где-то там.)

1 голос
/ 12 октября 2011

Что-то вроде

svn copy http://svn/path/to/trunk http://svn/path/to/tags/`svn ls http://svn/path/to/tags | some-script-for-getting number`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...