Re: CVS to git: parsing ChangeLog entries?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Jeff King wrote on Thu, Mar 13, 2008 at 06:03:22PM CET:
> On Wed, Mar 12, 2008 at 08:08:27PM +0100, Ralf Wildenhues wrote:
> 
> > when migrating a project that uses GNU-style ChangeLogs from CVS
> > to git, is it possible to extract patch author information from
> > the ChangeLog entries rather than from the CVS commit logs?

> I don't think there is a way to do this automatically with
> git-cvsimport. However, once imported, I think you could rewrite history
> using git-filter-branch with a filter that looked at the diff of
> ChangeLog for that commit and rewrote the author. See the documentation
> for git-filter-branch.

Thank you, I just learned a new cool tool!

FWIW, here's what I used successfully on a repository with only one
ChangeLog file (some fiddling to cope with format variations):

git filter-branch -d /dev/shm/t --tree-filter '
  line=`sed -n "s,^[12][90][0-9][0-9]-[0-1][0-9]-[0-3][0-9]  *\([A-Za-z].*\),\1,;
                s,.*  \([A-Za-z].*\),\1,;
                /./{
                        s/(tiny change)//
                        s/ *$//
                        p
                        q
                }" ChangeLog`
  author=`echo "$line" | sed "s, *[<(].*,,"`
  email=`echo "$line" | sed "s,[^,(]*[<(],<,; s/[)>].*/>/"`
  test -n "$author" && test -n "$email" && {
        GIT_AUTHOR_NAME="$author"
        GIT_AUTHOR_EMAIL="$email"
        export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
  }'

> > Related question: when CVS commit logs have varying encoding,
> > say, some latin1 and some UTF-8, is it possible to have uniformly
> > encoded git log entries?
> 
> I don't think git-cvsimport does much with encodings at all. But again,
> you could probably go back through the imported repo with
> git-filter-branch and iconv the commit messages as appropriate.

I'll try that, too.

Thanks!
Ralf
--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux