git-push: documentation and tests for pushing only branches
Commit 098e711e
caused git-push to match only branches when
considering which refs to push. This patch updates the
documentation accordingly and adds a test for this behavior.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
bf1ee63678
commit
5c633a4cbe
@ -48,7 +48,7 @@ even if it does not result in a fast forward update.
|
|||||||
Note: If no explicit refspec is found, (that is neither
|
Note: If no explicit refspec is found, (that is neither
|
||||||
on the command line nor in any Push line of the
|
on the command line nor in any Push line of the
|
||||||
corresponding remotes file---see below), then all the
|
corresponding remotes file---see below), then all the
|
||||||
refs that exist both on the local side and on the remote
|
heads that exist both on the local side and on the remote
|
||||||
side are updated.
|
side are updated.
|
||||||
+
|
+
|
||||||
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
|
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
|
||||||
@ -61,7 +61,7 @@ the remote repository.
|
|||||||
|
|
||||||
\--all::
|
\--all::
|
||||||
Instead of naming each ref to push, specifies that all
|
Instead of naming each ref to push, specifies that all
|
||||||
refs be pushed.
|
refs under `$GIT_DIR/refs/heads/` be pushed.
|
||||||
|
|
||||||
\--tags::
|
\--tags::
|
||||||
All refs under `$GIT_DIR/refs/tags` are pushed, in
|
All refs under `$GIT_DIR/refs/tags` are pushed, in
|
||||||
|
@ -32,7 +32,7 @@ OPTIONS
|
|||||||
|
|
||||||
\--all::
|
\--all::
|
||||||
Instead of explicitly specifying which refs to update,
|
Instead of explicitly specifying which refs to update,
|
||||||
update all refs that locally exist.
|
update all heads that locally exist.
|
||||||
|
|
||||||
\--force::
|
\--force::
|
||||||
Usually, the command refuses to update a remote ref that
|
Usually, the command refuses to update a remote ref that
|
||||||
@ -70,7 +70,7 @@ With '--all' flag, all refs that exist locally are transferred to
|
|||||||
the remote side. You cannot specify any '<ref>' if you use
|
the remote side. You cannot specify any '<ref>' if you use
|
||||||
this flag.
|
this flag.
|
||||||
|
|
||||||
Without '--all' and without any '<ref>', the refs that exist
|
Without '--all' and without any '<ref>', the heads that exist
|
||||||
both on the local side and on the remote side are updated.
|
both on the local side and on the remote side are updated.
|
||||||
|
|
||||||
When one or more '<ref>' are specified explicitly, it can be either a
|
When one or more '<ref>' are specified explicitly, it can be either a
|
||||||
|
@ -113,4 +113,14 @@ test_expect_success \
|
|||||||
! git diff .git/refs/heads/master victim/.git/refs/heads/master
|
! git diff .git/refs/heads/master victim/.git/refs/heads/master
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success \
|
||||||
|
'pushing does not include non-head refs' '
|
||||||
|
mkdir parent && cd parent &&
|
||||||
|
git-init && touch file && git-add file && git-commit -m add &&
|
||||||
|
cd .. &&
|
||||||
|
git-clone parent child && cd child && git-push --all &&
|
||||||
|
cd ../parent &&
|
||||||
|
git-branch -a >branches && ! grep -q origin/master branches
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Reference in New Issue
Block a user