merge(3p/git): Merge git upstream at v2.26.2

This commit is contained in:
Vincent Ambo 2020-05-22 17:46:45 +01:00
commit 5229c9b232
1006 changed files with 149006 additions and 60819 deletions

View file

@ -79,7 +79,8 @@ sub createProject {
if (!$static_library) {
$libs_release = join(";", sort(grep /^(?!libgit\.lib|xdiff\/lib\.lib|vcs-svn\/lib\.lib)/, @{$$build_structure{"$prefix${name}_LIBS"}}));
$libs_debug = $libs_release;
$libs_debug =~ s/zlib\.lib/zlibd\.lib/;
$libs_debug =~ s/zlib\.lib/zlibd\.lib/g;
$libs_debug =~ s/libcurl\.lib/libcurl-d\.lib/g;
}
$defines =~ s/-D//g;
@ -119,13 +120,13 @@ sub createProject {
<VCPKGArch Condition="'\$(Platform)'=='Win32'">x86-windows</VCPKGArch>
<VCPKGArch Condition="'\$(Platform)'!='Win32'">x64-windows</VCPKGArch>
<VCPKGArchDirectory>$cdup\\compat\\vcbuild\\vcpkg\\installed\\\$(VCPKGArch)</VCPKGArchDirectory>
<VCPKGBinDirectory Condition="'\(Configuration)'=='Debug'">\$(VCPKGArchDirectory)\\debug\\bin</VCPKGBinDirectory>
<VCPKGLibDirectory Condition="'\(Configuration)'=='Debug'">\$(VCPKGArchDirectory)\\debug\\lib</VCPKGLibDirectory>
<VCPKGBinDirectory Condition="'\(Configuration)'!='Debug'">\$(VCPKGArchDirectory)\\bin</VCPKGBinDirectory>
<VCPKGLibDirectory Condition="'\(Configuration)'!='Debug'">\$(VCPKGArchDirectory)\\lib</VCPKGLibDirectory>
<VCPKGBinDirectory Condition="'\$(Configuration)'=='Debug'">\$(VCPKGArchDirectory)\\debug\\bin</VCPKGBinDirectory>
<VCPKGLibDirectory Condition="'\$(Configuration)'=='Debug'">\$(VCPKGArchDirectory)\\debug\\lib</VCPKGLibDirectory>
<VCPKGBinDirectory Condition="'\$(Configuration)'!='Debug'">\$(VCPKGArchDirectory)\\bin</VCPKGBinDirectory>
<VCPKGLibDirectory Condition="'\$(Configuration)'!='Debug'">\$(VCPKGArchDirectory)\\lib</VCPKGLibDirectory>
<VCPKGIncludeDirectory>\$(VCPKGArchDirectory)\\include</VCPKGIncludeDirectory>
<VCPKGLibs Condition="'\(Configuration)'=='Debug'">$libs_debug</VCPKGLibs>
<VCPKGLibs Condition="'\(Configuration)'!='Debug'">$libs_release</VCPKGLibs>
<VCPKGLibs Condition="'\$(Configuration)'=='Debug'">$libs_debug</VCPKGLibs>
<VCPKGLibs Condition="'\$(Configuration)'!='Debug'">$libs_release</VCPKGLibs>
</PropertyGroup>
<Import Project="\$(VCTargetsPath)\\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'\$(Configuration)'=='Debug'" Label="Configuration">
@ -277,6 +278,9 @@ EOM
if ($target eq 'git') {
print F " <Import Project=\"LinkOrCopyBuiltins.targets\" />\n";
}
if ($target eq 'git-remote-http') {
print F " <Import Project=\"LinkOrCopyRemoteHttp.targets\" />\n";
}
print F << "EOM";
</Project>
EOM

View file

@ -343,9 +343,9 @@ sub handleLinkLine
} elsif ("$part" eq "-lz") {
push(@libs, "zlib.lib");
} elsif ("$part" eq "-lcrypto") {
push(@libs, "libeay32.lib");
push(@libs, "libcrypto.lib");
} elsif ("$part" eq "-lssl") {
push(@libs, "ssleay32.lib");
push(@libs, "libssl.lib");
} elsif ("$part" eq "-lcurl") {
push(@libs, "libcurl.lib");
} elsif ("$part" eq "-lexpat") {

View file

@ -20,7 +20,7 @@ expression s;
+ set_commit_tree(c, s)
...>}
// These excluded functions must access c->maybe_tree direcly.
// These excluded functions must access c->maybe_tree directly.
// Note that if c->maybe_tree is written somewhere outside of these
// functions, then the recommended transformation will be bogus with
// repo_get_commit_tree() on the LHS.

View file

@ -0,0 +1,16 @@
@ hashmap_entry_init_usage @
expression E;
struct hashmap_entry HME;
@@
- HME.hash = E;
+ hashmap_entry_init(&HME, E);
@@
identifier f !~ "^hashmap_entry_init$";
expression E;
struct hashmap_entry *HMEP;
@@
f(...) {<...
- HMEP->hash = E;
+ hashmap_entry_init(HMEP, E);
...>}

View file

@ -10,38 +10,6 @@ struct object_id *OIDPTR;
- is_null_sha1(OIDPTR->hash)
+ is_null_oid(OIDPTR)
@@
struct object_id OID;
@@
- sha1_to_hex(OID.hash)
+ oid_to_hex(&OID)
@@
identifier f != oid_to_hex;
struct object_id *OIDPTR;
@@
f(...) {<...
- sha1_to_hex(OIDPTR->hash)
+ oid_to_hex(OIDPTR)
...>}
@@
expression E;
struct object_id OID;
@@
- sha1_to_hex_r(E, OID.hash)
+ oid_to_hex_r(E, &OID)
@@
identifier f != oid_to_hex_r;
expression E;
struct object_id *OIDPTR;
@@
f(...) {<...
- sha1_to_hex_r(E, OIDPTR->hash)
+ oid_to_hex_r(E, OIDPTR)
...>}
@@
struct object_id OID;
@@

View file

@ -340,7 +340,7 @@ __gitcomp ()
c="$c${4-}"
if [[ $c == "$cur_"* ]]; then
case $c in
--*=*|*.) ;;
--*=|*.) ;;
*) c="$c " ;;
esac
COMPREPLY[i++]="${2-}$c"
@ -360,7 +360,7 @@ __gitcomp ()
c="$c${4-}"
if [[ $c == "$cur_"* ]]; then
case $c in
--*=*|*.) ;;
*=|*.) ;;
*) c="$c " ;;
esac
COMPREPLY[i++]="${2-}$c"
@ -524,7 +524,7 @@ __git_index_files ()
# Even when a directory name itself does not contain
# any special characters, it will still be quoted if
# any of its (stripped) trailing path components do.
# Because of this we may have seen the same direcory
# Because of this we may have seen the same directory
# both quoted and unquoted.
if (p in paths)
# We have seen the same directory unquoted,
@ -550,7 +550,7 @@ __git_index_files ()
esc_idx, 1)
} else if (esc == "n") {
# Uh-oh, a newline character.
# We cant reliably put a pathname
# We cannot reliably put a pathname
# containing a newline into COMPREPLY,
# and the newline would create a mess.
# Skip this path.
@ -565,7 +565,7 @@ __git_index_files ()
}
}
# Drop closing double quote, if there is one.
# (There isnt any if this is a directory, as it was
# (There is not any if this is a directory, as it was
# already stripped with the trailing path components.)
if (substr(p, length(p), 1) == "\"")
out = out substr(p, 1, length(p) - 1)
@ -1069,15 +1069,32 @@ __git_aliased_command ()
done
}
# __git_find_on_cmdline requires 1 argument
# Check whether one of the given words is present on the command line,
# and print the first word found.
#
# Usage: __git_find_on_cmdline [<option>]... "<wordlist>"
# --show-idx: Optionally show the index of the found word in the $words array.
__git_find_on_cmdline ()
{
local word subcommand c=1
local word c=1 show_idx
while test $# -gt 1; do
case "$1" in
--show-idx) show_idx=y ;;
*) return 1 ;;
esac
shift
done
local wordlist="$1"
while [ $c -lt $cword ]; do
word="${words[c]}"
for subcommand in $1; do
if [ "$subcommand" = "$word" ]; then
echo "$subcommand"
for word in $wordlist; do
if [ "$word" = "${words[c]}" ]; then
if [ -n "$show_idx" ]; then
echo "$c $word"
else
echo "$word"
fi
return
fi
done
@ -1180,6 +1197,7 @@ __git_count_arguments ()
__git_whitespacelist="nowarn warn error error-all fix"
__git_patchformat="mbox stgit stgit-series hg mboxrd"
__git_showcurrentpatch="diff raw"
__git_am_inprogress_options="--skip --continue --resolved --abort --quit --show-current-patch"
_git_am ()
@ -1198,6 +1216,10 @@ _git_am ()
__gitcomp "$__git_patchformat" "" "${cur##--patch-format=}"
return
;;
--show-current-patch=*)
__gitcomp "$__git_showcurrentpatch" "" "${cur##--show-current-patch=}"
return
;;
--*)
__gitcomp_builtin am "" \
"$__git_am_inprogress_options"
@ -1250,10 +1272,7 @@ _git_archive ()
return
;;
--*)
__gitcomp "
--format= --list --verbose
--prefix= --remote= --exec= --output
"
__gitcomp_builtin archive "--format= --list --verbose --prefix= --worktree-attributes"
return
;;
esac
@ -1361,7 +1380,9 @@ _git_checkout ()
esac
}
__git_cherry_pick_inprogress_options="--continue --quit --abort"
__git_sequencer_inprogress_options="--continue --quit --abort --skip"
__git_cherry_pick_inprogress_options=$__git_sequencer_inprogress_options
_git_cherry_pick ()
{
@ -1399,7 +1420,18 @@ _git_clean ()
_git_clone ()
{
case "$prev" in
-c|--config)
__git_complete_config_variable_name_and_value
return
;;
esac
case "$cur" in
--config=*)
__git_complete_config_variable_name_and_value \
--cur="${cur##--config=}"
return
;;
--*)
__gitcomp_builtin clone
return
@ -1460,9 +1492,16 @@ __git_diff_algorithms="myers minimal patience histogram"
__git_diff_submodule_formats="diff log short"
__git_color_moved_opts="no default plain blocks zebra dimmed-zebra"
__git_color_moved_ws_opts="no ignore-space-at-eol ignore-space-change
ignore-all-space allow-indentation-change"
__git_diff_common_options="--stat --numstat --shortstat --summary
--patch-with-stat --name-only --name-status --color
--no-color --color-words --no-renames --check
--color-moved --color-moved= --no-color-moved
--color-moved-ws= --no-color-moved-ws
--full-index --binary --abbrev --diff-filter=
--find-copies-harder --ignore-cr-at-eol
--text --ignore-space-at-eol --ignore-space-change
@ -1476,6 +1515,8 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
--dirstat-by-file= --cumulative
--diff-algorithm=
--submodule --submodule= --ignore-submodules
--indent-heuristic --no-indent-heuristic
--textconv --no-textconv
"
_git_diff ()
@ -1491,6 +1532,14 @@ _git_diff ()
__gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}"
return
;;
--color-moved=*)
__gitcomp "$__git_color_moved_opts" "" "${cur##--color-moved=}"
return
;;
--color-moved-ws=*)
__gitcomp "$__git_color_moved_ws_opts" "" "${cur##--color-moved-ws=}"
return
;;
--*)
__gitcomp "--cached --staged --pickaxe-all --pickaxe-regex
--base --ours --theirs --no-index
@ -1737,7 +1786,7 @@ __git_log_shortlog_options="
--all-match --invert-grep
"
__git_log_pretty_formats="oneline short medium full fuller email raw format: mboxrd"
__git_log_pretty_formats="oneline short medium full fuller reference email raw format: tformat: mboxrd"
__git_log_date_formats="relative iso8601 iso8601-strict rfc2822 short local default raw unix format:"
_git_log ()
@ -1784,6 +1833,10 @@ _git_log ()
__gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}"
return
;;
--no-walk=*)
__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
return
;;
--*)
__gitcomp "
$__git_log_common_options
@ -1791,16 +1844,19 @@ _git_log ()
$__git_log_gitk_options
--root --topo-order --date-order --reverse
--follow --full-diff
--abbrev-commit --abbrev=
--abbrev-commit --no-abbrev-commit --abbrev=
--relative-date --date=
--pretty= --format= --oneline
--show-signature
--cherry-mark
--cherry-pick
--graph
--decorate --decorate=
--decorate --decorate= --no-decorate
--walk-reflogs
--no-walk --no-walk= --do-walk
--parents --children
--expand-tabs --expand-tabs= --no-expand-tabs
--patch
$merge
$__git_diff_common_options
--pickaxe-all --pickaxe-regex
@ -2004,15 +2060,18 @@ _git_range_diff ()
__git_complete_revlist
}
__git_rebase_inprogress_options="--continue --skip --abort --quit --show-current-patch"
__git_rebase_interactive_inprogress_options="$__git_rebase_inprogress_options --edit-todo"
_git_rebase ()
{
__git_find_repo_path
if [ -f "$__git_repo_path"/rebase-merge/interactive ]; then
__gitcomp "--continue --skip --abort --quit --edit-todo --show-current-patch"
__gitcomp "$__git_rebase_interactive_inprogress_options"
return
elif [ -d "$__git_repo_path"/rebase-apply ] || \
[ -d "$__git_repo_path"/rebase-merge ]; then
__gitcomp "--continue --skip --abort --quit --show-current-patch"
__gitcomp "$__git_rebase_inprogress_options"
return
fi
__git_complete_strategy && return
@ -2021,20 +2080,13 @@ _git_rebase ()
__gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}"
return
;;
--onto=*)
__git_complete_refs --cur="${cur##--onto=}"
return
;;
--*)
__gitcomp "
--onto --merge --strategy --interactive
--rebase-merges --preserve-merges --stat --no-stat
--committer-date-is-author-date --ignore-date
--ignore-whitespace --whitespace=
--autosquash --no-autosquash
--fork-point --no-fork-point
--autostash --no-autostash
--verify --no-verify
--keep-empty --root --force-rebase --no-ff
--rerere-autoupdate
--exec
"
__gitcomp_builtin rebase "" \
"$__git_rebase_interactive_inprogress_options"
return
esac
@ -2225,181 +2277,282 @@ __git_config_vars=
__git_compute_config_vars ()
{
test -n "$__git_config_vars" ||
__git_config_vars="$(git help --config-for-completion | sort | uniq)"
__git_config_vars="$(git help --config-for-completion | sort -u)"
}
_git_config ()
# Completes possible values of various configuration variables.
#
# Usage: __git_complete_config_variable_value [<option>]...
# --varname=<word>: The name of the configuration variable whose value is
# to be completed. Defaults to the previous word on the
# command line.
# --cur=<word>: The current value to be completed. Defaults to the current
# word to be completed.
__git_complete_config_variable_value ()
{
local varname
local varname="$prev" cur_="$cur"
while test $# != 0; do
case "$1" in
--varname=*) varname="${1##--varname=}" ;;
--cur=*) cur_="${1##--cur=}" ;;
*) return 1 ;;
esac
shift
done
if [ "${BASH_VERSINFO[0]:-0}" -ge 4 ]; then
varname="${prev,,}"
varname="${varname,,}"
else
varname="$(echo "$prev" |tr A-Z a-z)"
varname="$(echo "$varname" |tr A-Z a-z)"
fi
case "$varname" in
branch.*.remote|branch.*.pushremote)
__gitcomp_nl "$(__git_remotes)"
__gitcomp_nl "$(__git_remotes)" "" "$cur_"
return
;;
branch.*.merge)
__git_complete_refs
__git_complete_refs --cur="$cur_"
return
;;
branch.*.rebase)
__gitcomp "false true merges preserve interactive"
__gitcomp "false true merges preserve interactive" "" "$cur_"
return
;;
remote.pushdefault)
__gitcomp_nl "$(__git_remotes)"
__gitcomp_nl "$(__git_remotes)" "" "$cur_"
return
;;
remote.*.fetch)
local remote="${prev#remote.}"
local remote="${varname#remote.}"
remote="${remote%.fetch}"
if [ -z "$cur" ]; then
if [ -z "$cur_" ]; then
__gitcomp_nl "refs/heads/" "" "" ""
return
fi
__gitcomp_nl "$(__git_refs_remotes "$remote")"
__gitcomp_nl "$(__git_refs_remotes "$remote")" "" "$cur_"
return
;;
remote.*.push)
local remote="${prev#remote.}"
local remote="${varname#remote.}"
remote="${remote%.push}"
__gitcomp_nl "$(__git for-each-ref \
--format='%(refname):%(refname)' refs/heads)"
--format='%(refname):%(refname)' refs/heads)" "" "$cur_"
return
;;
pull.twohead|pull.octopus)
__git_compute_merge_strategies
__gitcomp "$__git_merge_strategies"
return
;;
color.branch|color.diff|color.interactive|\
color.showbranch|color.status|color.ui)
__gitcomp "always never auto"
__gitcomp "$__git_merge_strategies" "" "$cur_"
return
;;
color.pager)
__gitcomp "false true"
__gitcomp "false true" "" "$cur_"
return
;;
color.*.*)
__gitcomp "
normal black red green yellow blue magenta cyan white
bold dim ul blink reverse
"
" "" "$cur_"
return
;;
color.*)
__gitcomp "false true always never auto" "" "$cur_"
return
;;
diff.submodule)
__gitcomp "$__git_diff_submodule_formats"
__gitcomp "$__git_diff_submodule_formats" "" "$cur_"
return
;;
help.format)
__gitcomp "man info web html"
__gitcomp "man info web html" "" "$cur_"
return
;;
log.date)
__gitcomp "$__git_log_date_formats"
__gitcomp "$__git_log_date_formats" "" "$cur_"
return
;;
sendemail.aliasfiletype)
__gitcomp "mutt mailrc pine elm gnus"
__gitcomp "mutt mailrc pine elm gnus" "" "$cur_"
return
;;
sendemail.confirm)
__gitcomp "$__git_send_email_confirm_options"
__gitcomp "$__git_send_email_confirm_options" "" "$cur_"
return
;;
sendemail.suppresscc)
__gitcomp "$__git_send_email_suppresscc_options"
__gitcomp "$__git_send_email_suppresscc_options" "" "$cur_"
return
;;
sendemail.transferencoding)
__gitcomp "7bit 8bit quoted-printable base64"
return
;;
--get|--get-all|--unset|--unset-all)
__gitcomp_nl "$(__git_config_get_set_variables)"
__gitcomp "7bit 8bit quoted-printable base64" "" "$cur_"
return
;;
*.*)
return
;;
esac
case "$cur" in
--*)
__gitcomp_builtin config
return
;;
}
# Completes configuration sections, subsections, variable names.
#
# Usage: __git_complete_config_variable_name [<option>]...
# --cur=<word>: The current configuration section/variable name to be
# completed. Defaults to the current word to be completed.
# --sfx=<suffix>: A suffix to be appended to each fully completed
# configuration variable name (but not to sections or
# subsections) instead of the default space.
__git_complete_config_variable_name ()
{
local cur_="$cur" sfx
while test $# != 0; do
case "$1" in
--cur=*) cur_="${1##--cur=}" ;;
--sfx=*) sfx="${1##--sfx=}" ;;
*) return 1 ;;
esac
shift
done
case "$cur_" in
branch.*.*)
local pfx="${cur%.*}." cur_="${cur##*.}"
__gitcomp "remote pushRemote merge mergeOptions rebase" "$pfx" "$cur_"
local pfx="${cur_%.*}."
cur_="${cur_##*.}"
__gitcomp "remote pushRemote merge mergeOptions rebase" "$pfx" "$cur_" "$sfx"
return
;;
branch.*)
local pfx="${cur%.*}." cur_="${cur#*.}"
local pfx="${cur%.*}."
cur_="${cur#*.}"
__gitcomp_direct "$(__git_heads "$pfx" "$cur_" ".")"
__gitcomp_nl_append $'autoSetupMerge\nautoSetupRebase\n' "$pfx" "$cur_"
__gitcomp_nl_append $'autoSetupMerge\nautoSetupRebase\n' "$pfx" "$cur_" "$sfx"
return
;;
guitool.*.*)
local pfx="${cur%.*}." cur_="${cur##*.}"
local pfx="${cur_%.*}."
cur_="${cur_##*.}"
__gitcomp "
argPrompt cmd confirm needsFile noConsole noRescan
prompt revPrompt revUnmerged title
" "$pfx" "$cur_"
" "$pfx" "$cur_" "$sfx"
return
;;
difftool.*.*)
local pfx="${cur%.*}." cur_="${cur##*.}"
__gitcomp "cmd path" "$pfx" "$cur_"
local pfx="${cur_%.*}."
cur_="${cur_##*.}"
__gitcomp "cmd path" "$pfx" "$cur_" "$sfx"
return
;;
man.*.*)
local pfx="${cur%.*}." cur_="${cur##*.}"
__gitcomp "cmd path" "$pfx" "$cur_"
local pfx="${cur_%.*}."
cur_="${cur_##*.}"
__gitcomp "cmd path" "$pfx" "$cur_" "$sfx"
return
;;
mergetool.*.*)
local pfx="${cur%.*}." cur_="${cur##*.}"
__gitcomp "cmd path trustExitCode" "$pfx" "$cur_"
local pfx="${cur_%.*}."
cur_="${cur_##*.}"
__gitcomp "cmd path trustExitCode" "$pfx" "$cur_" "$sfx"
return
;;
pager.*)
local pfx="${cur%.*}." cur_="${cur#*.}"
local pfx="${cur_%.*}."
cur_="${cur_#*.}"
__git_compute_all_commands
__gitcomp_nl "$__git_all_commands" "$pfx" "$cur_"
__gitcomp_nl "$__git_all_commands" "$pfx" "$cur_" "$sfx"
return
;;
remote.*.*)
local pfx="${cur%.*}." cur_="${cur##*.}"
local pfx="${cur_%.*}."
cur_="${cur_##*.}"
__gitcomp "
url proxy fetch push mirror skipDefaultUpdate
receivepack uploadpack tagOpt pushurl
" "$pfx" "$cur_"
" "$pfx" "$cur_" "$sfx"
return
;;
remote.*)
local pfx="${cur%.*}." cur_="${cur#*.}"
local pfx="${cur_%.*}."
cur_="${cur_#*.}"
__gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "."
__gitcomp_nl_append "pushDefault" "$pfx" "$cur_"
__gitcomp_nl_append "pushDefault" "$pfx" "$cur_" "$sfx"
return
;;
url.*.*)
local pfx="${cur%.*}." cur_="${cur##*.}"
__gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur_"
local pfx="${cur_%.*}."
cur_="${cur_##*.}"
__gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur_" "$sfx"
return
;;
*.*)
__git_compute_config_vars
__gitcomp "$__git_config_vars"
__gitcomp "$__git_config_vars" "" "$cur_" "$sfx"
;;
*)
__git_compute_config_vars
__gitcomp "$(echo "$__git_config_vars" | sed 's/\.[^ ]*/./g')"
__gitcomp "$(echo "$__git_config_vars" |
awk -F . '{
sections[$1] = 1
}
END {
for (s in sections)
print s "."
}
')" "" "$cur_"
;;
esac
}
# Completes '='-separated configuration sections/variable names and values
# for 'git -c section.name=value'.
#
# Usage: __git_complete_config_variable_name_and_value [<option>]...
# --cur=<word>: The current configuration section/variable name/value to be
# completed. Defaults to the current word to be completed.
__git_complete_config_variable_name_and_value ()
{
local cur_="$cur"
while test $# != 0; do
case "$1" in
--cur=*) cur_="${1##--cur=}" ;;
*) return 1 ;;
esac
shift
done
case "$cur_" in
*=*)
__git_complete_config_variable_value \
--varname="${cur_%%=*}" --cur="${cur_#*=}"
;;
*)
__git_complete_config_variable_name --cur="$cur_" --sfx='='
;;
esac
}
_git_config ()
{
case "$prev" in
--get|--get-all|--unset|--unset-all)
__gitcomp_nl "$(__git_config_get_set_variables)"
return
;;
*.*)
__git_complete_config_variable_value
return
;;
esac
case "$cur" in
--*)
__gitcomp_builtin config
;;
*)
__git_complete_config_variable_name
;;
esac
}
@ -2512,7 +2665,7 @@ _git_restore ()
esac
}
__git_revert_inprogress_options="--continue --quit --abort"
__git_revert_inprogress_options=$__git_sequencer_inprogress_options
_git_revert ()
{
@ -2580,8 +2733,9 @@ _git_show ()
return
;;
--*)
__gitcomp "--pretty= --format= --abbrev-commit --oneline
--show-signature
__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
--oneline --show-signature --patch
--expand-tabs --expand-tabs= --no-expand-tabs
$__git_diff_common_options
"
return
@ -2601,6 +2755,27 @@ _git_show_branch ()
__git_complete_revlist
}
_git_sparse_checkout ()
{
local subcommands="list init set disable"
local subcommand="$(__git_find_on_cmdline "$subcommands")"
if [ -z "$subcommand" ]; then
__gitcomp "$subcommands"
return
fi
case "$subcommand,$cur" in
init,--*)
__gitcomp "--cone"
;;
set,--*)
__gitcomp "--stdin"
;;
*)
;;
esac
}
_git_stash ()
{
local save_opts='--all --keep-index --no-keep-index --quiet --patch --include-untracked'
@ -2666,7 +2841,7 @@ _git_submodule ()
{
__git_has_doubledash && return
local subcommands="add status init deinit update set-branch summary foreach sync absorbgitdirs"
local subcommands="add status init deinit update set-branch set-url summary foreach sync absorbgitdirs"
local subcommand="$(__git_find_on_cmdline "$subcommands")"
if [ -z "$subcommand" ]; then
case "$cur" in
@ -2730,6 +2905,7 @@ _git_svn ()
--log-window-size= --no-checkout --quiet
--repack-flags --use-log-author --localtime
--add-author-from
--recursive
--ignore-paths= --include-paths= $remote_opts
"
local init_opts="
@ -2851,33 +3027,83 @@ _git_whatchanged ()
_git_log
}
__git_complete_worktree_paths ()
{
local IFS=$'\n'
__gitcomp_nl "$(git worktree list --porcelain |
# Skip the first entry: it's the path of the main worktree,
# which can't be moved, removed, locked, etc.
sed -n -e '2,$ s/^worktree //p')"
}
_git_worktree ()
{
local subcommands="add list lock move prune remove unlock"
local subcommand="$(__git_find_on_cmdline "$subcommands")"
if [ -z "$subcommand" ]; then
local subcommand subcommand_idx
subcommand="$(__git_find_on_cmdline --show-idx "$subcommands")"
subcommand_idx="${subcommand% *}"
subcommand="${subcommand#* }"
case "$subcommand,$cur" in
,*)
__gitcomp "$subcommands"
else
case "$subcommand,$cur" in
add,--*)
__gitcomp_builtin worktree_add
;;
*,--*)
__gitcomp_builtin worktree_$subcommand
;;
add,*) # usage: git worktree add [<options>] <path> [<commit-ish>]
# Here we are not completing an --option, it's either the
# path or a ref.
case "$prev" in
-b|-B) # Complete refs for branch to be created/reseted.
__git_complete_refs
;;
list,--*)
__gitcomp_builtin worktree_list
-*) # The previous word is an -o|--option without an
# unstuck argument: have to complete the path for
# the new worktree, so don't list anything, but let
# Bash fall back to filename completion.
;;
lock,--*)
__gitcomp_builtin worktree_lock
;;
prune,--*)
__gitcomp_builtin worktree_prune
;;
remove,--*)
__gitcomp "--force"
;;
*)
*) # The previous word is not an --option, so it must
# be either the 'add' subcommand, the unstuck
# argument of an option (e.g. branch for -b|-B), or
# the path for the new worktree.
if [ $cword -eq $((subcommand_idx+1)) ]; then
# Right after the 'add' subcommand: have to
# complete the path, so fall back to Bash
# filename completion.
:
else
case "${words[cword-2]}" in
-b|-B) # After '-b <branch>': have to
# complete the path, so fall back
# to Bash filename completion.
;;
*) # After the path: have to complete
# the ref to be checked out.
__git_complete_refs
;;
esac
fi
;;
esac
fi
;;
lock,*|remove,*|unlock,*)
__git_complete_worktree_paths
;;
move,*)
if [ $cword -eq $((subcommand_idx+1)) ]; then
# The first parameter must be an existing working
# tree to be moved.
__git_complete_worktree_paths
else
# The second parameter is the destination: it could
# be any path, so don't list anything, but let Bash
# fall back to filename completion.
:
fi
;;
esac
}
__git_complete_common () {
@ -2956,7 +3182,11 @@ __git_main ()
# Bash filename completion
return
;;
-c|--namespace)
-c)
__git_complete_config_variable_name_and_value
return
;;
--namespace)
# we don't support completing these options' arguments
return
;;

