Merge branch 'ds/refmap-doc' into maint

"git fetch --refmap=" option has got a better documentation.

* ds/refmap-doc:
  fetch: document and test --refmap=""
This commit is contained in:
Junio C Hamano 2020-02-14 12:42:30 -08:00
commit 650ed395be
2 changed files with 28 additions and 1 deletions

View file

@ -139,7 +139,10 @@ ifndef::git-pull[]
specified refspec (can be given more than once) to map the
refs to remote-tracking branches, instead of the values of
`remote.*.fetch` configuration variables for the remote
repository. See section on "Configured Remote-tracking
repository. Providing an empty `<refspec>` to the
`--refmap` option causes Git to ignore the configured
refspecs and rely entirely on the refspecs supplied as
command-line arguments. See section on "Configured Remote-tracking
Branches" for details.
-t::

View file

@ -174,6 +174,30 @@ test_expect_success 'fetch --prune --tags with refspec prunes based on refspec'
git rev-parse sometag
'
test_expect_success '--refmap="" ignores configured refspec' '
cd "$TRASH_DIRECTORY" &&
git clone "$D" remote-refs &&
git -C remote-refs rev-parse remotes/origin/master >old &&
git -C remote-refs update-ref refs/remotes/origin/master master~1 &&
git -C remote-refs rev-parse remotes/origin/master >new &&
git -C remote-refs fetch --refmap= origin "+refs/heads/*:refs/hidden/origin/*" &&
git -C remote-refs rev-parse remotes/origin/master >actual &&
test_cmp new actual &&
git -C remote-refs fetch origin &&
git -C remote-refs rev-parse remotes/origin/master >actual &&
test_cmp old actual
'
test_expect_success '--refmap="" and --prune' '
git -C remote-refs update-ref refs/remotes/origin/foo/otherbranch master &&
git -C remote-refs update-ref refs/hidden/foo/otherbranch master &&
git -C remote-refs fetch --prune --refmap="" origin +refs/heads/*:refs/hidden/* &&
git -C remote-refs rev-parse remotes/origin/foo/otherbranch &&
test_must_fail git -C remote-refs rev-parse refs/hidden/foo/otherbranch &&
git -C remote-refs fetch --prune origin &&
test_must_fail git -C remote-refs rev-parse remotes/origin/foo/otherbranch
'
test_expect_success 'fetch tags when there is no tags' '
cd "$D" &&