Re: heads-up: git-index-pack in "next" is broken

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus Torvalds
Date: Tuesday, October 17, 2006 - 1:51 pm

On Tue, 17 Oct 2006, Nicolas Pitre wrote:

Why do you use "unsigned long" in the first place?

For some structure like this, it sounds positively wrong. Pack-files 
should be architecture-neutral, which means that they shouldn't depend on 
word-size, and they should be in some neutral byte-order.

Quite frankly, this all makes me go "Eww..". The original pack-file (well, 
v2) format was well-defined and had none of these issues. In contrast, the 
new code in 'next' is just _ugly_.

And the thing about "ugly" is that it also tends to mean "fragile" and 
"buggy" and "hard to extend later".

And maybe it's just me, but I consider unions to be bug-prone on their 
own. The "master" branch has exactly two unions: the "grep_expr" structure 
contains one (where the union member is clearly defined by the node type 
in that structure), and object.c has a "union any_object" that _literally_ 
exists as purely an allocation size issue (ie it is used _only_ to 
allocate the maximum size of any of the possible structures).

In contrast, the new union introduced in "next" is just horrid. There's 
not even any way to know which member to use, except apparently that it 
expects that a SHA1 is never zero in the last 12 bytes. Which is probably 
true, but still - that's some ugly stuff.

Is this something you want to bet a big project on?

			Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Mon Oct 16, 9:55 pm)
Re: heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Tue Oct 17, 9:07 am)
Re: heads-up: git-index-pack in "next" is broken, Nicolas Pitre, (Tue Oct 17, 10:00 am)
Re: heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Tue Oct 17, 11:11 am)
Re: heads-up: git-index-pack in "next" is broken, Nicolas Pitre, (Tue Oct 17, 11:47 am)
Re: heads-up: git-index-pack in "next" is broken, Sergey Vlasov, (Tue Oct 17, 12:36 pm)
Re: heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Tue Oct 17, 1:10 pm)
Re: heads-up: git-index-pack in "next" is broken, Linus Torvalds, (Tue Oct 17, 1:51 pm)
Re: heads-up: git-index-pack in "next" is broken, Linus Torvalds, (Tue Oct 17, 2:46 pm)
Re: heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Tue Oct 17, 2:54 pm)
Re: heads-up: git-index-pack in "next" is broken, Linus Torvalds, (Tue Oct 17, 5:57 pm)
Re: heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Tue Oct 17, 6:30 pm)
Re: heads-up: git-index-pack in "next" is broken, Linus Torvalds, (Tue Oct 17, 8:12 pm)
Re: heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Tue Oct 17, 9:16 pm)
Re: heads-up: git-index-pack in "next" is broken, Junio C Hamano, (Tue Oct 17, 10:07 pm)
Re: heads-up: git-index-pack in "next" is broken, Davide Libenzi, (Tue Oct 17, 11:09 pm)
Re: heads-up: git-index-pack in "next" is broken, Johannes Schindelin, (Wed Oct 18, 3:00 am)
Re: heads-up: git-index-pack in "next" is broken, Linus Torvalds, (Wed Oct 18, 7:56 am)
Re: heads-up: git-index-pack in "next" is broken, Davide Libenzi, (Wed Oct 18, 9:17 am)
Re: heads-up: git-index-pack in "next" is broken, Linus Torvalds, (Wed Oct 18, 9:52 am)
Re: heads-up: git-index-pack in "next" is broken, Davide Libenzi, (Wed Oct 18, 2:21 pm)
Re: heads-up: git-index-pack in "next" is broken, Linus Torvalds, (Wed Oct 18, 2:48 pm)
Re: heads-up: git-index-pack in "next" is broken, Davide Libenzi, (Wed Oct 18, 3:34 pm)