Hi, I struggle with importing a CVS repository into git to switch over development. In some branches there're differences in the source code after importing into git. We tracked this down to tags and branches that where tagged partially in CVS, first a tag was set on one subdirectory tree (sources), later on another subdirectory tree (docs). This confuses cvsimport or cvsps, the tag in git after import doesn't match the tag in CVS. I use cvsps from http://ydirson.free.fr/soft/git/cvsps.git, here's how to reproduce: $ cvs -d /tmp/cvs init $ mkdir repo && cd repo/ $ cvs -d /tmp/cvs import -m initial repo vendor-tag release-tag No conflicts created by this import $ cd .. && rmdir repo $ cvs -d /tmp/cvs co repo cvs checkout: Updating repo $ cd repo/ $ mkdir a && echo foo >a/a $ cvs add a a/a Directory /tmp/cvs/repo/a added to the repository cvs add: scheduling file `a/a' for addition cvs add: use `cvs commit' to add this file permanently $ cvs ci -m foo cvs commit: Examining . cvs commit: Examining a /tmp/cvs/repo/a/a,v <-- a/a initial revision: 1.1 $ cvs tag TAG0 a/ cvs tag: Tagging a T a/a $ echo 'not in TAG0' >a/a $ cvs ci -m 'not in TAG0' cvs commit: Examining . cvs commit: Examining a /tmp/cvs/repo/a/a,v <-- a/a new revision: 1.2; previous revision: 1.1 $ mkdir b && echo bar >b/b $ cvs add b b/b Directory /tmp/cvs/repo/b added to the repository cvs add: scheduling file `b/b' for addition cvs add: use `cvs commit' to add this file permanently $ cvs ci -m 'add b/b' cvs commit: Examining . cvs commit: Examining a cvs commit: Examining b /tmp/cvs/repo/b/b,v <-- b/b initial revision: 1.1 $ cvs tag TAG0 b/ cvs tag: Tagging b T b/b $ git-cvsimport -C git Committing initial tree d59780674121a7f49784509ee85079a36c9954a3 $ cd git/ $ git checkout -f master $ git checkout -b tmp TAG0 $ cat a/a not in TAG0 $ Thanks, Gerrit. - 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