У меня есть SVN-репозиторий на сервере, в / var / svn / repository, и несколько рабочих копий на сервере, одна «промежуточная» и одна «живая».Локальные рабочие копии dev отправляются на сервер с помощью 'svn commit' обычным способом.
У меня есть пара простых двухстрочных сценариев на сервере, которые идут в соответствующее местоположение и выполняют команду 'svnобновить », чтобы обновить содержимое до последней версии репозитория.
Я хотел бы сделать пару сопутствующих скриптов 'downstage' и 'downlive', но наиболее близкая вещь, которую я могу найти в svn, требует переменного аргумента для номера ревизии: примеры, которые я нашел, включают такие вещи, как
$ svn merge -r HEAD: nnnn.
или
$ svn merge -c -303 http://svn.example.com/repos/calc/trunk --- обратное слияние r303 в 'integer.c ':
Я пытаюсь придумать простой способ сделать "D'Oh!"функция, то есть отмена последнего обновления SVN, которое может быть вызвано с помощью скрипта: например, ssh theServer downstage для отмены последнего 'svn up' и возврата системы live / staging к предыдущей версии.
Без сомнения, этоМожно получить последнюю версию из SVN, забрать ее и попросить SVN выполнить обратное слияние, но кажется, что это настолько очевидно, что хотеть сделать это, я немного удивлен, что нет более быстрого / простого способа.