Code

git-push: documentation and tests for pushing only branches
authorJeff King <peff@peff.net>
Tue, 18 Sep 2007 08:15:34 +0000 (04:15 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Sep 2007 21:00:20 +0000 (14:00 -0700)
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>
Documentation/git-push.txt
Documentation/git-send-pack.txt
t/t5400-send-pack.sh

index 7b8e075c422ba8065e746a8bb771267c4aca1d24..6bc559ddd80e2fa8b3f4fdf57fa4f5ce14eb53af 100644 (file)
@@ -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
 on the command line nor in any Push line of 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.
 +
 `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
@@ -61,7 +61,7 @@ the remote repository.
 
 \--all::
        Instead of naming each ref to push, specifies that all
-       refs be pushed.
+       refs under `$GIT_DIR/refs/heads/` be pushed.
 
 \--tags::
        All refs under `$GIT_DIR/refs/tags` are pushed, in
index 205bfd2d259abd33873305d28281166a42285f6e..3271e88183e2b4c8551bb48caff54d3223991f79 100644 (file)
@@ -32,7 +32,7 @@ OPTIONS
 
 \--all::
        Instead of explicitly specifying which refs to update,
-       update all refs that locally exist.
+       update all heads that locally exist.
 
 \--force::
        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
 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.
 
 When one or more '<ref>' are specified explicitly, it can be either a
index 6c8767e1df76323f406df56b39d4ba4596e0ab97..57c6397be116bb93af2ccffb0cee2d4bb3901ca4 100755 (executable)
@@ -113,4 +113,14 @@ test_expect_success \
        ! 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