What are .git/info/grafts for?

From Git Wiki:

Graft points or grafts enable two
otherwise different lines of
development to be joined together. It
works by letting users record fake
ancestry information for commits. This
way you can make git pretend the set
of parents a commit has is different
from what was recorded when the commit
was created.

Reasons for Using Grafts

Grafts can be useful when moving
development to git, since it allows
you to make cloning of the old history
imported from another SCM optional.
This keeps the initial clone for users
who just wants to follow the latest
version down while developers can have
the full development history
available.

When Linus started using git for
maintaining his kernel tree there
didn’t exist any tools to convert the
old kernel history. Later, when the
old kernel history was imported into
git from the bkcvs gateway, grafts was
created as a method for making it
possible to tie the two different
repositories together.

Leave a Comment