I wanted to restore a single file from HEAD back to the index; Shawn Pearce gave me the answer. git-ls-tree piped to git-update-index --index-info. This patch adds that answer to the git-update-index documentation. Signed-off-by: Andy Parkins <andyparkins@xxxxxxxxx> --- Documentation/git-update-index.txt | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt index 41bb7e1..5adf717 100644 --- a/Documentation/git-update-index.txt +++ b/Documentation/git-update-index.txt @@ -215,6 +215,24 @@ for that path. After the above, we woul 100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2 frotz ------------ +One particular use of --index-info is to reverse the effect of +"git-update-index frotz": + +------------ +git ls-tree HEAD frotz | git update-index --index-info +------------ + +This makes the index hold the file frotz from HEAD rather than from the +working copy. Similarly: + +------------ +git ls-tree -r HEAD | git update-index --index-info +------------ + +Will undo everything except "git add" from the index, as +"git-ls-tree -r" lists everything in the last commit. + + Using "assume unchanged" bit ---------------------------- -- 1.4.3.2 - 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