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 <redacted>
---
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