В Subversion я хочу вернуться к ревизии, а затем пройти каждую ревизию, чтобы увидеть, где она сломалась - PullRequest
3 голосов
/ 02 июня 2011

Мой проект сломался где-то за последние 25 ревизий.Мне нужно изолировать файл, вызывающий проблему, и я хотел бы найти ревизию, в которой была введена проблема.

Я думал об использовании svn update -r 404, а затем о каждом после этого 405,406 ... etc

Есть ли лучший способ?

Ответы [ 3 ]

4 голосов
/ 02 июня 2011

Я удивлен, что люди не упомянули svn-bisect

$ svn-bisect --min 404 --max 429 start
$ svn-bisect bad
$ svn-bisect bad
$ svn-bisect good
[etc etc]
$ svn-bisect reset
1 голос
/ 02 июня 2011

svn-bisect также позволяет автоматизировать поиск, если вы можете указать команду для искомой ошибки:

$ svn-bisect run 'command [arg ...]'

Чтобы ускорить поиск, я бы порекомендовал клонировать svn-репозиторий в локальный git или hg-репозиторий и запустить его оттуда. Оба поддерживают автоматизацию деления пополам:

$ hg bisect -c 'cmd ...'

или

$ git bisect run '...'

0 голосов
/ 02 июня 2011

Я бы предложил использовать мост git-svn (git отлично подходит для быстрого локального ветвления) и использовать git bisect, чтобы быстро найти ревизию, которая его сломала.

...