Как вывести список всех файлов, принадлежащих разным ветвям в Mercurial?

Я новичок в Mercurial, так что извините за вопрос новичка.
Я создал локальный репозиторий под названием "localRepo" в / home / Cassie / localRepo. У меня там две ветки: default и src1-branch. Для ветки по умолчанию он имеет file1, file3, а для src1-branch - file1, file2 и file4. Всякий раз, когда я пытался перечислить все файлы в этом репозитории, он показывает только файлы, принадлежащие текущей ветке.

Например, если текущая ветка - src1-branch, то если я наберу

ls -l

Он показал только

file1 file2 file4

Есть ли способ увидеть, что все файлы принадлежат одному репозиторию, например

file1 file2 file3 file4

я пытался

hg status --all

Он по-прежнему показывал только файл1, файл2 и файл4.

Моя машина - redhat linux workstation 6 с mercurial 1.7 и tortoisehg.

Большое Вам спасибо,


person Cassie    schedule 22.06.2012    source источник


Ответы (2)


hg manifest --all перечисляет все файлы во всех ревизиях, включая удаленные и переименованные файлы.

Данный:

o  5: Removed file1, Renamed file3->file6
|
| @  4: Added file5
| |
| o  3: Added file4
| |
o |  2: Added file3
| |
o |  1: Added file2
|/
o  0: Added file1

Результат hg manifest --all:

file1
file2
file3
file4
file5
file6
person Mark Tolonen    schedule 23.06.2012
comment
Спасибо за ответ. Однако, может быть, из-за версии моего Mercurial я не смог выполнить команду hg meanifest --all. В моей системе такой команды нет. Есть еще идеи? Спасибо, - person Cassie; 06.07.2012
comment
Обновление? : ^) Похоже, --all был добавлен в 1.9. - person Mark Tolonen; 07.07.2012

Я не знаю стандартных способов, но вы можете использовать упомянутый вами подход.

hg branches ------ tells you all the branch
branch1
branch2
.....

hg update -C branch1    ----- switches you to a branch1
hg status --all         ----- provides all files for branch1

hg update -C branch2    ----- switches you to branch2
hg status --all         ----- provides all the files for branch2

Вы можете объединить вывод всех веток и удалить повторяющиеся имена файлов. Вы можете написать сценарий для этого.

Также -C опасен, так как при переходе в ветку отбрасывает файлы. Следовательно, следует использовать только в том случае, если у вас нет изменений, лежащих в рабочем каталоге, который вы хотите зафиксировать.

Предостережение. Обычно такой вариант не подходит для просмотра файлов в двух разных ветвях.

Вы можете добавить файл c.txt, находясь в ветке 1, и снова добавить еще один файл c.txt в ветку 2 с другим содержимым.

В данном случае семантически это два разных файла с одинаковым именем.

person pyfunc    schedule 22.06.2012