From: Jakub Narebski Date: Fri, 01 Sep 2006 14:12:04 GMT Subject: Re: Joining a fixed archive with its continuation Message-ID: In-Reply-To: <44F81FE5.1040509@arces.unibo.it> Sergio Callegari wrote: >> If you want to be able to distribute it (or synchronize it between your >> laptop and PC _with git!_), you can rewrite the history by either >> git-rebase, or by using cg-admin-rewritehist if you are using cogito. >> >>   > I have tried using git-rebase (I do not have cg, at least not yet). > However I am encountering some problems... > > Everything is fine with the master branch of my continuation archive doing > > git rebase fixed-master master > > (where fixed-master is the master head of the recovered archive) > This does the trick nicely. I.e. I start with > > A---B---C---D    E---F---G---H---I > > > where D is fixed-master and I is master, and I end up with > > A---B---C---D---E'---F'---G'---H'---I' > > plus the older tree E---...---I > > However I am then in trouble with the other branches of the continuation > archive, which I simply cannot get right... > In fact, E...I has actually a branch, say at G, like in > > E---F---G---H---I >          \ >           --M---N > > > And I cannot make an M'---N' based at G'... the best that I am > succeeding in is building an > > E''--F''--G''--M'--N' > > based on D. It is where --onto parameter of git-rebase is used. It means you use parameter to identify main branch in the continuation archive, parameter being the branch you want to transplant into main archive (i.e. .. being the part you want to transplant/rebase), and '--onto ' with being the new fork point. So in the abovementioned case, try git rebase --onto G' I N and tell us if it works. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git