Re: [PATCH 2/4] git-archive: wire up TAR format.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2006/9/9, Junio C Hamano <junkio@xxxxxxx>:
Junio C Hamano <junkio@xxxxxxx> writes:

> Rene Scharfe <rene.scharfe@xxxxxxxxxxxxxx> writes:
>
>> I did not sign off this exact patch.  I wrote and submitted the
>> builtin-tar-tree.c part, with memory leak and all, then sent a note
>> on where the leak needs to be plugged.  You put it together and
>> converted it to struct archiver_args.  I'd very much have liked to
>> see a comment stating this.  Or simply just say "based on code by
>> Rene" or something.  The same is true for patch 3/4.
>>...
>> Especially I would not have signed off this invisible comment. ;)
>
> I take your response is a mild NAK.

Just to reduce everybody's pain, why don't I fix them up and
push out the 4 series in "pu" with attribution clarification and
review comments from Rene in mind, so that you two can Ack them?
After that they will be placed on "next".


Almost Acked by me, except you've missed some Rene's comments. And
more important I fixed an "uninitialized variable" bug. See patch
below.

I needed to apply small tweaks on 1/4 (ANSI-C pedantic did not
like empty struct initializers) and 4/4 (the updated 1/1 needed
the way struct archiver is initialized and used be different
from the original one) as well.


thanks for that.

-- >8 --

diff --git a/builtin-archive.c b/builtin-archive.c
index 0a02519..9b90d87 100644
--- a/builtin-archive.c
+++ b/builtin-archive.c
@@ -28,7 +28,7 @@ static int run_remote_archiver(struct ar

	sprintf(buf, "git-upload-archive");

-	url = strdup(ar->remote);
+	url = xstrdup(ar->remote);
	pid = git_connect(fd, url, buf);
	if (pid < 0)
		return pid;
@@ -101,6 +101,7 @@ void parse_treeish_arg(const char **argv
		commit_sha1 = commit->object.sha1;
		archive_time = commit->date;
	} else {
+		commit_sha1 = NULL;
		archive_time = time(NULL);
	}

@@ -141,7 +142,7 @@ int parse_archive_args(int argc, const c
{
	const char *extra_argv[MAX_EXTRA_ARGS];
	int extra_argc = 0;
-	const char *format = NULL; /* some default values */
+	const char *format = NULL;
	const char *remote = NULL;
	const char *base = "";
	int list = 0;
@@ -171,6 +172,8 @@ int parse_archive_args(int argc, const c
			break;
		}
		if (arg[0] == '-') {
+			if (extra_argc > MAX_EXTRA_ARGS - 1)
+				die("Too many extra options");
			extra_argv[extra_argc++] = arg;
			continue;
		}
@@ -185,7 +188,7 @@ int parse_archive_args(int argc, const c
		die("--list and --remote are mutually exclusive");
	}
	if (argc - i < 1) {
-		die("%s", archive_usage);
+		usage(archive_usage);
	}
	if (!format){
		die("You must specify an archive format");
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]