summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-07-16 11:48:16 -0700
committerJunio C Hamano <gitster@pobox.com>2014-07-16 11:48:16 -0700
commitf2c9f21369931c2e4254e49d8f3b3fac5ba8a60b (patch)
tree987c5234d8db3ad456f9d0820442ec679589f4fe
parentfb46e0c54535d009b173a1c9758b9c192dc3efff (diff)
parentebc5da3208824e25a89672a3b91bd13629b215fe (diff)
downloadgit-f2c9f21369931c2e4254e49d8f3b3fac5ba8a60b.tar.gz
Sync with 2.0.2
* maint: Git 2.0.2 annotate: use argv_array
-rw-r--r--Documentation/RelNotes/2.0.2.txt19
-rw-r--r--Documentation/git.txt3
-rw-r--r--builtin/annotate.c12
3 files changed, 26 insertions, 8 deletions
diff --git a/Documentation/RelNotes/2.0.2.txt b/Documentation/RelNotes/2.0.2.txt
index c48c0aab27..8e8321b2ef 100644
--- a/Documentation/RelNotes/2.0.2.txt
+++ b/Documentation/RelNotes/2.0.2.txt
@@ -11,3 +11,22 @@ Git v2.0.2 Release Notes
* Recent updates to "git repack" started to duplicate objects that
are in packfiles marked with .keep flag into the new packfile by
mistake.
+
+ * "git clone -b brefs/tags/bar" would have mistakenly thought we were
+ following a single tag, even though it was a name of the branch,
+ because it incorrectly used strstr().
+
+ * "%G" (nothing after G) is an invalid pretty format specifier, but
+ the parser did not notice it as garbage.
+
+ * Code to avoid adding the same alternate object store twice was
+ subtly broken for a long time, but nobody seems to have noticed.
+
+ * A handful of code paths had to read the commit object more than
+ once when showing header fields that are usually not parsed. The
+ internal data structure to keep track of the contents of the commit
+ object has been updated to reduce the need for this double-reading,
+ and to allow the caller find the length of the object.
+
+ * During "git rebase --merge", a conflicted patch could not be
+ skipped with "--skip" if the next one also conflicted.
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 7924209671..d0ddfcb0aa 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -43,9 +43,10 @@ unreleased) version of Git, that is available from the 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v2.0.1/git.html[documentation for release 2.0.1]
+* link:v2.0.2/git.html[documentation for release 2.0.2]
* release notes for
+ link:RelNotes/2.0.2.txt[2.0.2],
link:RelNotes/2.0.1.txt[2.0.1],
link:RelNotes/2.0.0.txt[2.0.0].
diff --git a/builtin/annotate.c b/builtin/annotate.c
index fc43eed36b..da413ae0d1 100644
--- a/builtin/annotate.c
+++ b/builtin/annotate.c
@@ -5,20 +5,18 @@
*/
#include "git-compat-util.h"
#include "builtin.h"
+#include "argv-array.h"
int cmd_annotate(int argc, const char **argv, const char *prefix)
{
- const char **nargv;
+ struct argv_array args = ARGV_ARRAY_INIT;
int i;
- nargv = xmalloc(sizeof(char *) * (argc + 2));
- nargv[0] = "annotate";
- nargv[1] = "-c";
+ argv_array_pushl(&args, "annotate", "-c", NULL);
for (i = 1; i < argc; i++) {
- nargv[i+1] = argv[i];
+ argv_array_push(&args, argv[i]);
}
- nargv[argc + 1] = NULL;
- return cmd_blame(argc + 1, nargv, prefix);
+ return cmd_blame(args.argc, args.argv, prefix);
}