Truncating history (Re: Sparse clones)
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Aug 13, 2010, 19:19 UTC
- Message-ID
- <20100813191954.GA2003@burratino>
- In-Reply-To
- <20100813173147.GB27540@nibiru.local>
Hi,
Enrico Weigelt wrote:
Show 10 quoted lines
> Fake-roots are special refs that declare certain commit objects > as root-commits). Each time git walks down the history, it checks > whether the current commit is an fake-root and so treats it as > having no ancestor. That should be generic enough let everything > else (commit, push, gc, etc) work as usual. > > The only tricky point is when to update remote fake-roots: the > remote should not cut off my local repo (unless explicitly asked). > So remote fake-roots should only be imported if the local/receiving > side has not the dropped commits anymore.
You may be interested in grafts and replacement refs; see git-filter-branch(1) and git-replace(1) for some hints.
Good luck, Jonathan