2016-12-13 11 views
1

Установка: Файл foo/bar в моем репозитории скопирован (с изменениями) на foo/baz, а оригинал был удален в r123. Эта копия была выполнена вручную, а не с svn cp. С тех пор прошло много изменений.Как сгенерировать/аннулировать удаленный файл?

Теперь я хочу посмотреть, откуда взялись некоторые из строк в foo/baz. После отслеживания обратно foo/bar я попробовать эту команду:

$ svn annotate foo/bar -r 122 
svn: warning: W155010: The node '/path/to/checkout/foo/bar' was not found. 
svn: E200009: Could not perform blame on all targets because some targets don't exist 

... но она не работает, потому что файл не существует больше!

Вопрос: Как удалить svn annotate файл, который удален?

ответ

2

ответ Ричарда это нормально, но вам не нужно знать полный URL СВН - ^ персонаж всегда расширяет проецировать URL:

svn annotate ^/<branch path>/<file path>@rev 

например

svn annotate ^/trunk/[email protected] 
+0

В отличие от моего подхода, для этого требуется знание пути от корня репозитория к текущему каталогу. Как и в моем ответе, один из способов получить это - использовать 'svn info' и искать строку« Relative URL: ». –

1

После определения последней версии, в которой находился файл, вам необходимо использовать другую форму команды svn annotate и посмотреть историю на сервере SVN. Во-первых, запустить svn info, чтобы получить URL сервера для текущего каталога:

$ svn info 
[...] 
URL: https://[email protected]/svn/project/subproject/trunk 
Relative URL: ^/subproject/trunk 
[...] 

Удаленный пересмотр может быть назван как url/[email protected], следующим образом:

$ svn annotate https://[email protected]/svn/project/subproject/trunk/foo/[email protected] 

или

$ svn annotate ^/subproject/trunk/foo/[email protected] 

Редактировать : Благодаря Patryk Obara за то, что вместо этого можно использовать относительный URL.

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

  • Нет связанных вопросов^_^