Re: gitweb wishlist
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- May 24, 2005, 16:53 UTC
- Message-ID
- <Pine.LNX.4.58.0505240943080.2307@ppc970.osdl.org>
- In-Reply-To
- <Pine.LNX.4.58.0505240929051.2307@ppc970.osdl.org>
On Tue, 24 May 2005, Linus Torvalds wrote:
> > Wait another few minutes and I'll commit my fix the problem with cvsps > branch handling (and I need to escape '$' in <<EOFMSG handling).
Ok, committed. It takes a few minutes for the mirroring to pick it up, but you should soon see a commit that says
cvs2git: escape <<EOF messages, and work around cvsps branch handling
This escapes '$' characters in <<-handling, and gives preference to
the new branch when cvsps incorrectly reports a commit as originating
on an old branch.and once you do, you should have something that works.
Of course, I've still only tested it on syslinux, but it converts a syslinux CVS repo in 64 seconds for me, and now the result really _does_ look correct at least superficially. Ie I can see 1029 commits on HEAD, which is exactly what cvsps also reports.
And I see four different branches (HEAD is called "master" as per the normal naming):
torvalds@ppc970:~/src/osscvs/syslinux> ll .git/refs/heads/ total 16K -rw-rw-r-- 1 torvalds torvalds 41 May 24 09:36 branch-1_xx -rw-rw-r-- 1 torvalds torvalds 41 May 24 09:37 master -rw-rw-r-- 1 torvalds torvalds 41 May 24 09:36 syslinux -rw-rw-r-- 1 torvalds torvalds 41 May 24 09:36 syslinux-1_6x-1
and doing a
git-rev-tree branch-1_xx master syslinux syslinux-1_6x-1 | wc -l
reports 1046 total revisions (which also matches cvsps exactly).
So things look ok, but I haven't actually checked the _contents_ of the tree, except to look that the pathces that "git-whatchanged -p" reports look sane.
There's two remaining bad things:
- name translation doesn't exist (so all of Peters changesets get reported as author "hpa <hpa>")
- the commit time will be the conversion time, not the original commit time (but the _author_ time will be correct). I suspect that for a conversion like this, we really should add support for GIT_COMMIT_DATE.
That would also make the archive conversion 100% reproducible, ie everybody should get the exact same objects (and thus the exact same SHA1 values) which is good.
I'll add the GIT_COMMIT_DATE thing, but the name translation is for somebody else.
Linus