Hello, We're in the middle of conversion of a large CVS repository (20 years, 70K commits, 1K branches, 10K tags) to Git and considering two separate Git repositories: "historical" with CVS history and "working" created without history from heads of active branches (10 active branches). This allows us to have small fast "working" repository for developers who don't want to have full history locally and ability to rewrite history in "historical" repository (for example, to add parents to merge commits or to fix conversion mistakes) without affecting commit hashes in "working" repository (the hashes can be stored in bug tracker or in the code). The first idea was to use grafs to join branch roots in "working" repository with branches in "historical" repository like in linux repository but it seems that grafts are known as a "horrible hack" ( http://marc.info/?l=git&m=131127600030310&w=2 http://permalink.gmane.org/gmane.comp.version-control.git/177153 ) Since Git 1.6.5 "replace" can also be used to join the histories by replacing branch roots in "working" repository with branch heads in "historical" repository. Both grafts and replace will be used locally. Grafts is a bit easier to distribute (simple copying, replaces should be created via bash script). Are there any disadvantages of using grafts and replace? Will both of them be supported in future versions of Git? Thank you, Dmitry -- 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