Re: [PATCH v2] Submodule merge support
- From
Martin Waitz <tali@admingilde.org>
- Date
- May 21, 2007, 07:32 UTC
- Message-ID
- <20070521073253.GU5412@admingilde.org>
- In-Reply-To
- <20070521062005.GK3141@spearce.org>
hoi :)
On Mon, May 21, 2007 at 02:20:05AM -0400, Shawn O. Pearce wrote:
Show 17 quoted lines
> > @@ -574,6 +575,21 @@ static void update_file_flags(const unsigned char *sha,
> > void *buf;
> > unsigned long size;
> >
> > + 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?
Show 7 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.
-- Martin Waitz