From: Johan Herland <johan@herland.net>
To: git@vger.kernel.org
Cc: Aaron Crane <git@aaroncrane.co.uk>,
Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
Subject: Re: cvs revision number -> git commit name?
Date: Wed, 27 Jan 2010 00:43:44 +0100 [thread overview]
Message-ID: <201001270043.44614.johan@herland.net> (raw)
In-Reply-To: <bc341e101001261453u16124186i298a53ead0b4eee2@mail.gmail.com>
On Tuesday 26 January 2010, Aaron Crane wrote:
> Hallvard B Furuseth <h.b.furuseth@usit.uio.no> wrote:
> > When moving from CVS to Git, what's a good way to help Git users
> > find an old commit given the original CVS revision number? Are
> > there tools available to help?
> >
> > One could commit a table with a (file,revision)->commit mapping,
> > I suppose something can generate it when importing from cvs?
>
> That's what we decided to do on a recent CVS-to-Git conversion, though
> like you, we also considered munging the log messages instead. Our
> jury's still out on whether it was the right decision; we haven't had
> much cause to use the result yet.
>
> One thing to be aware of (beyond the need to run grep to convert old
> CVS revision numbers to Git commit IDs) is that there's a good chance
> the mapping file will pollute the results of `git grep` for some
> tasks. (We've put the mapping file into our repo, where it's easy to
> find.) I'm considering gzipping the mapping file as a workaround;
> that would mean our users will need to use zgrep (or equivalent) to
> look up CVS revision numbers, which may or may not be a problem in
> your situation.
>
> I have an initial patch to git-cvsimport that adds a switch to
> generate the mapping as it goes. I'm currently trying to find time to
> clean it up and submit it.
You could consider adding the CVS revision numbers as notes (see "git help
notes" in >= v1.6.6) to the corresponding commits. Then they don't pollute
the commit messages, but instead live in a separate, but parallel hierarchy
that can be easily pulled in when you need to reference them (e.g.
GIT_NOTES_REF="refs/" git log).
The notes feature is still very new, and there are still outstanding patches
to be merged, but the basics are there in v1.6.6.
FWIW, I was also working on a CVS-to-Git importer (based on what has later
become the transport-helper infrastructure), that used notes to store
exactly the metadata you mention above. However, I haven't worked on it for
a while, and I probably won't have time to pick it up in the immediate
future.
...Johan
--
Johan Herland, <johan@herland.net>
www.herland.net
next prev parent reply other threads:[~2010-01-26 23:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-26 21:53 cvs revision number -> git commit name? Hallvard B Furuseth
2010-01-26 22:53 ` Aaron Crane
2010-01-26 23:43 ` Johan Herland [this message]
2010-01-27 8:38 ` Junio C Hamano
2010-01-27 11:28 ` git notes issues (was: cvs revision number -> git commit name?) Johan Herland
2010-01-27 17:47 ` cvs revision number -> git commit name? Hallvard B Furuseth
2010-01-27 22:19 ` Johan Herland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201001270043.44614.johan@herland.net \
--to=johan@herland.net \
--cc=git@aaroncrane.co.uk \
--cc=git@vger.kernel.org \
--cc=h.b.furuseth@usit.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).