Получение текущего числа Пересмотра на командной строке через TortoiseSVN

Я пытаюсь записать пакетный файл, в котором мне нужен ГЛАВНЫЙ пересмотр проекта, я продолжаю работать.

Существует ли команда для получения этого от командной строки?

Я нахожусь на Машине Windows XP.

ОТРЕДАКТИРУЙТЕ я закончил тем, что использовал соединение между Shambulator, mizipzor, и ответами Stefan. Я закончил с этим:

for /f "tokens=5" %%i in ('SubWCRev WorkingCopyPath^|find "Last committed at revision"') do set version=%%i 
echo %version%

Спасибо за всех Ваших парней справки

Добавленный этот ответ на список ниже также.

13
задан Nedloh 5 July 2010 в 15:09
поделиться

7 ответов

Это неудобно без возможностей текстовой обработки *nix, но этот пакетный файл делает это:

@echo off
for /f "tokens=2" %%i in ('svn info -rHEAD svn://localhost^|find "Revision"') do @echo %%i

Замените ваш svn-репозиторий на мой svn://localhost.

svn info получает информацию о репозитории, затем передает ее в find, который удаляет все, кроме строки, содержащей номер ревизии. Команда for дает вам второй "токен" в этой строке (первый - Revision:).

EDIT: Как уже было сказано другими, вам потребуется установленная версия Subversion для командной строки и наличие svn.exe в PATH.

27
ответ дан 1 December 2019 в 19:14
поделиться

Если вам нужна эта ревизия в файле, используйте SubWCRev , который устанавливается вместе с TortoiseSVN (или доступен отдельно ).

4
ответ дан 1 December 2019 в 19:14
поделиться

В текущих ответах описано, как вывести текущую ревизию в центральном репозитории svn. Если вас интересует текущая локальная проверенная ревизия, я нашел эту запись в блоге, которая делает нечто похожее на то, что сделано в ответе Shambulator'а:

@echo off
FOR /F "tokens=2 skip=4" %%G IN ('svn info --revision HEAD') DO ^
IF NOT DEFINED REVISION SET REVISION=%%G
echo %REVISION%
1
ответ дан 1 December 2019 в 19:14
поделиться

В итоге я использовал смесь между Shambulator, mizipzor и ответами Стефана. В итоге у меня получилось вот что:

for /f "tokens=5" %%i in ('SubWCRev WorkingCopyPath^|find "Last committed at revision"') do set version=%%i  
echo %version% 

Спасибо за помощь, ребята

3
ответ дан 1 December 2019 в 19:14
поделиться

Другой возможный подход. Если вы проверили хранилище, то в файле .svn\entries номер ревизии указан в четвертой строке. Например,

head -4 entries | tail -1

даст вам номер ревизии.

вероятно, не стоит использовать это, так как формат файла может измениться - это зависит от того, предназначен ли скрипт для личного использования

0
ответ дан 1 December 2019 в 19:14
поделиться

TortoiseSVN не предоставляет никакого интерфейса командной строки, поскольку это просто расширение оболочки.

Однако, если вы установите инструменты командной строки svn, следующая команда предоставит вам подробную информацию об URL-адресе SVN:

svn info [SVN-URL]

для извлечения ревизии вы можете использовать это:

svn info [SVN-URL] | grep Revision | awk '{print $ 2}'

(предполагается, что у вас установлены некоторые инструменты UNIX, например cygwin)

1
ответ дан 1 December 2019 в 19:14
поделиться

Я не думаю, что есть способ сделать это прямо из командной строки с помощью tortoisesvn. Вы можете установить версию для командной строки из Collabnet , а затем использовать такую ​​команду:

c:\>svn ls -v svn://server/Source
67336 user1                Jul 05 13:00 ./
67336 user1                Jul 05 13:00 Source/
0
ответ дан 1 December 2019 в 19:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: