Greg Troxel wrote: > Junio C Hamano <gitster@xxxxxxxxx> writes: >> "ls-tree -r HEAD foo" is probably what you meant to say. > > Thanks very much for the clue - that works. The update-index > documentation should probably say that only blobs (or perhaps commits > intended to be submodules??) are acceptable, and perhaps say "ls-tree > -r" instead of ls-tree. Makes sense. Please make it so. By the way, for this particular application I wonder if something like git ls-files -z <dir> | git update-index -z --force-remove --stdin git read-tree --prefix=<dir>/ <tree> would be easier. Or a commit-filter. :) tree=$1 shift tree=$( git ls-tree -z "$tree" | perl -0ne ' chop; my ($info, $name) = split(/\t/, $_, 2); if ($name eq "<dir>") { printf("040000 tree <good tree>\t<dir>\0"); } else { printf("%s\0", $_); } ' | git mktree -z ) git commit-tree "$tree" "$@" Thanks, Jonathan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html