Search code examples
gitcvsversion-controlgit-cvs

How can I git-cvsimport multiple modules from a CVS repository, with differing branches?


I'm trying to git-cvsimport several different modules from CVS, all of which are on different branches.

So far I've done this (in pseudo-bash code):

for each ($MODULE, $BRANCH); do
    git-cvsimport -p x -v -d "$CVS_REPO" "$MODULE" -o "$BRANCH" -C "$MODULE"
done

But that makes a different git repository for each module. How would I merge them all into one, if that's even remotely possible?


Solution

  • In theory, you could use git grafts to merge your repositories into one:
    See "Is there a clean way to handle two original git repositories that started with the same content?"

    In practice, you might want to look at another tool like cvs2git, and check if it does not import branches in a more consistent way.