From: Andreas Ericsson Date: Mon, 17 Nov 2008 11:44:14 GMT Subject: Re: publish since current state? Message-ID: <4921590E.6000709@op5.se> In-Reply-To: <23ae57c00811170252uba2cd22kb99a23134f026fc6@mail.gmail.com> Gennady Kushnir wrote: > Thank your for your reply. > But I could not find documentation for grafts... it is only mentioned > in glossary. > The only thing I found with google is 1-year-old a mail list post > http://marc.info/?l=git&m=119636089519572&w=2 > could you point out some direct link to grafts documentation? > >From that link can be gleaned the important stuff, actually. --8<--8<-- Graft points are configured via the .git/info/grafts file. It has one record per line describing a commit and its fake parents by listing object names separated by a space and terminated by a newline. []* --8<--8<-- > And also - what you mean by "copy the object database > from the old repository into the new one" ? I mean something like this: cd old_repo && git repack -a -d && \ cp .git/objects/pack/* ../new_repo/.git/objects/pack cd ../new_repo && \ echo "$first_sha1_of_new_repo $last_sha1_of_old_repo" \ > .git/info/grafts and you're done. > I'm not aware of such operation. What command does it? > And will not that copied database go online as dangling objects? > No. The grafts file will connect the two histories so they look like one. The public repo where people clone from should not have the grafts-file, and you should run "git repack -a -d" in that repository to prevent dumb commit walkers from getting access to all your ancient history through a mega-pack. -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231