Скажите git, что два пользователя эквивалентны после cvsimport - PullRequest
4 голосов
/ 10 октября 2011

После выполнения

git cvsimport

мои предыдущие коммиты перечислены в списке, принадлежащем пользователю "user" (user is my unix username).

Как я могу сказать git, что эти коммиты мои(т. е. определить сопоставление «пользователя» с моей «первой фамилией»"git-user)?

1 Ответ

8 голосов
/ 10 октября 2011

Вы можете использовать опцию -A для git cvsimport, чтобы сопоставить имена пользователей в CVS с Full Name <email@address> в git. На странице руководства написано:

   -A <author-conv-file>
       CVS by default uses the Unix username when writing its
       commit logs. Using this option and an author-conv-file in
       this format

                   exon=Andreas Ericsson <ae@op5.se>
                   spawn=Simon Pawn <spawn@frog-pond.org>

       git cvsimport will make it appear as those authors had
       their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly
       all along.

       For convenience, this data is saved to
       $GIT_DIR/cvs-authors each time the -A option is provided
       and read from that same file each time git cvsimport is
       run.

       It is not recommended to use this feature if you intend to
       export changes back to CVS again later with git
       cvsexportcommit.

Если вы не хотите перезапускать импорт, вы можете взглянуть на этот ответ , который говорит вам, как переписать информацию об авторе в каждом коммите, используя git filter-branch. (Обратите внимание, что использование git filter-branch для этого значительно переписывает историю, поэтому вы не должны этого делать, если вы уже поделились хранилищем с кем-либо.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...