From: Sergio Callegari Date: Fri, 01 Sep 2006 11:56:21 GMT Subject: Joining a fixed archive with its continuation Message-ID: <44F81FE5.1040509@arces.unibo.it> Hi, I am trying to follow Johannes (Dscho) suggestions to join a fixed archive with a new archive, that is its continuation from the latest working tree. I am having some trouble with rebase, and any help would be appreciated. > > You can "graft" the new onto the old branch: > Yes, grafts are fine... however, if I am to use push/pull for transferring data between two computers I am working on, I'd like better a "history rewriting" approach, so that I do not need to manually copy the grafts. > NOTE! This is the quickest way if you want to have the history _locally_. > > 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. > Ciao, > Dscho > > P.S.: Of course, if you do not insist on a super clean history, you can > fake a merge. Just put <40-hex-chars-old> into .git/MERGE_HEAD and commit. > This will pretend that your new head and your old head were merged, and > the result is the new head. This _should_ even work with git-bisect, but > it is slightly ugly. Before I try, can you better explain me what shall go on in this case? The man page of commit actually does not say much about commit behavior during a merge (i.e. with MERGE_HEAD set). Thanks, Sergio