Merge branch 'jc/revlist' into next
authorJunio C Hamano <junkio@cox.net>
Wed, 22 Mar 2006 08:52:41 +0000 (00:52 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 22 Mar 2006 08:52:41 +0000 (00:52 -0800)
* jc/revlist:
  rev-list --timestamp
  git-apply: do not barf when updating an originally empty file.
  http-push.c: squelch C90 warnings.
  fix field width/precision warnings in blame.c

apply.c
blame.c
http-push.c
rev-list.c

diff --git a/apply.c b/apply.c
index 179b3bb..2da225a 100644 (file)
--- a/apply.c
+++ b/apply.c
@@ -834,7 +834,7 @@ static int parse_fragment(char *line, unsigned long size, struct patch *patch, s
                        patch->new_name = NULL;
        }
 
-       if (patch->is_new != !oldlines)
+       if (patch->is_new && oldlines)
                return error("new file depends on old contents");
        if (patch->is_delete != !newlines) {
                if (newlines)
diff --git a/blame.c b/blame.c
index 9c97aec..7e88833 100644 (file)
--- a/blame.c
+++ b/blame.c
@@ -748,7 +748,7 @@ int main(int argc, const char **argv)
        struct commit_info ci;
        const char *buf;
        int max_digits;
-       size_t longest_file, longest_author;
+       int longest_file, longest_author;
        int found_rename;
 
        const char* prefix = setup_git_directory();
index b35d400..21c5289 100644 (file)
@@ -1863,6 +1863,7 @@ static void one_remote_ref(char *refname)
        struct ref *ref;
        unsigned char remote_sha1[20];
        struct object *obj;
+       int len = strlen(refname) + 1;
 
        if (fetch_ref(refname, remote_sha1) != 0) {
                fprintf(stderr,
@@ -1884,7 +1885,6 @@ static void one_remote_ref(char *refname)
                }
        }
 
-       int len = strlen(refname) + 1;
        ref = xcalloc(1, sizeof(*ref) + len);
        memcpy(ref->old_sha1, remote_sha1, 20);
        memcpy(ref->name, refname, len);
@@ -2313,6 +2313,8 @@ int main(int argc, char **argv)
        int objects_to_send;
        int rc = 0;
        int i;
+       int new_refs;
+       struct ref *ref;
 
        setup_git_directory();
        setup_ident();
@@ -2347,8 +2349,8 @@ int main(int argc, char **argv)
                        }
                }
                if (!remote->url) {
-                       remote->url = arg;
                        char *path = strstr(arg, "//");
+                       remote->url = arg;
                        if (path) {
                                path = index(path+2, '/');
                                if (path)
@@ -2421,10 +2423,13 @@ int main(int argc, char **argv)
                return 0;
        }
 
-       int new_refs = 0;
-       struct ref *ref;
+       new_refs = 0;
        for (ref = remote_refs; ref; ref = ref->next) {
                char old_hex[60], *new_hex;
+               const char *commit_argv[4];
+               int commit_argc;
+               char *new_sha1_hex, *old_sha1_hex;
+
                if (!ref->peer_ref)
                        continue;
                if (!memcmp(ref->old_sha1, ref->peer_ref->new_sha1, 20)) {
@@ -2482,10 +2487,9 @@ int main(int argc, char **argv)
                }
 
                /* Set up revision info for this refspec */
-               const char *commit_argv[4];
-               int commit_argc = 3;
-               char *new_sha1_hex = strdup(sha1_to_hex(ref->new_sha1));
-               char *old_sha1_hex = NULL;
+               commit_argc = 3;
+               new_sha1_hex = strdup(sha1_to_hex(ref->new_sha1));
+               old_sha1_hex = NULL;
                commit_argv[1] = "--objects";
                commit_argv[2] = new_sha1_hex;
                if (!push_all && !is_zero_sha1(ref->old_sha1)) {
index 812d237..441c437 100644 (file)
@@ -40,13 +40,18 @@ static int bisect_list = 0;
 static int verbose_header = 0;
 static int abbrev = DEFAULT_ABBREV;
 static int show_parents = 0;
+static int show_timestamp = 0;
 static int hdr_termination = 0;
 static const char *commit_prefix = "";
 static enum cmit_fmt commit_format = CMIT_FMT_RAW;
 
 static void show_commit(struct commit *commit)
 {
-       printf("%s%s", commit_prefix, sha1_to_hex(commit->object.sha1));
+       if (show_timestamp)
+               printf("%lu ", commit->date);
+       if (commit_prefix[0])
+               fputs(commit_prefix, stdout);
+       fputs(sha1_to_hex(commit->object.sha1), stdout);
        if (show_parents) {
                struct commit_list *parents = commit->parents;
                while (parents) {
@@ -335,6 +340,10 @@ int main(int argc, const char **argv)
                        show_parents = 1;
                        continue;
                }
+               if (!strcmp(arg, "--timestamp")) {
+                       show_timestamp = 1;
+                       continue;
+               }
                if (!strcmp(arg, "--bisect")) {
                        bisect_list = 1;
                        continue;