From: Johannes Sixt Date: Thu, 27 Dec 2007 09:18:29 GMT Subject: Re: Using git for file archival/backup purposes - deletion strategy Message-ID: <47736DE5.40509@viscovery.net> In-Reply-To: <46a038f90712261443t6aa0cd76u46d8ae88fc7c1eba@mail.gmail.com> Martin Langhoff schrieb: > 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