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. <commit sha1> <parent sha1> [<parent sha1>]* --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@xxxxxx OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html