2013-09-11 4 views
3

Я пытаюсь идентифицировать локальные (неавтоматизированные сборки) сборки SVN-проектов с внешними (и внешними) по их URL-адресу, ревизии и состоянию грязных/чистых. Общий результат будет просто чистым или что-то где-то грязным, мне все равно, что грязно. Является ли такая программа/скрипт уже удобной? Или я должен быть менее ленивым и написать его сам ... (я был достаточно неясен, чтобы немного поискать). Короче говоря, причудливая версия svnversion, которая знает внешние.Выход svnversion, но рекурсивный над внешними

Я пробовал svnversion. Вот отредактированная копия из моей оболочки Cygwin.

[email protected] /svn/myProject.clean 
$ svnversion 
606 

[email protected] /svn/myProject.clean 
$ svn propget svn:externals 
^/../[email protected] libs/canopen 

[email protected] /svn/myProject.clean 
$ echo blue >> libs/canopen/wrapper/CANOpenGuard.c 

[email protected] /svn/myProject.clean 
$ svnversion 
606 

[email protected] /svn/myProject.clean 
$ echo blue >> src/App_Main.c 

[email protected] /svn/myProject.clean 
$ svnversion 
606M 

[email protected] /svn/myProject.clean 
$ svnversion --version 
svnversion, version 1.8.3 (r1516576) 
    compiled Aug 30 2013, 11:03:40 on i686-pc-cygwin 

Copyright (C) 2013 The Apache Software Foundation. 
This software consists of contributions made by many people; 
see the NOTICE file for more information. 
Subversion is open source software, see http://subversion.apache.org/ 

[email protected] /svn/myProject.clean 
$ 

ответ

1

Вы пытаетесь прочитать svnversion -h и тест WC с внешнеположенности? Я вижу - нет, потому что наличие или отсутствие exernals внутри туалета делает ничего не меняют в результате

Идентификатор версии будет один номер, если рабочая копия одна ревизия, неизмененной, не включается и с URL, который соответствует аргументу TRAIL_URL. Если рабочая копия необычнее идентификатор версии будет более сложным

Для чистой проверки репо-URL с внешнеположенности внутри

>dir /B 
core_mod.txt 
lib 

(ОМТ является каталог-внешние в иностранной репо)

svnversion для корня WC генерирует, как и следовало ожидать

>svnversion 
7 

В случае каких-либо изменений внутри туалета, которые разрушат «ванильное» состояние, версия идентичность будет более сложной, чем чистый один номер:

A[:B[MSP]]

+0

Ленивый вопрос получает ответ от ленивого барсука. :] Но это означает как ответ? Да, svnversion делает то, что я хочу для WC без внешних, но мне нужна аналогичная функциональность против внешних. Даже удобный индикатор E будет полезен. (что на самом деле просто означает, что я должен расширить svnversion с помощью функции, которую я хочу) – altendky

+0

@altendky - **, которая ** «аналогичная функциональность» ** точно ** ?! 'svnversion' output * only * version –

+0

svnversion всегда выводит версию, но также выводит индикаторы, когда рабочая копия не чиста (а не _only_ версия). Я бы хотел, чтобы индикатор, который был бы вызван грязной/отсутствующей/неправильной ревизией/смешанной ревизией внешней. – altendky