Re: git-send-pack segfaulting on DebianPPC (was: Re: cg-clone, tag objects and cg-push/git-push don't play nice)
- From
Martin Langhoff <martin.langhoff@gmail.com>
- Date
- Oct 19, 2005, 23:23 UTC
- Message-ID
- <46a038f90510191623k4f1a7267m50d3bbbd6665a2a3@mail.gmail.com>
- In-Reply-To
- <20051019223743.GQ30889@pasky.or.cz>
On 10/20/05, Petr Baudis <pasky@suse.cz> wrote:
Show 8 quoted lines
> Dear diary, on Wed, Oct 19, 2005 at 10:56:35PM CEST, I got a letter > where Martin Langhoff <martin.langhoff@gmail.com> told me that... > > To recap: repo is slightly broken because cg-fetch has fetched tag > > objects, but hasn't followed them through to the commit objects they > > refer to. > > That must be leftover of some old fetch, before cg-fetch got fixed wrt. > this issue.
Yes, I'm trying to figure out if I can fix it...
Show 22 quoted lines
> > Internally cg-fetch is actually using git-ssh-fetch (I misreported it > > using git-fetch-pack), which is working correctly. However, cg-fetch > > attempts to optimize the fetch process, by not calling git-ssh-fetch > > if it has the tagobj that the ref points to. How those tag objects get > > there without commits in the first place I don't know. So I've removed > > the optimization and life is much better. > > The "optimization" or something alike needs to be there at least for the > user interface, so that we can actually say what tags are we > downloading; besides, there can be a *lot* of tags. But I'm not sure how > moot will this all be after Cogito moves to the remote peeking (Real > Soon Now, promise ;-). > > > There is a second bug during the tag fetch. Some of the references > > (created by git-cvsimport) are multiline, and break cg-fetch. It's > > probably a bug in git-cvsimport, but I'm fixing cg-fetch to use head > > -n1 instead of cat. I'll deal with git-cvsimport later. > > Eek. Did I miss something and are multiline refs meaningful now? If not, > they are pretty bad and I'd imagine other parts of Cogito would be > pretty confused about that. I'd call this a corrupted repository, > tough. Perhaps a check should be added to fsck.
Actually, all the tagsrefs have only one line, but something is going weird around tagid=$(cat $tag) as $tag ends up containing many filenames. So I undid my initial change to "head -n1", and I'm trying to fix the loop.
cheers,
martin