разность svn включая annotate/blame-alike информацию того, когда изменения были внесены кто

Можно ли добавить annotate/blame-alike информацию к svn разности, так, чтобы для каждой измененной строки она включала, какой пользователь и пересмотр изменили ту строку?

Например, аннотировать-разность, сравнивающая изменения 8-10, могла произвести что-то как:

9    user1   - some line that user1 deleted in revision 9
10   user2   + some line that user2 added in revision 10

Контекст, строки вокруг этого, которые не изменились, может быть включен также или нет, не имеет значения.

Это не просто вопрос "быстро" записи сценария оболочки, комбинирующего вывод svn разности, и svn аннотируют. аннотируйте, например, никогда не будет показывать Вам, кто удалил строку. Это также не, вопрос выполнения аннотирует на пересмотре в прошлом: мы не интересуемся тем, кто первоначально добавил строку, которая была удалена (это не то, который "вызвал" разность), мы хотим знать, кто удалил его. Я подозреваю единственный способ реализовать что-то, чтобы сделать, это должно осмотреть каждую фиксацию между этими двумя сравниваемыми изменениями (и так или иначе отобразить все изменения в отдельном diffs к строкам в общей разности)...

Там существует инструмент, который делает что-то как этот?

7
задан 28.06.2011, 13:42

4 ответа

Я не совсем уверен, что понял точно, что Вы хотите, но я сделал это с TortoiseSVN:

  1. Создайте Вину от пересмотра 1 к пересмотру - сохраняют как A.txt
  2. Создайте Вину от пересмотра 1 к пересмотру B - сохраняют как B.txt
  3. Удалите первый столбец (строка) из обоих текстовых файлов (я использовал редактора Pspad, который может удалить столбец текстового файла),
  4. Объедините A.txt и B.txt (TortoiseMerge.exe / основа: "a.txt" / шахта: "b.txt")

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

1
ответ дан 07.12.2019, 15:16

Разность SVN берет точно два изменения и генерирует вывод на лету. SVN аннотируют, берет точно один пересмотр. Ваше подозрение, что предложенная утилита должна будет выполнить итерации по изменениям N, корректно; SVN хранит состояния пересмотра как целые объекты.

У Вас могла бы быть лучшая удача с мерзавцем и шлюзом мерзавца-svn...

1
ответ дан 07.12.2019, 15:16

В Вашей основной ванильной установке SVN нет никакой команды, которая может объединить выводы вины и разности на конкретном пересмотре. При определении конкретного клиента SVN, Вы использовали, я, возможно, смог найти плагин, который делает это, но Вы не сделали так, я не мог искать тот.

Единственная альтернатива должна использовать сценарий или небольшую программу для подхождения этих двух выводов. Это не должно быть настолько твердо, если можно получить номера строки на разности и вине. Даже при том, что это не ответ, Вы надеялись на него, ответ, и этот вопрос находился открытый с 2009.

0
ответ дан 07.12.2019, 15:16

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

0
ответ дан 07.12.2019, 15:16

Теги

Похожие вопросы