Skip to content

Commit

Permalink
Merge branch 'maint'
Browse files Browse the repository at this point in the history
* maint:
  Git 1.7.0.1
  Remove reference to GREP_COLORS from documentation
  sha1_name: fix segfault caused by invalid index access
  • Loading branch information
Junio C Hamano committed Feb 28, 2010
2 parents d32fad2 + c5e5f60 commit dc05d73
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 24 deletions.
14 changes: 9 additions & 5 deletions Documentation/RelNotes-1.7.0.1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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.
4 changes: 1 addition & 3 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion Documentation/git.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion GIT-VERSION-GEN
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

GVF=GIT-VERSION-FILE
DEF_VER=v1.7.0.GIT
DEF_VER=v1.7.0.1

LF='
'
Expand Down
32 changes: 18 additions & 14 deletions sha1_name.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit dc05d73

Please sign in to comment.