Merge branch 'master' into next

* master:
  gitweb: Move evaluate_gitweb_config out of run_request
  parse_date: fix signedness in timezone calculation
  t0006: test timezone parsing
  rerere.txt: Document forget subcommand
  Documentation/git-gc.txt: add reference to githooks
  Updates from the list to 1.7.2 Release Notes
This commit is contained in:
Junio C Hamano
2010-07-05 13:43:53 -07:00
7 changed files with 49 additions and 25 deletions

View File

@@ -4,10 +4,13 @@ Git v1.7.2 Release Notes (draft)
Updates since v1.7.1
--------------------
* core.eol configuration and eol attribute are the new way to control
the end of line conventions for files in the working tree;
core.autocrlf overrides it, keeping the traditional behaviour by
default.
* core.eol configuration and text/eol attributes are the new way to control
the end of line conventions for files in the working tree.
* core.autocrlf has been made safer - it will now only handle line
endings for new files and files that are LF-only in the
repository. To normalize content that has been checked in with
CRLF, use the new eol/text attributes.
* The whitespace rules used in "git apply --whitespace" and "git diff"
gained a new member in the family (tab-in-indent) to help projects with
@@ -45,8 +48,12 @@ Updates since v1.7.1
commit.
* "git cherry-pick" learned to pick a range of commits
(e.g. "cherry-pick A..B" and "cherry-pick --stdin"); this does not
have nicer sequencing control "rebase [-i]" has, though.
(e.g. "cherry-pick A..B" and "cherry-pick --stdin"), so did "git
revert"; these do not support the nicer sequencing control "rebase
[-i]" has, though.
* "git cherry-pick" and "git revert" learned --strategy option to specify
the merge strategy to be used when performing three-way merges.
* "git cvsserver" can be told to use pserver; its password file can be
stored outside the repository.
@@ -74,7 +81,7 @@ Updates since v1.7.1
* Various options to "git grep" (e.g. --count, --name-only) work better
with binary files.
* "git grep" learned "-Ovi" to open the files with hits in yoru editor.
* "git grep" learned "-Ovi" to open the files with hits in your editor.
* "git help -w" learned "chrome" and "chromium" browsers.
@@ -96,8 +103,6 @@ Updates since v1.7.1
* "git remote" learned "set-branches" subcommand.
* "git revert" learned --strategy option to specify the merge strategy.
* "git rev-list A..B" learned --ancestry-path option to further limit
the result to the commits that are on the ancestry chain between A and
B (i.e. commits that are not descendants of A are excluded).
@@ -147,9 +152,6 @@ release, unless otherwise noted.
* "git diff" could show ambiguous abbreviation of blob object names on
its "index" line (3e5a188).
* "git rebase" did not faithfully reproduce a malformed author ident, that
is often seen in a repository converted from foreign SCMs (43c23251).
* "git reset --hard" started from a wrong directory and a working tree in
a nonstandard location is in use got confused (560fb6a1).

View File

@@ -137,6 +137,13 @@ If you are expecting some objects to be collected and they aren't, check
all of those locations and decide whether it makes sense in your case to
remove those references.
HOOKS
-----
The 'git gc --auto' command will run the 'pre-auto-gc' hook. See
linkgit:githooks[5] for more information.
SEE ALSO
--------
linkgit:git-prune[1]

View File

@@ -7,7 +7,7 @@ git-rerere - Reuse recorded resolution of conflicted merges
SYNOPSIS
--------
'git rerere' ['clear'|'diff'|'status'|'gc']
'git rerere' ['clear'|'forget' [<pathspec>]|'diff'|'status'|'gc']
DESCRIPTION
-----------
@@ -40,6 +40,11 @@ This resets the metadata used by rerere if a merge resolution is to be
aborted. Calling 'git am [--skip|--abort]' or 'git rebase [--skip|--abort]'
will automatically invoke this command.
'forget' <pathspec>::
This resets the conflict resolutions which rerere has recorded for the current
conflict in <pathspec>. The <pathspec> is optional.
'diff'::
This displays diffs for the current state of the resolution. It is

2
date.c
View File

@@ -635,7 +635,7 @@ int parse_date_toffset(const char *date, unsigned long *timestamp, int *offset)
/* mktime uses local timezone */
*timestamp = tm_to_time_t(&tm);
if (*offset == -1)
*offset = (*timestamp - mktime(&tm)) / 60;
*offset = ((time_t)*timestamp - mktime(&tm)) / 60;
if (*timestamp == -1)
return -1;

View File

@@ -1027,18 +1027,18 @@ sub dispatch {
$actions{$action}->();
}
sub run_request {
sub reset_timer {
our $t0 = [Time::HiRes::gettimeofday()]
if defined $t0;
our $number_of_git_cmds = 0;
}
sub run_request {
reset_timer();
evaluate_uri();
evaluate_gitweb_config();
evaluate_git_version();
check_loadavg();
# $projectroot and $projects_list might be set in gitweb config file
$projects_list ||= $projectroot;
evaluate_query_params();
evaluate_path_info();
evaluate_and_validate_params();
@@ -1086,6 +1086,11 @@ sub evaluate_argv {
sub run {
evaluate_argv();
evaluate_gitweb_config();
evaluate_git_version();
# $projectroot and $projects_list might be set in gitweb config file
$projects_list ||= $projectroot;
$pre_listen_hook->()
if $pre_listen_hook;

View File

@@ -28,8 +28,8 @@ check_show 31449600 '12 months ago'
check_parse() {
echo "$1 -> $2" >expect
test_expect_${3:-success} "parse date ($1)" "
test-date parse '$1' >actual &&
test_expect_${4:-success} "parse date ($1${3:+ TZ=$3})" "
TZ=${3:-$TZ} test-date parse '$1' >actual &&
test_cmp expect actual
"
}
@@ -38,6 +38,8 @@ check_parse 2008 bad
check_parse 2008-02 bad
check_parse 2008-02-14 bad
check_parse '2008-02-14 20:30:45' '2008-02-14 20:30:45 +0000'
check_parse '2008-02-14 20:30:45 -0500' '2008-02-14 20:30:45 -0500'
check_parse '2008-02-14 20:30:45' '2008-02-14 20:30:45 -0500' EST
check_approxidate() {
echo "$1 -> $2 +0000" >expect

View File

@@ -21,12 +21,15 @@ static void parse_dates(char **argv, struct timeval *now)
for (; *argv; argv++) {
char result[100];
time_t t;
int tz;
result[0] = 0;
parse_date(*argv, result, sizeof(result));
t = strtoul(result, NULL, 0);
printf("%s -> %s\n", *argv,
t ? show_date(t, 0, DATE_ISO8601) : "bad");
if (sscanf(result, "%ld %d", &t, &tz) == 2)
printf("%s -> %s\n",
*argv, show_date(t, tz, DATE_ISO8601));
else
printf("%s -> bad\n", *argv);
}
}