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

Re: [PATCH v2] Submodule merge support

From
Junio C Hamano <junkio@cox.net>
Date
May 21, 2007, 07:54 UTC
Message-ID
<7vabvyfw7n.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070521073253.GU5412@admingilde.org>
Martin Waitz <tali@admingilde.org> writes:
Show 16 quoted lines
>> > +		if (S_ISDIRLNK(mode)) {
>> > +			/* defer dirlinks to another process, don't try to */
>> > +			/* read the object "sha" here */
>> > +			const char *dirlink_checkout[] = {
>> > +				"dirlink-checkout", path, sha1_to_hex(sha), NULL
>> > +			};
>> > +			struct child_process cmd = {
>> > +				.argv = dirlink_checkout,
>> > +				.git_cmd = 1,
>> > +			};
>> 
>> My Solaris 9 system cannot compile this syntax, even though it is
>> a clean way to initalize the child_process.
>
> any special thing it does not like in the above code or does it just
> not support structs that are initialized that way?
Portability rules:
 - We do not do C99 initializers;
 - We do not do decl-after-statement;
Readability rules:
 - We always write NULL, not 0, for a NULL pointer.
There may be a handful more unwritten rules we use.
Show 9 quoted lines
>> > +	status = read(cmd.out, hex, sizeof(hex));
>> > +	if (status != 40) return status;
>> 
>> OK, this is probably just never trusting the OS, but shouldn't that
>> read be wrapped up in a loop, like our read_in_full?  We want 40
>> bytes here, and expect it, and the read call is allowed to return
>> as few as 1 byte....
>
> right.

I think we have read-in-full or something like that for this exact purpose.

Previous: Alex RiesenNext: Johannes Schindelin
Message 7 of 10 in “Submodule merge support”
  1. Submodule merge supportMartin Waitz, May 20, 2007
  2. Shawn O. PearceMay 21, 2007
  3. Martin WaitzMay 21, 2007
  4. Shawn O. PearceMay 21, 2007
  5. Junio C HamanoMay 21, 2007
  6. Alex RiesenMay 21, 2007
  7. Junio C HamanoMay 21, 2007
  8. SubmittingPatches: mention older C compiler compatibilityJohannes Schindelin, May 21, 2007
  9. Add -Wdeclaration-after-statement to CFLAGS to help enforce the instructions in SubmittingPatchesJohan Herland, May 27, 2007
  10. Morten WelinderMay 27, 2007

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.