2016-04-22 13 views
0

git現在のFS権限とは独立したリポジトリ内の各ファイルのメタデータに「実行可能」フラグを保存することになっています。特定のファイルの実行可能ビット/許可マスクメタデータを表示

  • Git file permissions on Windowsにはこのフラグを設定する方法を示しています。

  • git ls-treeは、コンパイルされた許可マスクを示しますが、リポジトリ全体に対してのみ表示されます。唯一の私は、特定のファイル(またはファイルの束)のためのフラグを表示するにはどうすればよい


このメタデータを記述する参照ドキュメントへのリンクが理想的です。 https://git-scm.com/docs/で何も見つかりませんが、あちこちに漠然としたフレーズがあります。

+0

なぜ、 'git ls-tree HEAD/path/to/file'と 'git ls-tree -d HEAD/path/to/directory'があなたのニーズに合っていない – user3159253

+0

@ user3159253彼らはそうです、私は理解できませんでした。ドキュメント –

答えて

2

使用git ls-tree、ただそれをより多くの引数を与える:

$ git ls-tree HEAD xdiff* 
100644 blob 54236f24b9786710f91650ac63f6004cdeb012e6 xdiff-interface.c 
100644 blob fbb5a1c3949b6ef6ba0dfb758723a48f3b402190 xdiff-interface.h 
040000 tree 4c60b91db5de467cf05e864429dce1b44cb843e7 xdiff 

最初の出力ワードは、ブロブのために常に100644100755のいずれかであるモードです。 100755の場合、実行可能ビットが設定され、そうでない場合は実行可能ビットが設定されます。 (興味深いのほかに:gitは内部のモード値全体を内部ゼロに8進文字列として格納します。最後の引用符の先頭のゼロは、git ls-treeによって生成されます)。

必要に応じてファイル名またはディレクトリ名を保持します。

$ git ls-tree HEAD xdiff/ 
100644 blob 4fb7e79410c22fba1fb390af2e09008e932f5ea8 xdiff/xdiff.h 
100644 blob 2358a2d6326e54308413cb8a5e6b61eba06324e9 xdiff/xdiffi.c 
100644 blob 8b81206c9af0767bd91c4b9e453f7c5c2bde47b1 xdiff/xdiffi.h 
100644 blob 993724b11c40bacffee8df927018e5790a265bd4 xdiff/xemit.c 
100644 blob d29710770ce40bafa6e9eb2b2ea7c9c8ba43c727 xdiff/xemit.h 
100644 blobcb6f3fb5d1cb90b1c5959a5a90e058ea1f2 xdiff/xhistogram.c 
100644 blob 526ccb344d231fb978f53b80deb17ec6c8fed368 xdiff/xinclude.h 
100644 blob 165a895a93e04b33ca7c8f3839ee85e0eccb4a07 xdiff/xmacros.h 
100644 blob f338ad6c757cda29a052960a504715c062ab5dda xdiff/xmerge.c 
100644 blob 04e1a1ab2a863814df3b9a91d4e854704d47f3f5 xdiff/xpatience.c 
100644 blob 13b55aba7441bc84d2c5c075110e9ef798ba18f8 xdiff/xprepare.c 
100644 blob 8fb06a537451cbf3335ab4bdacb0f992e9744338 xdiff/xprepare.h 
100644 blob 2511aef8d89ab52be5ec6a5e46236b4b6bcd07ea xdiff/xtypes.h 
100644 blob 62cb23dfd37743e4985655998ccabd56db160233 xdiff/xutils.c 
100644 blob 4646ce575251b07053f20285be99422d6576603e xdiff/xutils.h 

(ということに注意してください。それがディレクトリである場合(モード040000または入力しtree -the type文字列が実際にこのような場合には、内部modeから決定される)とあなたがその内容を確認したい、末尾にスラッシュを追加SHA-1とパスの間にハード・タブ\tがあります。これは、StackOverflowがこれを表示して以来、元のテキストに残っています。)

+0

ディレクトリの '-d'フラグを追加すると、指定されたディレクトリの内容ではなく、そのディレクトリのアクセス許可を得ることができます。 'ls -d'とまったく同じです。 – user3159253

関連する問題