git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Questions about git-fast-import for cvs2svn

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 15, 2007, 18:55 UTC
Message-ID
<7vd4ytebsw.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070715120149.3271b736.seanlkml@sympatico.ca>
Sean <seanlkml@sympatico.ca> writes:
Show 16 quoted lines
> Will take a stab at answering your questions...
>
>> 1. Is it a problem to create blobs that are never referenced?  The
>> easiest point to create blobs is when the RCS files are originally
>> parsed, but later we discard some CVS revisions, meaning that the
>> corresponding blobs would never be needed.  Would this be a problem?
>
> Not a problem.  Running "git gc" later will cleanup any unused objects.
>
>> 2. It appears that author/committer require an email address.  How
>> important is a valid email address here?
>
> It's not necessary for the operation of Git itself; it's up to you to
> decide how important the information is to your project.  You should
> be able to set an empty email address for author or committer in
> git fast-import as "name <>".

Don't do this; git-cvsimport and git-svn uses "name <name>" which is a saner compromise. This way, you can add .mailmap to help later "git shortlog" to map using "<name>" part to more human friendly name. Mapping at conversion time would also be good and git-cvsimport knows about it (I do not know about git-svn).

Show 5 quoted lines
>>    b. CVS tag/branch creation events do not even include a username.
>> Any suggestions for what to use here?
>
> Perhaps just use your own username or one specifically created to
> run the conversion process.

I'd suggest to take the person and time information from the commit that is tagged; that way you can keep the conversion stable (iow, two conversoin runs using the same input data would produce identical result).

In git we do not record "branch creation event". Also you can use lightweight tags which does not have its own data -- which means you do not have to come up with "the person who made the tag".

>> 3. I expect we should set 'committer' to the value determined from CVS
>> and leave 'author' unused.  But I suppose another possibility would be
>> to set the 'committer' to 'cvs2svn' and the 'author' to the original CVS
>> author.  Which one makes sense?
I would set both to "name <name>" from CVS information.
Previous: Steffen ProhaskaNext: Eric Wong
Message 5 of 10 in “Questions about git-fast-import for cvs2svn”
  1. Michael HaggertyJul 15, 2007
  2. SeanJul 15, 2007
  3. Steffen ProhaskaJul 15, 2007
  4. Steffen ProhaskaJul 15, 2007
  5. Junio C HamanoJul 15, 2007
  6. Eric WongJul 16, 2007
  7. Linus TorvaldsJul 15, 2007
  8. Shawn O. PearceJul 16, 2007
  9. Robin RosenbergJul 15, 2007
  10. Robin H. JohnsonJul 15, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.