Как я могу найти копию удаленной ветки с учетом ревизии - PullRequest
0 голосов
/ 26 марта 2019

У меня есть ветвь: http://myrepo/Branch1

В этой ветке 10 ревизий: 1-10.

Затем ветка копируется в следующую папку: http://myrepo/Branch2

После этого Branch1 удаляется.

В диалоговом окне «Показать журнал» в Branch2 легко увидеть все ревизии Branch1 (убедившись, что «Стоп при копировании / переименовании» снят).

Однако, если мне дают ревизию, такую ​​как 5, каков наилучший способ найти копию удаленной ветви?(В этом случае Branch2).

Ответы [ 2 ]

2 голосов
/ 28 марта 2019

Похоже, вы спрашиваете в основном о том, что разработчики Subversion назвали бы «поиском в истории»: с учетом определенного пути и ревизии найдите копии, сделанные на этом пути в более ранних ревизиях.Одно из практических применений этой функциональности: «Эй, я знаю, что в версии 1412 файла ^ / trunk / lib / foo.c была серьезная ошибка - какая из различных веток и тегов выпуска нашего программного обеспечения должна получить исправление для этогоbug? "

С точки зрения базовой технологии это сложно, потому что Subversion только внутренне отслеживает историю в обратном направлении - для каждого" узла "он знает своих предков.Но преемники не отслеживаются.

Ваша ссылка на "снятие отметки" с опции "Остановить при копировании / переименовании" приводит меня к мысли, что вы используете графический интерфейс Subversion, такой как TortoiseSVN,Я не очень хорошо знаком с этим пользовательским интерфейсом, но у меня есть эта (древняя) память, что он поддерживает локальный кеш истории репозитория.Возможно, что такой кэш мог бы лучше отвечать на вопросы «прямого поиска в истории», чем основные API Subversion и клиент командной строки, но, конечно, разработчики TortoiseSVN должны были бы принять сознательное решение, чтобы раскрыть эту функциональность.

Если не считать такой вещи, вам нужно будет найти или построить инструмент, который, скажем, выводит svn log -vq в корне хранилища, отслеживает все копии назад во времени, создавая своего рода историческое дерево для каждогопуть, а затем позволяет вам найти заданную точку на дереве и идти вперед по времени ревизии по разным вилкам и тупикам, сообщая о том, что оно находит.

К сожалению, я не знаю такого инструментария.

0 голосов
/ 26 марта 2019

Вы должны быть в состоянии использовать

svn co http://myrepo/Branch1@5

См. Также Как «восстановить» удаленную папку в Subversion / TortoiseSVN? или Требуется восстановить удаленную ветку в Subversion .

...