web-dev-qa-db-ja.com

Mercurial(hg)のリポジトリ内のすべてのファイルをリストする方法は?

現在ソース管理下にあるすべてのファイルをリストするコマンドがMercurialにありますか?

私はdir /sフォルダーとサブフォルダー内のすべてのファイルを一覧表示しますが、リポジトリに追加されたものがわかりません。さまざまな除外されたファイルの種類とフォルダーがあり、.hgignoreファイルに設定する前に、それらがいずれも追加されていないことを確認します。

73
JamesWampler

hg status --allは、ツリー内のすべてのファイルをリストし、ステータスを示す文字を付けます。Mは変更済み、Cはクリーン(hgが所有)、Iは無視されます。

無視ファイルの場合は、hg status -i。次のコミットでaddedになるファイルだけに、hg status -a。これらは、知っておくべきことだけを示しており、長いファイルリストをスキャンする必要はありません。

70
Ned Batchelder

hg locateコマンドもチェックアウトできます。ファイルを特定のディレクトリに制限する場合は、-Iオプションとともに使用します。

リポジトリ内のすべてのファイルをリストするには:

hg locate

リポジトリ(「ルート」)ディレクトリから:

hg locate -I dir/sub_dir/dir_of_interest

-Iに渡されるパスは、コマンドを実行するディレクトリに応じて変更する必要があります。上記の例でdirディレクトリーからコマンドを実行する場合、以下を見つけるために引数を変更する必要があります。

hg locate -I sub_dir/dir_of_interest

出力ファイルのリストは同じままで、リポジトリ内の各ファイルのフルパスが表示されます。

詳細については、hg help -v locateを試してください。

62
JS.

hg manifestはリポジトリ内のファイルのみをリストしますが、hg status --allは、リポジトリの構造内のすべてのファイルをリストし、追跡されているマーカーと追跡されていないマーカーを含めます。

22
Mike Pape

無視または追加されたファイルのみを一覧表示する

onlyignoredファイルをリストするには、hg status -iを実行します。

追加ファイルの場合は、hg status -aを実行します。

入力するのが気に入らない場合は、これらをhg sta -iおよびhg sta -aに短縮できます。

statusのこの2つの使用法はlocateよりも単純であり、懸念している特定のファイル状態を提供するため、エラーが大幅に少なくなります。

hg statusの詳細

Mercurialリポジトリ内のすべてのファイルを一覧表示するには、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の取得

statusコマンドの包括的な説明については、 他の非常に有用な回答 をお読みください。作者がaskingによって次のようにstatusコマンドについて上記のすべてを発見できることを示すことを試みたため、それは賛成票を失いました:

hg help status

Mercurialに、このようなコマンドについて教えてもらうことができます。また、Mercurialのコマンドのリストが必要な場合は、hg helpと入力します。

3
Benjohn