Как увидеть все ревизии, связанные с конкретной строкой в ​​файле с Mercurial? - PullRequest
2 голосов
/ 23 декабря 2011

Есть ли способ создать список наборов изменений, которые повлияли на конкретную строку файла?Annotate позволит мне увидеть последний набор изменений, который повлияет на конкретную строку, я хотел бы связать аннотации для конкретной строки назад, пока она не была добавлена ​​в первый раз.

Ответы [ 2 ]

3 голосов
/ 26 декабря 2011

Как насчет:

hg grep --all symbolBeingWatched

или, если вы действительно просто хотите получить список ревизий

hg grep --all symbolBeingwatched | cut -d : -f 2 | sort -u -n
1 голос
/ 24 декабря 2011

Расширенная (и слегка чередующаяся) версия комментария pyfunc, без "готового к использованию" решения, только черновик, с примерами из моего репо

  • Определить все наборов изменений, которые влияют на файл (мне лень писать окончательный gawk-код)

    hg log - шаблон "{rev} \ n" functions.php

    3 2 1 0

  • Для каждой ревизии из набора:

    hg ann -r $ REV functions.php | grep "load_theme_" >> string.txt

string.txt будет после всех hg ann | (ни один для rev 0 не был очищен)
2: load_theme_textdomain('fiver', get_template_directory() . '/languages');
2: load_theme_textdomain('fiver', get_template_directory() . '/languages');
1: load_theme_textdomain('fiver', get_template_directory() . '/translation');
  • Удалите дубликаты с uniq pipe и получите окончательный результат

Фрэнк говорит: спасибо, это помогло мне начать, я использовал следующее из Powershell, чтобы посмотреть, какие наборы изменений затронули конкретный символ:

$history = hg log --template "{rev}\n" $filename
$history | % { $_; hg log -vpr $_ $filename | select-string $symbolBeingWatched } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...