Командная строка журнала SVN не отображает единую объединенную ревизию (svn log -r)

Огромное слияние было выполнено через TortoiseSVN, версия Subversion - 1.6.

Чтение о том, как SubVersion (до версии 1.5) управляет ревизией:

Subversion 1.5 и более поздних версий ведет учет слияний с использованием свойств. Это позволяет нам получить более подробную историю объединенных изменений. Например, если вы разрабатываете новую функцию в ветке, а затем объединяете эту ветку обратно в магистраль, разработка функции будет отображаться в журнале магистрали как одна фиксация для слияния, даже если во время разработки ветки могло быть 1000 фиксаций. .

Теперь пара вопросов:

Если я захожу в историю TortoiseSVN объединенной ветки, я не вижу объединенные версии, если я не отмечу флаг «включить объединенные версии», в этом случае они отображаются серым цветом, это справедливо !

введите описание изображения здесь

Сообщение о слиянии содержит несколько ошибок:

Correcting Shell script that identifies DB objects which have been dropped  from SVN.
Trying to figure out why the shell variable is not getting used properly in
"svn log -qvr..." command

и

........
(and even) More syntax fixes .. testing call to shell


........
(and even) More syntax fixes .. testing call to shell


........
(and even) More syntax fixes .. testing call to shell

o

Вместо этого в Windows сообщение не отображается со следующей ошибкой:

svn: E720008: Write error: Not enough storage is available to process this command.

Это не может быть серьезной проблемой, поэтому давайте не будем на этом останавливаться ..

Вместо этого давайте сосредоточимся на командной строке, когда я запускаю команду svn log, я получаю те же проблемы в сообщении о фиксации:

Я могу просмотреть всю историю (включая объединенную ревизию) с параметром -g, опять же достаточно честно!

ГЛАВНАЯ проблема заключается в том, что я больше не могу получить конкретную объединенную ревизию с помощью команды SVN LOG -r

Например, вы можете видеть ревизию 69524, показанную TortoiseSVN серым цветом (с отмеченным включением объединенных ревизий)

но svn log -r 69524 возвращает пустое сообщение, и это произошло для всех тысяч объединенных ревизий:

введите описание изображения здесь

Это нормально?

Оцените способ, которым SVN теперь управляет слиянием, но возможно ли, что я больше не могу получить конкретную информацию о объединенной ревизии с помощью svn log -r?

Это потому, что во время слияния что-то пошло не так, или это нормальное поведение новой версии Subversion?

Честно говоря, для меня это выглядит очень странно! Пожалуйста, помогите мне понять, это меня убивает!

Спасибо

РАЗРЕШЕНО!

Запуск команд из корня веток устранил проблему, честно говоря, я ожидал, что объединенные ревизии будут перечислены в включенной в него причине ветвей выпуска, даже если они сделаны в другом дереве строк кода (имитируя различное поведение между git squash / rebase / merge + совершить)


person ivoruJavaBoy    schedule 26.09.2017    source источник
comment
Ваши клиенты и сервер SVN устарели на 6-7 лет. Используйте новейшие клиентские и серверные инструменты SVN. Текущая версия - SVN 1.9.   -  person bahrep    schedule 26.09.2017
comment
Полностью согласен, и это то, что мы будем делать в ближайшее время, даже если это не зависит от меня, но тем временем, это нормальное поведение или что-то пошло не так?   -  person ivoruJavaBoy    schedule 26.09.2017
comment
сообщение слияния - это сообщение журнала фиксации для операции слияния, верно? Какие ошибки вы там видите? Когда именно вы получите E720008: Write error:?   -  person bahrep    schedule 26.09.2017
comment
Привет, Behrep, извините, для меня это не очень важно в данный момент, похоже, что это своего рода ошибка буфера. Для меня важно понять, могу ли я получить информацию об одной объединенной версии (одна из тех, что черепаха показывает мне серым) с помощью svn log -r (given-rev) --- ›это не работает как вы можете видеть, он возвращает пустое сообщение, и я не понимаю, нормально ли это, я имею в виду, я не могу поверить, что svn дает вам возможность получить всю ревизию, включая объединенную с параметром -g, но это не дать вам способ получить информацию о единственном слиянии rev.   -  person ivoruJavaBoy    schedule 26.09.2017
comment
Проверьте мой ответ. Надеюсь, я правильно понял ваш случай. :)   -  person bahrep    schedule 26.09.2017


Ответы (1)


Мне кажется, вам следует запустить svn log --verbose --revision 60524 https://svn.example.com/repos/ или svn log --verbose --revision 60524 https://svn.example.com/repos/branches или указать другую ветку, на которую действительно повлиял r60524.

Я могу неправильно понять эту проблему, но похоже, что вы указали неверный URL. Версия r60524 не коснулась ветки /Release, поэтому команда ничего не показывает. Поэтому я предлагаю запустить команду против корня вашего репозитория и добавить опцию --verbose. Вы увидите, какие пути / ветки / все, что затронуло r60525.

Обратите внимание, что пути в Apache Subversion чувствительны к регистру. Убедитесь, что вы ввели правильный URL-адрес репозитория.

person bahrep    schedule 26.09.2017