Subject: Re: [PATCH-resent] gitk: fix in procedure drawcommits

From: Jan Hudec <[email-masked]>
Date: Sat, 20 Oct 2007 20:35:33 +0200

On Sat, Oct 20, 2007 at 18:02:47 +0200, Michele Ballabio wrote:
> IIRC, I just cloned mutt's hg repo:
>   hg clone http://dev.mutt.org/hg/mutt
> then imported it in git with the scripts at
>   http://repo.or.cz/w/fast-export.git
> with
>   hg-fast-export.sh -r ../mutt
> [...]
> 
> Here is the culprit (or so I think). One of the guilty commits is:
> 
> 	commit a3b4383d69e0754346578c85ba8ff7c05bd88705
> 	tree 1bf99cd22abe97c59f8c0b7ad6b8244f0854b8af
> 	parent 6d919fccf603aba995035fa0fb507aa2bd3bf0ae
> 	parent 6d919fccf603aba995035fa0fb507aa2bd3bf0ae
> 	author Brendan Cully <[email-masked]> 1179646159 -0700
> 	committer Brendan Cully <[email-masked]> 1179646159 -0700
> 	
> 	    Forget SMTP password if authentication fails.
> 	    Thanks to Gregory Shapiro for the initial patch (I've moved the reset
> 	    from smtp_auth_sasl up to smtp_auth, and used the account API
> 	    instead of twiddling account bits by hand). Closes #2872.

Judging from the symptoms, I would suspect hg-fast-export. Either mercurial
sometimes stores two same hashes instead of the hash and 0 (in which case
hg-fast-import should probably be ready to deal with it), or hg-fast-import
does something wrong when it sees the 0 parent.

> This commit (and many others) has two parents, but the two parents
> have the same hash. So gitk tries to unset the same variable twice,
> hence the error. At this point, the fix for gitk should be either to
> check if the parents have the same hash when reading the commit or
> avoiding to unset two times the same variable.
> 
> This explanation makes sense to me, now the problem is: have I messed
> up the import myself, the scripts/commands used are to blame, or is
> it entirely the original repo's fault?
> 
> Since I've redone the import and the error remains, I guess
> that's not my fault :)

-- 
						 Jan 'Bulb' Hudec <[email-masked]>