From: Franck Date: Tue, 22 Nov 2005 10:40:36 GMT Subject: Re: [QUESTION] Access to a huge GIT repository. Message-ID: In-Reply-To: <7vfyppf1va.fsf@assigned-by-dhcp.cox.net> 2005/11/22, Junio C Hamano : > I was not talking about _your_ case specifically. If you happen > to have based your partial history on top of a single commit > then the set of "such and such commits" might be only one, but > you could for example clone from Linus tip, merge in a couple of > jgarzik branch heads, put your own commits on top of them and > then cauterize your history, stopping at those foreign commits. > In such a case you obviously need to tell others where you > chopped your history off. > I built the lite repository and got an error depending on which original repo I used to push the lite one. Here is the history: -------------------------------------------------------------- # # building my pub repo from the "lite" repository # $ git checkout -b lite $ git-show-branch * [lite] Merge with Linux 2.6.14. ! [master] Merge with Linux 2.6.14. ! [origin] Merge with db93a82fa9d8b4d6e31c227922eaae829253bb88. --- # push the initial commit object $ git push /home/franck/pub/linux/git/linux-lite.git lite updating 'refs/heads/lite' from 0000000000000000000000000000000000000000 to 8643db584b46a61c968ae230897869f789bae020 Packing 19558 objects Unpacking 19558 objects 100% (19558/19558) done refs/heads/lite: 0000000000000000000000000000000000000000 -> 8643db584b46a61c968ae230897869f789bae020 # # push first changes from lite repositoy -> KO # $ making some hard work $ git commit -m "Did some hard work" $ git push /home/franck/pub/linux/git/linux-lite.git lite updating 'refs/heads/lite' from 8643db584b46a61c968ae230897869f789bae020 to 730518eea7523afd5b7891bb7849973cab52d963 Packing 0 objects Unpacking 0 objects error: unpack should have generated 730518eea7523afd5b7891bb7849973cab52d963, but I can't find it! $ # # push first changes from "full" repository -> OK # # go to full repository and checkout linux.2.6.14 $ git commit -m "Did some hard work" $ git push /home/franck/pub/linux/git/linux-lite.git lite updating 'refs/heads/lite' from 8643db584b46a61c968ae230897869f789bae020 to 067d05600fe7251b8c923fbeb9ba0068ee272110 Packing 108 objects Unpacking 108 objects 100% (108/108) done refs/heads/lite: 8643db584b46a61c968ae230897869f789bae020 -> 067d05600fe7251b8c923fbeb9ba0068ee272110 -------------------------------------------------------------- It seems that the "lite" repository can't be used as a working repository. And If I use the last method to push some work, I can only pull that changes from a full repository. From a lite one (without any changes of course) I get this error: $ git pull /home/franck/pub/linux/git/linux-lite.git lite Packing 108 objects Unpacking 108 objects 100% (108/108) done Merging HEAD with f42aaff3bf8041c2d43f1ff6fdfe5df6e8a5b00b Merging: 8643db584b46a61c968ae230897869f789bae020 Merge with Linux 2.6.14. f42aaff3bf8041c2d43f1ff6fdfe5df6e8a5b00b Did some hard work found 0 common ancestor(s): Traceback (most recent call last): File "/home/fbuihuu/bin/git-merge-recursive", line 870, in ? firstBranch, secondBranch, graph) File "/home/fbuihuu/bin/git-merge-recursive", line 67, in merge mergedCA = ca[0] IndexError: list index out of range No merge strategy handled the merge. Do you have any clues ? Thanks -- Franck