git filter-branch examples on man page are outdated

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

git filter-branch examples on man page are outdated

From: Jeffrey Chupp <hidden>
Date: 2016-06-15 22:46:09

http://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html
mb:repo jeff$ ls db/data/us_cities.data.insert.sql
db/data/us_cities.data.insert.sql
mb:repo jeff$ git filter-branch --index-filter 'git rm -f --cached db/ 
data/us_cities.data.insert.sql' HEAD
Rewrite d54d3041d7d5739b3093f802fc1ef45f3c8e5e16 (1/2713)fatal:  
pathspec 'db/data/us_cities.data.insert.sql' did not match any files
index filter failed: git rm -f --cached db/data/ 
us_cities.data.insert.sql

ekidd speculated that since the file wasn't in the first version of  
the repo, it was borking.  He was right.  Next he told me to try

git filter-branch --index-filter 'git rm -f --cached db/data/ 
us_cities.data.insert.sql || true'

which worked.  He also asked me to point this out on this list:

ekidd:semanticart: Commit 8c1ce0f46b85d40f215084eed7313896300082df  
changed the behavior without updating the example in the man page. If  
you're feeling inspired, you may want to post this to git@vger.

Thanks and apologies for any etiquette breaches, I don't know what I'm  
doing :)

-jeff

[PATCH] Add 'rm -f' equivalent to 'git rm' example of filter-branch --index-filter

From: Jacob Helwig <hidden>
Date: 2016-06-15 22:46:09

Signed-off-by: Jacob Helwig <redacted>
---
 Documentation/git-filter-branch.txt |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index 451950b..1fbbbb4 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -212,6 +212,11 @@ git filter-branch --index-filter 'git rm --cached filename' HEAD
 
 Now, you will get the rewritten history saved in HEAD.
 
+As with using `rm filename`, `git rm --cached filename` will fail
+if the file is absent from the tree of a commit.  If it is not important
+whether the file is already absent from the tree, you can use
+`git rm --cached --ignore-unmatch filename` instead.
+
 To rewrite the repository to look as if `foodir/` had been its project
 root, and discard all other history:
 
-- 
1.6.1.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help