mirror of
https://github.com/git/git.git
synced 2026-03-18 12:40:05 +01:00
Merge branch 'master' into next
* master: grep: read patterns from stdin with -f - gitweb: Always call parse_date with timezone parameter bisect: explain the rationale behind 125
This commit is contained in:
@@ -241,7 +241,12 @@ exit(3) manual page), as the value is chopped with "& 0377".
|
|||||||
|
|
||||||
The special exit code 125 should be used when the current source code
|
The special exit code 125 should be used when the current source code
|
||||||
cannot be tested. If the script exits with this code, the current
|
cannot be tested. If the script exits with this code, the current
|
||||||
revision will be skipped (see `git bisect skip` above).
|
revision will be skipped (see `git bisect skip` above). 125 was chosen
|
||||||
|
as the highest sensible value to use for this purpose, because 126 and 127
|
||||||
|
are used by POSIX shells to signal specific error status (127 is for
|
||||||
|
command not found, 126 is for command found but not executable---these
|
||||||
|
details do not matter, as they are normal errors in the script, as far as
|
||||||
|
"bisect run" is concerned).
|
||||||
|
|
||||||
You may often find that during a bisect session you want to have
|
You may often find that during a bisect session you want to have
|
||||||
temporary modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a
|
temporary modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a
|
||||||
|
|||||||
@@ -659,11 +659,12 @@ static int context_callback(const struct option *opt, const char *arg,
|
|||||||
static int file_callback(const struct option *opt, const char *arg, int unset)
|
static int file_callback(const struct option *opt, const char *arg, int unset)
|
||||||
{
|
{
|
||||||
struct grep_opt *grep_opt = opt->value;
|
struct grep_opt *grep_opt = opt->value;
|
||||||
|
int from_stdin = !strcmp(arg, "-");
|
||||||
FILE *patterns;
|
FILE *patterns;
|
||||||
int lno = 0;
|
int lno = 0;
|
||||||
struct strbuf sb = STRBUF_INIT;
|
struct strbuf sb = STRBUF_INIT;
|
||||||
|
|
||||||
patterns = fopen(arg, "r");
|
patterns = from_stdin ? stdin : fopen(arg, "r");
|
||||||
if (!patterns)
|
if (!patterns)
|
||||||
die_errno("cannot open '%s'", arg);
|
die_errno("cannot open '%s'", arg);
|
||||||
while (strbuf_getline(&sb, patterns, '\n') == 0) {
|
while (strbuf_getline(&sb, patterns, '\n') == 0) {
|
||||||
@@ -677,6 +678,7 @@ static int file_callback(const struct option *opt, const char *arg, int unset)
|
|||||||
s = strbuf_detach(&sb, &len);
|
s = strbuf_detach(&sb, &len);
|
||||||
append_grep_pat(grep_opt, s, len, arg, ++lno, GREP_PATTERN);
|
append_grep_pat(grep_opt, s, len, arg, ++lno, GREP_PATTERN);
|
||||||
}
|
}
|
||||||
|
if (!from_stdin)
|
||||||
fclose(patterns);
|
fclose(patterns);
|
||||||
strbuf_release(&sb);
|
strbuf_release(&sb);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -4906,7 +4906,6 @@ sub git_log_body {
|
|||||||
next if !%co;
|
next if !%co;
|
||||||
my $commit = $co{'id'};
|
my $commit = $co{'id'};
|
||||||
my $ref = format_ref_marker($refs, $commit);
|
my $ref = format_ref_marker($refs, $commit);
|
||||||
my %ad = parse_date($co{'author_epoch'});
|
|
||||||
git_print_header_div('commit',
|
git_print_header_div('commit',
|
||||||
"<span class=\"age\">$co{'age_string'}</span>" .
|
"<span class=\"age\">$co{'age_string'}</span>" .
|
||||||
esc_html($co{'title'}) . $ref,
|
esc_html($co{'title'}) . $ref,
|
||||||
@@ -7064,7 +7063,7 @@ sub git_feed {
|
|||||||
if (defined($commitlist[0])) {
|
if (defined($commitlist[0])) {
|
||||||
%latest_commit = %{$commitlist[0]};
|
%latest_commit = %{$commitlist[0]};
|
||||||
my $latest_epoch = $latest_commit{'committer_epoch'};
|
my $latest_epoch = $latest_commit{'committer_epoch'};
|
||||||
%latest_date = parse_date($latest_epoch);
|
%latest_date = parse_date($latest_epoch, $latest_commit{'comitter_tz'});
|
||||||
my $if_modified = $cgi->http('IF_MODIFIED_SINCE');
|
my $if_modified = $cgi->http('IF_MODIFIED_SINCE');
|
||||||
if (defined $if_modified) {
|
if (defined $if_modified) {
|
||||||
my $since;
|
my $since;
|
||||||
@@ -7195,7 +7194,7 @@ XML
|
|||||||
if (($i >= 20) && ((time - $co{'author_epoch'}) > 48*60*60)) {
|
if (($i >= 20) && ((time - $co{'author_epoch'}) > 48*60*60)) {
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
my %cd = parse_date($co{'author_epoch'});
|
my %cd = parse_date($co{'author_epoch'}, $co{'author_tz'});
|
||||||
|
|
||||||
# get list of changed files
|
# get list of changed files
|
||||||
open my $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
|
open my $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
|
||||||
|
|||||||
@@ -303,6 +303,11 @@ test_expect_success 'grep -f, ignore empty lines' '
|
|||||||
test_cmp expected actual
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'grep -f, ignore empty lines, read patterns from stdin' '
|
||||||
|
git grep -f - <patterns >actual &&
|
||||||
|
test_cmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
cat >expected <<EOF
|
cat >expected <<EOF
|
||||||
y:y yy
|
y:y yy
|
||||||
--
|
--
|
||||||
|
|||||||
Reference in New Issue
Block a user