Browse Source

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 15 years ago
parent
commit
dc05d73104
  1. 14
      Documentation/RelNotes-1.7.0.1.txt
  2. 4
      Documentation/config.txt
  3. 3
      Documentation/git.txt
  4. 2
      GIT-VERSION-GEN
  5. 32
      sha1_name.c

14
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 * 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..

4
Documentation/config.txt

@ -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

3
Documentation/git.txt

@ -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]

2
GIT-VERSION-GEN

@ -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='
' '

32
sha1_name.c

@ -992,13 +992,15 @@ 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;
ce = active_cache[pos]; if (pos < active_nr) {
if (ce_namelen(ce) == namelen && ce = active_cache[pos];
!memcmp(ce->name, filename, namelen)) if (ce_namelen(ce) == namelen &&
die("Path '%s' is in the index, but not at stage %d.\n" !memcmp(ce->name, filename, namelen))
"Did you mean ':%d:%s'?", die("Path '%s' is in the index, but not at stage %d.\n"
filename, stage, "Did you mean ':%d:%s'?",
ce_stage(ce), filename); filename, stage,
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,13 +1010,15 @@ 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;
ce = active_cache[pos]; if (pos < active_nr) {
if (ce_namelen(ce) == fullnamelen && ce = active_cache[pos];
!memcmp(ce->name, fullname, fullnamelen)) if (ce_namelen(ce) == fullnamelen &&
die("Path '%s' is in the index, but not '%s'.\n" !memcmp(ce->name, fullname, fullnamelen))
"Did you mean ':%d:%s'?", die("Path '%s' is in the index, but not '%s'.\n"
fullname, filename, "Did you mean ':%d:%s'?",
ce_stage(ce), fullname); fullname, filename,
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);

Loading…
Cancel
Save