View file

@ -11,8 +11,9 @@
#
# zstyle ':completion:*:*:git:*' script ~/.git-completion.zsh
#
# The recommended way to install this script is to copy to '~/.zsh/_git', and
# then add the following to your ~/.zshrc file:
# The recommended way to install this script is to make a copy of it in
# ~/.zsh/ directory as ~/.zsh/git-completion.zsh and then add the following
# to your ~/.zshrc file:
#
# fpath=(~/.zsh $fpath)

View file

@ -429,11 +429,7 @@ __git_ps1 ()
__git_eread "$g/rebase-merge/head-name" b
__git_eread "$g/rebase-merge/msgnum" step
__git_eread "$g/rebase-merge/end" total
if [ -f "$g/rebase-merge/interactive" ]; then
r="|REBASE-i"
else
r="|REBASE-m"
fi
r="|REBASE"
else
if [ -d "$g/rebase-apply" ]; then
__git_eread "$g/rebase-apply/next" step

View file

@ -0,0 +1 @@
git-credential-netrc

View file

@ -1,8 +1,30 @@
# The default target of this Makefile is...
all::
test:
SCRIPT_PERL = git-credential-netrc.perl
GIT_ROOT_DIR = ../../..
HERE = contrib/credential/netrc
SCRIPT_PERL_FULL = $(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
all:: build
build:
$(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
build-perl-script
install: build
$(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
install-perl-script
clean:
$(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
clean-perl-script
test: build
./t-git-credential-netrc.sh
testverbose:
testverbose: build
./t-git-credential-netrc.sh -d -v
.PHONY: all build install clean test testverbose

View file

@ -423,7 +423,7 @@ sub load_config {
# load settings from git config
my $options = shift;
# set from command argument, gpg.program option, or default to gpg
$options->{'gpg'} //= Git->repository()->config('gpg.program')
$options->{'gpg'} //= Git::config('gpg.program')
// 'gpg';
log_verbose("using $options{'gpg'} for GPG operations");
}

View file

@ -72,7 +72,7 @@ sub handle_line {
(?:$COLOR?\|$COLOR?[ ])* # zero or more trailing "|"
[ ]* # trailing whitespace for merges
/x) {
my $graph_prefix = $&;
my $graph_prefix = $&;
# We must flush before setting graph indent, since the
# new commit may be indented differently from what we

View file

@ -42,7 +42,7 @@ hgnewcsets = 0
def usage():
print """\
print("""\
%s: [OPTIONS] <hgprj>
options:
@ -54,7 +54,7 @@ options:
required:
hgprj: name of the HG project to import (directory)
""" % sys.argv[0]
""" % sys.argv[0])
#------------------------------------------------------------------------------
@ -104,22 +104,22 @@ os.chdir(hgprj)
if state:
if os.path.exists(state):
if verbose:
print 'State does exist, reading'
print('State does exist, reading')
f = open(state, 'r')
hgvers = pickle.load(f)
else:
print 'State does not exist, first run'
print('State does not exist, first run')
sock = os.popen('hg tip --template "{rev}"')
tip = sock.read()
if sock.close():
sys.exit(1)
if verbose:
print 'tip is', tip
print('tip is', tip)
# Calculate the branches
if verbose:
print 'analysing the branches...'
print('analysing the branches...')
hgchildren["0"] = ()
hgparents["0"] = (None, None)
hgbranch["0"] = "master"
@ -154,15 +154,15 @@ for cset in range(1, int(tip) + 1):
else:
hgbranch[str(cset)] = "branch-" + str(cset)
if not hgvers.has_key("0"):
print 'creating repository'
if "0" not in hgvers:
print('creating repository')
os.system('git init')
# loop through every hg changeset
for cset in range(int(tip) + 1):
# incremental, already seen
if hgvers.has_key(str(cset)):
if str(cset) in hgvers:
continue
hgnewcsets += 1
@ -180,27 +180,27 @@ for cset in range(int(tip) + 1):
os.write(fdcomment, csetcomment)
os.close(fdcomment)
print '-----------------------------------------'
print 'cset:', cset
print 'branch:', hgbranch[str(cset)]
print 'user:', user
print 'date:', date
print 'comment:', csetcomment
print('-----------------------------------------')
print('cset:', cset)
print('branch:', hgbranch[str(cset)])
print('user:', user)
print('date:', date)
print('comment:', csetcomment)
if parent:
print 'parent:', parent
print('parent:', parent)
if mparent:
print 'mparent:', mparent
print('mparent:', mparent)
if tag:
print 'tag:', tag
print '-----------------------------------------'
print('tag:', tag)
print('-----------------------------------------')
# checkout the parent if necessary
if cset != 0:
if hgbranch[str(cset)] == "branch-" + str(cset):
print 'creating new branch', hgbranch[str(cset)]
print('creating new branch', hgbranch[str(cset)])
os.system('git checkout -b %s %s' % (hgbranch[str(cset)], hgvers[parent]))
else:
print 'checking out branch', hgbranch[str(cset)]
print('checking out branch', hgbranch[str(cset)])
os.system('git checkout %s' % hgbranch[str(cset)])
# merge
@ -209,7 +209,7 @@ for cset in range(int(tip) + 1):
otherbranch = hgbranch[mparent]
else:
otherbranch = hgbranch[parent]
print 'merging', otherbranch, 'into', hgbranch[str(cset)]
print('merging', otherbranch, 'into', hgbranch[str(cset)])
os.system(getgitenv(user, date) + 'git merge --no-commit -s ours "" %s %s' % (hgbranch[str(cset)], otherbranch))
# remove everything except .git and .hg directories
@ -233,12 +233,12 @@ for cset in range(int(tip) + 1):
# delete branch if not used anymore...
if mparent and len(hgchildren[str(cset)]):
print "Deleting unused branch:", otherbranch
print("Deleting unused branch:", otherbranch)
os.system('git branch -d %s' % otherbranch)
# retrieve and record the version
vvv = os.popen('git show --quiet --pretty=format:%H').read()
print 'record', cset, '->', vvv
print('record', cset, '->', vvv)
hgvers[str(cset)] = vvv
if hgnewcsets >= opt_nrepack and opt_nrepack != -1:
@ -247,7 +247,7 @@ if hgnewcsets >= opt_nrepack and opt_nrepack != -1:
# write the state for incrementals
if state:
if verbose:
print 'Writing state'
print('Writing state')
f = open(state, 'w')
pickle.dump(hgvers, f)

View file

@ -95,7 +95,7 @@ if PYTHON3:
unicode = str
def write_str(f, msg):
# Try outputing with the default encoding. If it fails,
# Try outputting with the default encoding. If it fails,
# try UTF-8.
try:
f.buffer.write(msg.encode(sys.getdefaultencoding()))
@ -2129,7 +2129,7 @@ class SMTPMailer(Mailer):
# equivalent to
# self.smtp.ehlo()
# self.smtp.starttls()
# with acces to the ssl layer
# with access to the ssl layer
self.smtp.ehlo()
if not self.smtp.has_extn("starttls"):
raise smtplib.SMTPException("STARTTLS extension not supported by server")
@ -2148,7 +2148,7 @@ class SMTPMailer(Mailer):
cert_reqs=ssl.CERT_NONE
)
self.environment.get_logger().error(
'*** Warning, the server certificat is not verified (smtp) ***\n'
'*** Warning, the server certificate is not verified (smtp) ***\n'
'*** set the option smtpCACerts ***\n'
)
if not hasattr(self.smtp.sock, "read"):
@ -3189,7 +3189,7 @@ class ProjectdescEnvironmentMixin(Environment):
self.COMPUTED_KEYS += ['projectdesc']
def get_projectdesc(self):
"""Return a one-line descripition of the project."""
"""Return a one-line description of the project."""
git_dir = get_git_dir()
try:

View file

@ -56,7 +56,7 @@ config = git_multimail.Config('multimailhook')
# Set some Git configuration variables. Equivalent to passing var=val
# to "git -c var=val" each time git is called, or to adding the
# configuration in .git/config (must come before instanciating the
# configuration in .git/config (must come before instantiating the
# environment) :
#git_multimail.Config.add_config_parameters('multimailhook.commitEmailFormat=html')
#git_multimail.Config.add_config_parameters(('user.name=foo', 'user.email=foo@example.com'))

View file

@ -329,7 +329,7 @@ generate_update_branch_email()
#
# git rev-parse --not --all | grep -v $(git rev-parse $refname)
#
# Get's us to something pretty safe (apart from the small time
# Gets us to something pretty safe (apart from the small time
# between refname being read, and git rev-parse running - for that,
# I give up)
#

View file

@ -49,7 +49,7 @@ opcode.
Repository sections are matched on the basename of the repository
(after removing the .git suffix).
The opcode abbrevations are:
The opcode abbreviations are:
C: create new ref
D: delete existing ref

View file

@ -14,7 +14,7 @@
# This rule states that each system call should have its return value checked
# The problem is that it includes the print call. Checking every print call's
# return value would be harmful to the code readabilty.
# return value would be harmful to the code readability.
# This configuration keeps all default function but print.
[InputOutput::RequireCheckedSyscalls]
functions = open say close

View file

@ -79,7 +79,7 @@ chomp($export_media);
$export_media = !($export_media eq 'false');
my $wiki_login = run_git("config --get remote.${remotename}.mwLogin");
# Note: mwPassword is discourraged. Use the credential system instead.
# Note: mwPassword is discouraged. Use the credential system instead.
my $wiki_passwd = run_git("config --get remote.${remotename}.mwPassword");
my $wiki_domain = run_git("config --get remote.${remotename}.mwDomain");
chomp($wiki_login);

View file

@ -24,7 +24,7 @@ $url = 'http://localhost:'.$port.'/wiki/mw-config/index.php';
$db_dir = urlencode($tmp);
$tmp_cookie = tempnam($tmp, "COOKIE_");
/*
* Fetchs a page with cURL.
* Fetches a page with cURL.
*/
function get($page_name = "") {
$curl = curl_init();

View file

@ -143,7 +143,7 @@ test_expect_success 'Git clone works with one specific page cloned ' '
test_expect_success 'Git clone works with multiple specific page cloned ' '
wiki_reset &&
wiki_editpage foo "I will be there" false &&
wiki_editpage bar "I will not disapear" false &&
wiki_editpage bar "I will not disappear" false &&
wiki_editpage namnam "I be erased" false &&
wiki_editpage nyancat "nyan nyan nyan you will not erase me" false &&
wiki_delete_page namnam &&

View file

@ -279,7 +279,7 @@ start_lighttpd () {
"$LIGHTTPD_DIR"/lighttpd -f "$WEB"/lighttpd.conf
if test $? -ne 0 ; then
echo "Could not execute http deamon lighttpd"
echo "Could not execute http daemon lighttpd"
exit 1
fi
}

View file

@ -56,7 +56,7 @@ line. This line has the form `git-svn-id: URL@REVNO UUID`.
The resulting repository will generally require further processing
to put each project in its own repository and to separate the history
of each branch. The 'git filter-branch --subdirectory-filter' command
of each branch. The 'git filter-repo --subdirectory-filter' command
may be useful for this purpose.
BUGS
@ -67,5 +67,5 @@ The exit status does not reflect whether an error was detected.
SEE ALSO
--------
git-svn(1), svn2git(1), svk(1), git-filter-branch(1), git-fast-import(1),
git-svn(1), svn2git(1), svk(1), git-filter-repo(1), git-fast-import(1),
https://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt

View file

@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/env python
"""
Simulates svnrdump by replaying an existing dump from a file, taking care
of the specified revision range.
@ -54,7 +54,7 @@ if __name__ == "__main__":
print("usage: %s dump URL -rLOWER:UPPER")
sys.exit(1)
if not sys.argv[1] == 'dump':
raise NotImplementedError('only "dump" is suppported.')
raise NotImplementedError('only "dump" is supported.')
url = sys.argv[2]
r = ('0', 'HEAD')
if len(sys.argv) == 4 and sys.argv[3][0:2] == '-r':