git-rewrite-history behaves quite contrary to documentation
- From
David Kastrup <dak@gnu.org>
- Date
- Aug 9, 2007, 11:30 UTC
- Message-ID
- <86abt1j67h.fsf@lola.quinscape.zz>
git-filter-branch --index-filter 'git-update-index --force-remove --remove -g bilder bilder3' master trunk Rewrite a7a8f2fc263256c98ed5220e7467d34584c8c6ac (58/58) Ref 'refs/heads/master' was rewritten Ref 'refs/remotes/trunk' was rewritten
These refs were rewritten: fatal: Not a git repository: '/rep/akspiele/.git-rewrite/t/../../.git'
The manual page, however, claims:
git-filter-branch [--env-filter <command>] [--tree-filter <command>] [--index-filter <command>] [--parent-filter <command>] [--msg-filter <command>] [--commit-filter <command>] [--tag-name-filter <command>] [--subdirectory-filter <directory>] [-d <directory>] <new-branch-name> [<rev-list options>...]
<new-branch-name> apparently is completely ignored: specifying a non-existing branch will not work.
In the examples, it claims:
git filter-branch --index-filter 'git update-index --remove filename' newbranch Now, you will get the rewritten history saved in the branch newbranch (your current branch is left untouched).
This is again wrong: one needs to write "-g" at very least, or it will not bother removing a file that is not present in the working dir.
Could someone please pass this on to Dscho? He has me in his killfile.
-- David Kastrup