2013-02-25 3 views
3

Я всегда использую команду svn log, например. svn log -rXXXX:YYYY, чтобы получить сообщения фиксации между двумя тегами в моем репозитории SVN.используя svn-журнал, чтобы извлекать сообщения фиксации между тегами, когда изменения перекрываются по ветвям

Проблема, которую я иногда нахожу, заключается в том, что если я делаю большой выпуск, включающий выпуск тега из ветки, которая никогда не была выпущена в эту среду, прежде чем у меня возникнут проблемы с извлечением точного списка сообщений о совершении.

Например, я хочу высвободить разницу между 01.02.03 (r4152) и 01.03.02 (r4272), теперь нормальный svn log -r4152:4272 может выглядеть как очевидный ответ здесь, но ветвь 02.03 никогда ранее не выпускалась (к этой среде), поэтому я отмечаю, что 01.03.01 имеет редакцию , которая предписывает тег 01.02.03.

Так что я выпускаю код из ветки 01.03 с первого раза, поэтому мне нужно иметь возможность извлекать сообщения о ревизии для всего, что подходит для этой ветви, а не только для числовых различий версий.

Есть ли способ сделать это с помощью команды svn log?

+0

могли бы вы найти решение ? – caesar

ответ

0

Я не уверен, что я на 100% понимаю ваш запрос, однако ниже есть что подумать, если вы еще этого не сделали.

Ниже приведена команда log, на которую вы ссылаетесь, в разных местах, чтобы попытаться получить то, что вы желаете. Это, конечно, зависит от вашей структуры каталога SVN, поэтому она может или не может быть в зависимости от того, как у вас установлена ​​ваша установка.

Например, если ваш SVN репо выглядит следующим образом:

/someproject 
    /devbranch 
    /01.02.03release 
    /01.03.02release 
    /somethingneverused 

Если вы затем карта /someproject в локальную папку, то вы должны быть в состоянии идти в эту папку через командную строку и запустить svn log -r4152:4272 команды этот каталог и его подкаталоги. В журнале отображаются только те элементы, которые находятся на уровне или ниже.

Если этого не достаточно, чтобы дать вам то, что вы хотите, то вы можете быть в состоянии использовать определенную логику, чтобы вытащить все журналы из /someproject затем, запустив скрипт для удаления журналов из /someproject/somethingneverused

Смежные вопросы