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
maint
Junio C Hamano 2010-02-28 11:41:57 -08:00
commit dc05d73104
5 changed files with 31 additions and 24 deletions

View File

@ -7,9 +7,17 @@ Fixes since v1.7.0
* In a freshly created repository "rev-parse HEAD^0" complained that * In a freshly created repository "rev-parse HEAD^0" complained that
it is dangling symref, even though "rev-parse HEAD" didn't. 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 * Message from "git cherry-pick" was harder to read and use than necessary
when it stopped due to conflicting changes. 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 * "git diff --output=/path/that/cannot/be/written" did not correctly
error out. error out.


@ -24,8 +32,4 @@ Fixes since v1.7.0
option was propagated to "git stash drop" that is internally run at the option was propagated to "git stash drop" that is internally run at the
end. end.


-- And other minor fixes and documentation updates.
exec >/var/tmp/1
echo O=$(git describe)
O=v1.7.0-22-gc69f921
git shortlog $O..

View File

@ -685,9 +685,7 @@ color.grep::


color.grep.match:: color.grep.match::
Use customized color for matches. The value of this variable Use customized color for matches. The value of this variable
may be specified as in color.branch.<slot>. It is passed using may be specified as in color.branch.<slot>.
the environment variables 'GREP_COLOR' and 'GREP_COLORS' when
calling an external 'grep'.


color.interactive:: color.interactive::
When set to `always`, always use colors for interactive prompts When set to `always`, always use colors for interactive prompts

View File

@ -43,9 +43,10 @@ unreleased) version of git, that is available from 'master'
branch of the `git.git` repository. branch of the `git.git` repository.
Documentation for older releases are available here: 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 * release notes for
link:RelNotes-1.7.0.1.txt[1.7.0.1],
link:RelNotes-1.7.0.txt[1.7.0]. link:RelNotes-1.7.0.txt[1.7.0].


* link:v1.6.6.2/git.html[documentation for release 1.6.6.2] * link:v1.6.6.2/git.html[documentation for release 1.6.6.2]

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh


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


LF=' LF='
' '

View File

@ -992,6 +992,7 @@ static void diagnose_invalid_index_path(int stage,
pos = cache_name_pos(filename, namelen); pos = cache_name_pos(filename, namelen);
if (pos < 0) if (pos < 0)
pos = -pos - 1; pos = -pos - 1;
if (pos < active_nr) {
ce = active_cache[pos]; ce = active_cache[pos];
if (ce_namelen(ce) == namelen && if (ce_namelen(ce) == namelen &&
!memcmp(ce->name, filename, namelen)) !memcmp(ce->name, filename, namelen))
@ -999,6 +1000,7 @@ static void diagnose_invalid_index_path(int stage,
"Did you mean ':%d:%s'?", "Did you mean ':%d:%s'?",
filename, stage, filename, stage,
ce_stage(ce), filename); ce_stage(ce), filename);
}


/* Confusion between relative and absolute filenames? */ /* Confusion between relative and absolute filenames? */
fullnamelen = namelen + strlen(prefix); fullnamelen = namelen + strlen(prefix);
@ -1008,6 +1010,7 @@ static void diagnose_invalid_index_path(int stage,
pos = cache_name_pos(fullname, fullnamelen); pos = cache_name_pos(fullname, fullnamelen);
if (pos < 0) if (pos < 0)
pos = -pos - 1; pos = -pos - 1;
if (pos < active_nr) {
ce = active_cache[pos]; ce = active_cache[pos];
if (ce_namelen(ce) == fullnamelen && if (ce_namelen(ce) == fullnamelen &&
!memcmp(ce->name, fullname, fullnamelen)) !memcmp(ce->name, fullname, fullnamelen))
@ -1015,6 +1018,7 @@ static void diagnose_invalid_index_path(int stage,
"Did you mean ':%d:%s'?", "Did you mean ':%d:%s'?",
fullname, filename, fullname, filename,
ce_stage(ce), fullname); ce_stage(ce), fullname);
}


if (!lstat(filename, &st)) if (!lstat(filename, &st))
die("Path '%s' exists on disk, but not in the index.", filename); die("Path '%s' exists on disk, but not in the index.", filename);