Merge branch 'maint'
* maint: Documentation: show-ref: document --exclude-existing cvsexportcommit -p : fix the usage of git-apply -C.
This commit is contained in:
@ -10,6 +10,7 @@ SYNOPSIS
|
|||||||
[verse]
|
[verse]
|
||||||
'git-show-ref' [-q|--quiet] [--verify] [-h|--head] [-d|--dereference]
|
'git-show-ref' [-q|--quiet] [--verify] [-h|--head] [-d|--dereference]
|
||||||
[-s|--hash] [--abbrev] [--tags] [--heads] [--] <pattern>...
|
[-s|--hash] [--abbrev] [--tags] [--heads] [--] <pattern>...
|
||||||
|
'git-show-ref' --exclude-existing[=pattern]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -19,6 +20,9 @@ commit IDs. Results can be filtered using a pattern and tags can be
|
|||||||
dereferenced into object IDs. Additionally, it can be used to test whether a
|
dereferenced into object IDs. Additionally, it can be used to test whether a
|
||||||
particular ref exists.
|
particular ref exists.
|
||||||
|
|
||||||
|
The --exclude-existing form is a filter that does the inverse, it shows the
|
||||||
|
refs from stdin that don't exist in the local repository.
|
||||||
|
|
||||||
Use of this utility is encouraged in favor of directly accessing files under
|
Use of this utility is encouraged in favor of directly accessing files under
|
||||||
in the `.git` directory.
|
in the `.git` directory.
|
||||||
|
|
||||||
@ -61,6 +65,18 @@ OPTIONS
|
|||||||
Do not print any results to stdout. When combined with '--verify' this
|
Do not print any results to stdout. When combined with '--verify' this
|
||||||
can be used to silently check if a reference exists.
|
can be used to silently check if a reference exists.
|
||||||
|
|
||||||
|
--exclude-existing, --exclude-existing=pattern::
|
||||||
|
|
||||||
|
Make git-show-ref act as a filter that reads refs from stdin of the
|
||||||
|
form "^(?:<anything>\s)?<refname>(?:\^\{\})?$" and performs the
|
||||||
|
following actions on each:
|
||||||
|
(1) strip "^{}" at the end of line if any;
|
||||||
|
(2) ignore if pattern is provided and does not head-match refname;
|
||||||
|
(3) warn if refname is not a well-formed refname and skip;
|
||||||
|
(4) ignore if refname is a ref that exists in the local repository;
|
||||||
|
(5) otherwise output the line.
|
||||||
|
|
||||||
|
|
||||||
<pattern>::
|
<pattern>::
|
||||||
|
|
||||||
Show references matching one or more patterns.
|
Show references matching one or more patterns.
|
||||||
|
@ -124,12 +124,17 @@ close MSG;
|
|||||||
`git-diff-tree --binary -p $parent $commit >.cvsexportcommit.diff`;# || die "Cannot diff";
|
`git-diff-tree --binary -p $parent $commit >.cvsexportcommit.diff`;# || die "Cannot diff";
|
||||||
|
|
||||||
## apply non-binary changes
|
## apply non-binary changes
|
||||||
my $fuzz = $opt_p ? 0 : 2;
|
|
||||||
|
# In pedantic mode require all lines of context to match. In normal
|
||||||
|
# mode, be compatible with diff/patch: assume 3 lines of context and
|
||||||
|
# require at least one line match, i.e. ignore at most 2 lines of
|
||||||
|
# context, like diff/patch do by default.
|
||||||
|
my $context = $opt_p ? '' : '-C1';
|
||||||
|
|
||||||
print "Checking if patch will apply\n";
|
print "Checking if patch will apply\n";
|
||||||
|
|
||||||
my @stat;
|
my @stat;
|
||||||
open APPLY, "GIT_DIR= git-apply -C$fuzz --binary --summary --numstat<.cvsexportcommit.diff|" || die "cannot patch";
|
open APPLY, "GIT_DIR= git-apply $context --binary --summary --numstat<.cvsexportcommit.diff|" || die "cannot patch";
|
||||||
@stat=<APPLY>;
|
@stat=<APPLY>;
|
||||||
close APPLY || die "Cannot patch";
|
close APPLY || die "Cannot patch";
|
||||||
my (@bfiles,@files,@afiles,@dfiles);
|
my (@bfiles,@files,@afiles,@dfiles);
|
||||||
@ -196,7 +201,7 @@ if ($dirty) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
print "Applying\n";
|
print "Applying\n";
|
||||||
`GIT_DIR= git-apply -C$fuzz --binary --summary --numstat --apply <.cvsexportcommit.diff` || die "cannot patch";
|
`GIT_DIR= git-apply $context --binary --summary --numstat --apply <.cvsexportcommit.diff` || die "cannot patch";
|
||||||
|
|
||||||
print "Patch applied successfully. Adding new files and directories to CVS\n";
|
print "Patch applied successfully. Adding new files and directories to CVS\n";
|
||||||
my $dirtypatch = 0;
|
my $dirtypatch = 0;
|
||||||
|
Reference in New Issue
Block a user