]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'maint-2.5' into maint-2.6
authorJunio C Hamano <gitster@pobox.com>
Thu, 17 Mar 2016 18:26:18 +0000 (11:26 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 17 Mar 2016 18:26:18 +0000 (11:26 -0700)
* maint-2.5:
  Git 2.5.5
  Git 2.4.11
  list-objects: pass full pathname to callbacks
  list-objects: drop name_path entirely
  list-objects: convert name_path to a strbuf
  show_object_with_name: simplify by using path_name()
  http-push: stop using name_path
  tree-diff: catch integer overflow in combine_diff_path allocation
  add helpers for detecting size_t overflow

1  2 
Documentation/git.txt
builtin/pack-objects.c
diff.h
git-compat-util.h
reachable.c
revision.c
revision.h

index 66681723f2ef7471cd8463fb92dc95b46b672431,fe5fefe230a4ecde3b343ba21052e58cdfb0dfd1..0e397f41edd2deeb87c8da1fcfb41fec1600ec9f
@@@ -43,19 -43,10 +43,20 @@@ unreleased) version of Git, that is ava
  branch of the `git.git` repository.
  Documentation for older releases are available here:
  
- * link:v2.5.4/git.html[documentation for release 2.5.4]
 +* link:v2.6.5/git.html[documentation for release 2.6.5]
 +
 +* release notes for
 +  link:RelNotes/2.6.5.txt[2.6.5],
 +  link:RelNotes/2.6.4.txt[2.6.4],
 +  link:RelNotes/2.6.3.txt[2.6.3],
 +  link:RelNotes/2.6.2.txt[2.6.2],
 +  link:RelNotes/2.6.1.txt[2.6.1],
 +  link:RelNotes/2.6.0.txt[2.6].
 +
+ * link:v2.5.5/git.html[documentation for release 2.5.5]
  
  * release notes for
+   link:RelNotes/2.5.5.txt[2.5.5],
    link:RelNotes/2.5.4.txt[2.5.4],
    link:RelNotes/2.5.3.txt[2.5.3],
    link:RelNotes/2.5.2.txt[2.5.2],
Simple merge
diff --cc diff.h
Simple merge
Simple merge
diff --cc reachable.c
Simple merge
diff --cc revision.c
index e0107738b7ad4faa8c5937f4589d306382d65030,8f30ab1e46b4a07148b7dfe0e8f7950fd241c325..8435ce5256217536214136767e19017671f0bd17
  
  volatile show_early_output_fn_t show_early_output;
  
- char *path_name(const struct name_path *path, const char *name)
 +static const char *term_bad;
 +static const char *term_good;
 +
+ void show_object_with_name(FILE *out, struct object *obj, const char *name)
  {
-       const struct name_path *p;
-       char *n, *m;
-       int nlen = strlen(name);
-       int len = nlen + 1;
-       for (p = path; p; p = p->up) {
-               if (p->elem_len)
-                       len += p->elem_len + 1;
-       }
-       n = xmalloc(len);
-       m = n + len - (nlen + 1);
-       strcpy(m, name);
-       for (p = path; p; p = p->up) {
-               if (p->elem_len) {
-                       m -= p->elem_len + 1;
-                       memcpy(m, p->elem, p->elem_len);
-                       m[p->elem_len] = '/';
-               }
-       }
-       return n;
- }
- static int show_path_component_truncated(FILE *out, const char *name, int len)
- {
-       int cnt;
-       for (cnt = 0; cnt < len; cnt++) {
-               int ch = name[cnt];
-               if (!ch || ch == '\n')
-                       return -1;
-               fputc(ch, out);
-       }
-       return len;
- }
- static int show_path_truncated(FILE *out, const struct name_path *path)
- {
-       int emitted, ours;
-       if (!path)
-               return 0;
-       emitted = show_path_truncated(out, path->up);
-       if (emitted < 0)
-               return emitted;
-       if (emitted)
-               fputc('/', out);
-       ours = show_path_component_truncated(out, path->elem, path->elem_len);
-       if (ours < 0)
-               return ours;
-       return ours || emitted;
- }
- void show_object_with_name(FILE *out, struct object *obj,
-                          const struct name_path *path, const char *component)
- {
-       struct name_path leaf;
-       leaf.up = (struct name_path *)path;
-       leaf.elem = component;
-       leaf.elem_len = strlen(component);
+       const char *p;
  
        fprintf(out, "%s ", sha1_to_hex(obj->sha1));
-       show_path_truncated(out, &leaf);
+       for (p = name; *p && *p != '\n'; p++)
+               fputc(*p, out);
        fputc('\n', out);
  }
  
diff --cc revision.h
Simple merge