git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Define constants for lengths of object names

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
May 1, 2014, 23:00 UTC
Message-ID
<20140501230041.GC75770@vauxhall.crustytoothpaste.net>
In-Reply-To
<20140501172007.GZ9218@google.com>
On Thu, May 01, 2014 at 10:20:07AM -0700, Jonathan Nieder wrote:
Show 32 quoted lines
> Hi,
> 
> brian m. carlson wrote:
> 
> > --- a/object.h
> > +++ b/object.h
> [...]
> > @@ -49,7 +56,7 @@ struct object {
> >  	unsigned used : 1;
> >  	unsigned type : TYPE_BITS;
> >  	unsigned flags : FLAG_BITS;
> > -	unsigned char sha1[20];
> > +	unsigned char sha1[GIT_OID_RAWSZ];
> 
> Maybe my brain has been damaged by reading code from too many C
> projects that hard-code some constants, but I find '20' easier to read
> here.
> 
> What happened to the
> 
> 	struct object_id {
> 		unsigned char id[20];
> 	};
> 
> 	...
> 
> 	struct object {
> 		...
> 		struct object_id id;
> 	};
> 
> idea?

There didn't seem to be a huge amount of support for it. Also, there were concerns that some architectures might impose alignment constraints on it that made sizeof(struct object_id) != 20.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
Previous: Jonathan NiederNext: Jonathan Nieder
Message 4 of 7 in “Define constants for lengths of object names”
  1. Define constants for lengths of object namesbrian m. carlson, May 1, 2014
  2. Jonathan NiederMay 1, 2014
  3. Jonathan NiederMay 1, 2014
  4. brian m. carlsonMay 1, 2014
  5. Jonathan NiederMay 1, 2014
  6. Duy NguyenMay 2, 2014
  7. brian m. carlsonMay 2, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.