Есть ли способ увидеть самую последнюю версию Mercurial для каждого файла в каталоге? - PullRequest
2 голосов
/ 01 декабря 2011

Когда вы делаете hg log для файла, отображаются только те ревизии, которые претерпели изменения.Я хотел бы увидеть, какая самая последняя версия для всех файлов в каталоге.(Подумайте hg blame на уровне файлов, а не на уровне строк.)

Я думал, что hg log -l 1 * может работать, но он показывает только самую последнюю версию для всех файлов.

Вот какой вывод я бы хотел увидеть:

> hg blame --files
foo: 15
bar: 2
baz: 15
README: 1

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

Другой альтернативой является использование комбинации hg status и hg log, например:

for FILE in $(hg status -nA); do
    hg log -l1 --template '{rev}\t' "$FILE"
    echo $FILE
done
1 голос
/ 01 декабря 2011

Я подозреваю , что если вы хотите использовать hg напрямую, вам нужно написать расширение (но я ни в коем случае не эксперт здесь).Но будет ли что-то вроде этой работы, если вы готовы использовать сценарий?

for x in *; do
    highest=`hg blame "$x" 2>/dev/null | cut -d : -f 1 | sort -nr | head -n1`
    if [ "$highest" ]; then echo "$x: $highest" ; fi
done

Очевидным недостатком здесь является то, что это довольно медленно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...