mirror of
https://github.com/git/git.git
synced 2026-03-29 11:00:07 +02:00
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:
@@ -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).
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
2
date.c
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user