Как перечислить все файлы в репозитории в Mercurial (hg)?
есть ли команда в mercurial, которая будет перечислять все файлы, находящиеся в настоящее время под контролем источника?
Я могу сделать dir /s
перечислить все файлы в моей папке и подпапках, но я понятия не имею, которые были добавлены в мой репозиторий. У меня есть множество исключенных типов файлов и папок, и я хочу убедиться, что ни один из них не был добавлен, прежде чем я настрою их в своем .hgignore файл.
5 ответов
hg status --all
перечислит все файлы в дереве, с буквой, указывающей его статус: M для измененного, C для чистого (принадлежит hg) и I для игнорируемого.
только игнорировать файлы, использовать hg status -i
. Только для файлов, которые будут добавил при следующем коммите используйте hg status -a
. Они показывают только то, что вам нужно знать, и не требуют сканирования длинный список файлов.
вы также можете проверить . Я использую его вместе с -I
опция, когда я хочу ограничить файлы определенным каталогом.
чтобы перечислить все файлы в вашем репозитории:
hg locate
из каталога репозитория ("root"):
hg locate -I dir/sub_dir/dir_of_interest
путь перешел в -I
нужно менять в зависимости от каталога, в котором выполняется команда. Если вы запустите команду из dir
каталог в приведенном выше примере вам нужно будет изменить ваш аргумент, чтобы найти:
hg locate -I sub_dir/dir_of_interest
список выходных файлов останется неизменным, показывая полный путь каждого файла в репозитории.
попробовать hg help -v locate
для получения дополнительной информации.
hg manifest
будут перечислены только файлы в репозитории, в то время как hg status --all
перечислит все файлы в структуре репозитория и включит маркер, для которого отслеживаются, а для которых нет.
Список Только Проигнорированных Или Добавленных Файлов
в список только the игнорировать files, do:hg status -i
.
только добавил файлы, do hg status -a
.
если вам не нравится печатать много, вы можете сократить их до hg sta -i
и hg sta -a
.
это два использования status
более простой, чем locate
и даст вам конкретные файлы состояния, которые вас беспокоят, так что это значительно меньше подверженный ошибкам.
подробнее о hg status
чтобы перечислить все файлы в репо mercurial do:hg status --all
.
файлы будут иметь префикс перед ними, когда они будут перечислены:
M = modified
A = added
R = removed
C = clean
! = missing (deleted by non-hg command, but still tracked)
? = not tracked
I = ignored
если вы хотите получить список только файлы в папке, вы можете указать путь:
-
hg st --all MyFolder
– все файлы в папку MyFolder -
hg sta -i MyFolder
- просто игнорируются файлы в MyFolder.
а также -i
для "игнорировать" и -a
для "добавлено", другие флаги доступны, чтобы перечислить только файлы, имеющие определенный статус.
начало help
читать другое очень полезный ответ здесь для всестороннего объяснения . Он имеет вниз голоса, потому что автор попытался показать, что вы можете обнаружить все выше прошу Mercurial о как это:
hg help status
вы можете попросить Mercurial рассказать вам о любой из его команд, как это. И если вам нужен список команд Mercurial, введите hg help
.
C:\>hg help -v status hg status [OPTION]... [FILE]... aliases: st show changed files in the working directory Show status of files in the repository. If names are given, only files that match are shown. Files that are clean or ignored or the source of a copy/move operation, are not listed unless -c/--clean, -i/--ignored, -C/--copies or -A/--all are given. Unless options described with "show only ..." are given, the options -mardu are used. Option -q/--quiet hides untracked (unknown and ignored) files unless explicitly requested with -u/--unknown or -i/--ignored. NOTE: status may appear to disagree with diff if permissions have changed or a merge has occurred. The standard diff format does not report permission changes and diff only reports changes relative to one merge parent. If one revision is given, it is used as the base revision. If two revisions are given, the differences between them are shown. The --change option can also be used as a shortcut to list the changed files of a revision from its first parent. The codes used to show the status of files are: M = modified A = added R = removed C = clean ! = missing (deleted by non-hg command, but still tracked) ? = not tracked I = ignored = origin of the previous file listed as A (added) options: -A --all show status of all files -m --modified show only modified files -a --added show only added files -r --removed show only removed files -d --deleted show only deleted (but tracked) files -c --clean show only files without changes -u --unknown show only unknown (not tracked) files -i --ignored show only ignored files -n --no-status hide status prefix -C --copies show source of copied files -0 --print0 end filenames with NUL, for use with xargs --rev show difference from revision --change list the changed files of a revision -I --include include names matching the given patterns -X --exclude exclude names matching the given patterns global options: -R --repository repository root directory or name of overlay bundle file --cwd change working directory -y --noninteractive do not prompt, assume 'yes' for any required answers -q --quiet suppress output -v --verbose enable additional output --config set/override config option (use 'section.name=value') --debug enable debugging output --debugger start debugger --encoding set the charset encoding (default: cp1252) --encodingmode set the charset encoding mode (default: strict) --traceback always print a traceback on exception --time time how long the command takes --profile print command execution profile --version output version information and exit -h --help display help and exit