Elrond, you are right, the current git-cvsimport takes a very naive approach to determine where branches open from. It uses cvsps internally, which only reports on the ancestor branch, so we take the latest commit from the ancestor. Parsecvs probably has a more sophisticated approach, have you tried it? It is pretty hard to get that one right in any case, as there are cases where the new branch starts from something that is not a commit in the parent (from GIT's perspective). So representing the branching point would mean pointing to non-existing commits as parents. If the cvs2svn documentation is not lying, it probably has the smartest/correctest implementation. For small-medium repos, you may be able to run cvs2svn and then import with git-svnimport. cheers, martin - : 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