Re: Using git for file archival/backup purposes - deletion strategy
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Dec 27, 2007, 09:18 UTC
- Message-ID
- <47736DE5.40509@viscovery.net>
- In-Reply-To
- <46a038f90712261443t6aa0cd76u46d8ae88fc7c1eba@mail.gmail.com>
Martin Langhoff schrieb:
Show 10 quoted lines
> What I am not 100% clear on is the "old history" deletion strategy. > The history will be *strictly* linear, so my intention is to keep the > last N commits, by overriding the parent of the Nth commit that git > log lists with a "shallow" entry in $GIT_DIR/shallow as documented in > Documentation/technical/shallow.txt , and call gc after that. > > Is that the correct way to "forget" old history? Searching high and > low in the list, I fail to find a definitive answer. Shallow and > grafts entries are discussed as ways of doing this, but I can't find a > "correct" way of doing this.
I'm doing something like this. Basically:
git rev-parse "HEAD~$N" > .git/info/grafts git filter-branch -f HEAD
If you omit filter-branch, then a repack -a -d will corrupt the repository (I think) unless you keep the grafts file with it and in all its clones forever.
-- Hannes