Re: combine git repo historically
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Oct 9, 2009, 07:40 UTC
- Message-ID
- <c07716ae0910090040j4868edf4x12eea330416b8ccb@mail.gmail.com>
- In-Reply-To
- <4ACED204.3000907@viscovery.net>
On Fri, Oct 9, 2009 at 8:02 AM, Johannes Sixt <j.sixt@viscovery.net> wrote:
Show 21 quoted lines
> bill lam schrieb: >> I have two git repos, no branches. >> >> repo 1. >> emptyrootcommit -- A ... M >> >> repo 2. >> emptyrootcommit -- N ... Z >> >> N was evolved from M but the time gap is large, how can I combine them >> into one repo >> >> emptyrootcommit -- A ... M -- N ... Z >> >> so that snapshots N .. Z will not be changed. > > $ echo $(git rev-parse N) $(git rev-parse M) >> .git/info/grafts > $ git filter-branch --tag-name-filter cat -- --all --not M > > i.e. you graft the older history right before the younger history, then > you use git filter-branch to rewrite the parentship of the younger commits.
If you cannot create a new history, using "git replace" could be better than using grafts. ("git replace" is in the "master" branch in the git repository. It will be in git 1.6.5 that should be released soon.)
Regards, Christian