ツリーオブジェクトを見るときのgit ls-tree と git cat-file -p は等価
git ls-tree <ツリーオブジェクト>
git cat-file -p <ツリーオブジェクト>
git cat-file -p の引数にツリーオブジェクトが指定されると、内部的に ls-treeを呼び出してるみたいです。buitin/cat-file.c
https://github.com/git/git/blob/v1.8.4/builtin/cat-file.c#L54 case 'p':
type = sha1_object_info(sha1, NULL);
if (type < 0)
die("Not a valid object name %s", obj_name);
/* custom pretty-print here */
if (type == OBJ_TREE) {
const char *ls_args[3] = { NULL };
ls_args[0] = "ls-tree";
ls_args[1] = obj_name;
return cmd_ls_tree(2, ls_args, NULL);
}
カテゴリ:
Git