Re: Question about --tree-filter
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Feb 4, 2009, 16:37 UTC
- Message-ID
- <4989C437.4070401@viscovery.net>
- In-Reply-To
- <loom.20090204T155824-858@post.gmane.org>
Sergio Callegari schrieb:
Show 18 quoted lines
> in working with the "rezip" filter for the efficient git management of > openoffice, zip and docx files, I am encountering the following problem. > > Suppose that you have an existing repository and that you want to convert it > into a repository using the rezip filters: git filter-branch should be the tool > to do the conversion. > > Initially I believed that once set up the appropriate .git/config filter entries > and a .git/info/attributes file tying the filter to the appropriate file types, > it would have been enough to > > git filter-branch --tree-filter true tag-name-filter cat > > to do the conversion. > This is also what I suggested in my original post about the rezip script. > > Unfortunately, this does not seem to work as expected. Not all files get > rewritten as filtered blobs.
Before the tree-filter runs, the files are checked out (and smudged by rezip). But they are marked as unchanged (because they were checked out moments ago). Since your tree-filter doesn't do anything, no new blobs are added to the index, and none of your files are cleaned by rezip.
I think your brute-force tree-filter should be
rm -f "$GIT_INDEX_FILE"
assuming that a .gitattributes file is already in all revisions.
-- Hannes