Похоже, вы спрашиваете в основном о том, что разработчики Subversion назвали бы «поиском в истории»: с учетом определенного пути и ревизии найдите копии, сделанные на этом пути в более ранних ревизиях.Одно из практических применений этой функциональности: «Эй, я знаю, что в версии 1412 файла ^ / trunk / lib / foo.c была серьезная ошибка - какая из различных веток и тегов выпуска нашего программного обеспечения должна получить исправление для этогоbug? "
С точки зрения базовой технологии это сложно, потому что Subversion только внутренне отслеживает историю в обратном направлении - для каждого" узла "он знает своих предков.Но преемники не отслеживаются.
Ваша ссылка на "снятие отметки" с опции "Остановить при копировании / переименовании" приводит меня к мысли, что вы используете графический интерфейс Subversion, такой как TortoiseSVN,Я не очень хорошо знаком с этим пользовательским интерфейсом, но у меня есть эта (древняя) память, что он поддерживает локальный кеш истории репозитория.Возможно, что такой кэш мог бы лучше отвечать на вопросы «прямого поиска в истории», чем основные API Subversion и клиент командной строки, но, конечно, разработчики TortoiseSVN должны были бы принять сознательное решение, чтобы раскрыть эту функциональность.
Если не считать такой вещи, вам нужно будет найти или построить инструмент, который, скажем, выводит svn log -vq
в корне хранилища, отслеживает все копии назад во времени, создавая своего рода историческое дерево для каждогопуть, а затем позволяет вам найти заданную точку на дереве и идти вперед по времени ревизии по разным вилкам и тупикам, сообщая о том, что оно находит.
К сожалению, я не знаю такого инструментария.