summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2010-02-28 11:41:57 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-02-28 11:41:57 -0800
commitdc05d73104fda239fc03342e0b53aa5741c53531 (patch)
treeae0b14cc4f36582fc4b4668c0ebe67864b800c4f
parentgit svn: delay importing SVN::Base until it is needed (diff)
parentGit 1.7.0.1 (diff)
downloadtgif-dc05d73104fda239fc03342e0b53aa5741c53531.tar.xz
Merge branch 'maint'
* maint: Git 1.7.0.1 Remove reference to GREP_COLORS from documentation sha1_name: fix segfault caused by invalid index access
-rw-r--r--Documentation/RelNotes-1.7.0.1.txt14
-rw-r--r--Documentation/config.txt4
-rw-r--r--Documentation/git.txt3
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--sha1_name.c32
5 files changed, 31 insertions, 24 deletions
diff --git a/Documentation/RelNotes-1.7.0.1.txt b/Documentation/RelNotes-1.7.0.1.txt
index 970cd59330..8ff5bcada8 100644
--- a/Documentation/RelNotes-1.7.0.1.txt
+++ b/Documentation/RelNotes-1.7.0.1.txt
@@ -7,9 +7,17 @@ Fixes since v1.7.0
* In a freshly created repository "rev-parse HEAD^0" complained that
it is dangling symref, even though "rev-parse HEAD" didn't.
+ * "git show :no-such-name" tried to access the index without bounds
+ check, leading to a potential segfault.
+
* Message from "git cherry-pick" was harder to read and use than necessary
when it stopped due to conflicting changes.
+ * We referred to ".git/refs/" throughout the documentation when we
+ meant to talk about abstract notion of "ref namespace". Because
+ people's repositories often have packed refs these days, this was
+ confusing.
+
* "git diff --output=/path/that/cannot/be/written" did not correctly
error out.
@@ -24,8 +32,4 @@ Fixes since v1.7.0
option was propagated to "git stash drop" that is internally run at the
end.
---
-exec >/var/tmp/1
-echo O=$(git describe)
-O=v1.7.0-22-gc69f921
-git shortlog $O..
+And other minor fixes and documentation updates.
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 664de6b1ab..7103172ed3 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -685,9 +685,7 @@ color.grep::
color.grep.match::
Use customized color for matches. The value of this variable
- may be specified as in color.branch.<slot>. It is passed using
- the environment variables 'GREP_COLOR' and 'GREP_COLORS' when
- calling an external 'grep'.
+ may be specified as in color.branch.<slot>.
color.interactive::
When set to `always`, always use colors for interactive prompts
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 01c463101b..cc32ce18d2 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -43,9 +43,10 @@ unreleased) version of git, that is available from 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v1.7.0/git.html[documentation for release 1.7.0]
+* link:v1.7.0.1/git.html[documentation for release 1.7.0.1]
* release notes for
+ link:RelNotes-1.7.0.1.txt[1.7.0.1],
link:RelNotes-1.7.0.txt[1.7.0].
* link:v1.6.6.2/git.html[documentation for release 1.6.6.2]
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index a668143d7a..7f894fdd46 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
-DEF_VER=v1.7.0.GIT
+DEF_VER=v1.7.0.1
LF='
'
diff --git a/sha1_name.c b/sha1_name.c
index 43884c69b3..bf92417838 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -992,13 +992,15 @@ static void diagnose_invalid_index_path(int stage,
pos = cache_name_pos(filename, namelen);
if (pos < 0)
pos = -pos - 1;
- ce = active_cache[pos];
- if (ce_namelen(ce) == namelen &&
- !memcmp(ce->name, filename, namelen))
- die("Path '%s' is in the index, but not at stage %d.\n"
- "Did you mean ':%d:%s'?",
- filename, stage,
- ce_stage(ce), filename);
+ if (pos < active_nr) {
+ ce = active_cache[pos];
+ if (ce_namelen(ce) == namelen &&
+ !memcmp(ce->name, filename, namelen))
+ die("Path '%s' is in the index, but not at stage %d.\n"
+ "Did you mean ':%d:%s'?",
+ filename, stage,
+ ce_stage(ce), filename);
+ }
/* Confusion between relative and absolute filenames? */
fullnamelen = namelen + strlen(prefix);
@@ -1008,13 +1010,15 @@ static void diagnose_invalid_index_path(int stage,
pos = cache_name_pos(fullname, fullnamelen);
if (pos < 0)
pos = -pos - 1;
- ce = active_cache[pos];
- if (ce_namelen(ce) == fullnamelen &&
- !memcmp(ce->name, fullname, fullnamelen))
- die("Path '%s' is in the index, but not '%s'.\n"
- "Did you mean ':%d:%s'?",
- fullname, filename,
- ce_stage(ce), fullname);
+ if (pos < active_nr) {
+ ce = active_cache[pos];
+ if (ce_namelen(ce) == fullnamelen &&
+ !memcmp(ce->name, fullname, fullnamelen))
+ die("Path '%s' is in the index, but not '%s'.\n"
+ "Did you mean ':%d:%s'?",
+ fullname, filename,
+ ce_stage(ce), fullname);
+ }
if (!lstat(filename, &st))
die("Path '%s' exists on disk, but not in the index.", filename);