{"thread":{"id":"32205","subject":"[PATCH] Documentation/git-push.txt: fix typo in remote tracking branch path","startedAt":"2012-11-27T00:55:48Z","lastAt":"2012-11-27T23:52:27Z","messageCount":4,"participants":["Brandon Casey","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"203956","messageId":"1353977748-17110-1-git-send-email-bcasey@nvidia.com","threadId":"32205","inReplyTo":null,"subject":"[PATCH] Documentation/git-push.txt: fix typo in remote tracking branch path","fromName":"Brandon Casey","fromEmail":"bcasey@nvidia.com","sentAt":"2012-11-27T00:55:48Z","receivedAt":"2012-11-27T00:55:48Z","isPatch":true,"sender":{"key":"bcasey@nvidia.com","avatar":null},"body":"From: Brandon Casey <drafnel@gmail.com>\n\nThis example in the documentation seems to be trying to describe the likely\nremote tracking branch that will be updated by a push to the \"origin\" remote\nwith the destination branch 'satellite/master', but it forgot to specify\nthe remote name in the path specification.\n\nSo,\n\n   refs/remotes/satellite/master\n\nshould be spelled like\n\n   refs/remotes/origin/satellite/master\n\nSigned-off-by: Brandon Casey <bcasey@nvidia.com>\n---\n Documentation/git-push.txt |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-push.txt b/Documentation/git-push.txt\nindex fe46c42..a18f929 100644\n--- a/Documentation/git-push.txt\n+++ b/Documentation/git-push.txt\n@@ -387,8 +387,8 @@ the ones in the examples below) can be configured as the default for\n `git push origin master:satellite/master dev:satellite/dev`::\n \tUse the source ref that matches `master` (e.g. `refs/heads/master`)\n \tto update the ref that matches `satellite/master` (most probably\n-\t`refs/remotes/satellite/master`) in the `origin` repository, then\n-\tdo the same for `dev` and `satellite/dev`.\n+\t`refs/remotes/origin/satellite/master`) in the `origin` repository,\n+\tthen do the same for `dev` and `satellite/dev`.\n \n `git push origin HEAD:master`::\n \tPush the current branch to the remote ref matching `master` in the\n-- \n1.7.8.4\n\n\n-----------------------------------------------------------------------------------\nThis email message is for the sole use of the intended recipient(s) and may contain\nconfidential information.  Any unauthorized review, use, disclosure or distribution\nis prohibited.  If you are not the intended recipient, please contact the sender by\nreply email and destroy all copies of the original message.\n-----------------------------------------------------------------------------------\n"},{"id":"203958","messageId":"7vy5hnomsl.fsf@alter.siamese.dyndns.org","threadId":"32205","inReplyTo":"1353977748-17110-1-git-send-email-bcasey@nvidia.com","subject":"Re: [PATCH] Documentation/git-push.txt: fix typo in remote tracking branch path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-11-27T01:30:02Z","receivedAt":"2012-11-27T01:30:02Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Brandon Casey <bcasey@nvidia.com> writes:\n\n> From: Brandon Casey <drafnel@gmail.com>\n>\n> This example in the documentation seems to be trying to describe the likely\n> remote tracking branch that will be updated by a push to the \"origin\" remote\n> with the destination branch 'satellite/master', but it forgot to specify\n> the remote name in the path specification.\n>\n> So,\n>\n>    refs/remotes/satellite/master\n>\n> should be spelled like\n>\n>    refs/remotes/origin/satellite/master\n\nI might make sense to rename 'origin' to 'mothership' in that\nexample and explain that this is emulating 'git fetch' run on the\nmothership to integrate the work done on 'satellite' using 'git\npush' in the opposite direction, which is often necessary when you\ncan only make connection in one way (i.e. satellite can ssh into\nmothership but mothership cannot initiate connection to satellite\nbecause the latter is behind a firewall or does not run sshd).\n\nIf you were to run 'git fetch' on the mothership to intgrate the\nwork on the 'satellite', it would have a remote called 'satellite',\nand would keep remote-tracking branches for the branches local to\n'satellite' in the 'refs/remotes/satellite/' hierarchy.  You would\npush your local 'master' to their 'refs/remotes/satellite/master',\nto emulate 'git fetch' done on the mothership in the reverse\ndirection.\n\nSo refs are correct. The context is not sufficiently explained.\n\n>\n> Signed-off-by: Brandon Casey <bcasey@nvidia.com>\n> ---\n>  Documentation/git-push.txt |    4 ++--\n>  1 files changed, 2 insertions(+), 2 deletions(-)\n>\n> diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt\n> index fe46c42..a18f929 100644\n> --- a/Documentation/git-push.txt\n> +++ b/Documentation/git-push.txt\n> @@ -387,8 +387,8 @@ the ones in the examples below) can be configured as the default for\n>  `git push origin master:satellite/master dev:satellite/dev`::\n>  \tUse the source ref that matches `master` (e.g. `refs/heads/master`)\n>  \tto update the ref that matches `satellite/master` (most probably\n> -\t`refs/remotes/satellite/master`) in the `origin` repository, then\n> -\tdo the same for `dev` and `satellite/dev`.\n> +\t`refs/remotes/origin/satellite/master`) in the `origin` repository,\n> +\tthen do the same for `dev` and `satellite/dev`.\n>  \n>  `git push origin HEAD:master`::\n>  \tPush the current branch to the remote ref matching `master` in the\n"},{"id":"203961","messageId":"50B41DF7.2000705@nvidia.com","threadId":"32205","inReplyTo":"7vy5hnomsl.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Documentation/git-push.txt: fix typo in remote tracking branch path","fromName":"Brandon Casey","fromEmail":"bcasey@nvidia.com","sentAt":"2012-11-27T01:57:11Z","receivedAt":"2012-11-27T01:57:11Z","isPatch":true,"sender":{"key":"bcasey@nvidia.com","avatar":null},"body":"On 11/26/2012 5:30 PM, Junio C Hamano wrote:\n> Brandon Casey <bcasey@nvidia.com> writes:\n>\n>> From: Brandon Casey <drafnel@gmail.com>\n>>\n>> This example in the documentation seems to be trying to describe the likely\n>> remote tracking branch that will be updated by a push to the \"origin\" remote\n>> with the destination branch 'satellite/master', but it forgot to specify\n>> the remote name in the path specification.\n>>\n>> So,\n>>\n>>     refs/remotes/satellite/master\n>>\n>> should be spelled like\n>>\n>>     refs/remotes/origin/satellite/master\n>\n> I might make sense to rename 'origin' to 'mothership' in that\n> example and explain that this is emulating 'git fetch' run on the\n> mothership to integrate the work done on 'satellite' using 'git\n> push' in the opposite direction, which is often necessary when you\n> can only make connection in one way (i.e. satellite can ssh into\n> mothership but mothership cannot initiate connection to satellite\n> because the latter is behind a firewall or does not run sshd).\n>\n> If you were to run 'git fetch' on the mothership to intgrate the\n> work on the 'satellite', it would have a remote called 'satellite',\n> and would keep remote-tracking branches for the branches local to\n> 'satellite' in the 'refs/remotes/satellite/' hierarchy.  You would\n> push your local 'master' to their 'refs/remotes/satellite/master',\n> to emulate 'git fetch' done on the mothership in the reverse\n> direction.\n>\n> So refs are correct. The context is not sufficiently explained.\n\nAh, I see.  Yeah, I think that is complex enough to merit an\nextended explanation.\n\n-Brandon\n\n\n-----------------------------------------------------------------------------------\nThis email message is for the sole use of the intended recipient(s) and may contain\nconfidential information.  Any unauthorized review, use, disclosure or distribution\nis prohibited.  If you are not the intended recipient, please contact the sender by\nreply email and destroy all copies of the original message.\n-----------------------------------------------------------------------------------\n"},{"id":"204064","messageId":"7v1ufeli2s.fsf_-_@alter.siamese.dyndns.org","threadId":"32205","inReplyTo":"50B41DF7.2000705@nvidia.com","subject":"[PATCH] Documentation/git-push.txt: clarify the \"push from satellite\" workflow","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-11-27T23:52:27Z","receivedAt":"2012-11-27T23:52:27Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The context of the example to push into refs/remotes/satellite/\nhierarchy of the other repository needs to be spelled out explicitly\nfor the value of this example to be fully appreciated.  Make it so.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\nBrandon Casey <bcasey@nvidia.com> writes:\n\n>> So refs are correct. The context is not sufficiently explained.\n>\n> Ah, I see.  Yeah, I think that is complex enough to merit an\n> extended explanation.\n\nSomething like this?\n\n Documentation/git-push.txt | 16 ++++++++++++++--\n 1 file changed, 14 insertions(+), 2 deletions(-)\n\ndiff --git c/Documentation/git-push.txt w/Documentation/git-push.txt\nindex 6d19d59..8b637d3 100644\n--- c/Documentation/git-push.txt\n+++ w/Documentation/git-push.txt\n@@ -385,11 +385,23 @@ the ones in the examples below) can be configured as the default for\n \tA handy way to push the current branch to the same name on the\n \tremote.\n \n-`git push origin master:satellite/master dev:satellite/dev`::\n+`git push mothership master:satellite/master dev:satellite/dev`::\n \tUse the source ref that matches `master` (e.g. `refs/heads/master`)\n \tto update the ref that matches `satellite/master` (most probably\n-\t`refs/remotes/satellite/master`) in the `origin` repository, then\n+\t`refs/remotes/satellite/master`) in the `mothership` repository;\n \tdo the same for `dev` and `satellite/dev`.\n++\n+This is to emulate `git fetch` run on the `mothership` using `git\n+push` that is run in the opposite direction in order to integrate\n+the work done on `satellite`, and is often necessary when you can\n+only make connection in one way (i.e. satellite can ssh into\n+mothership but mothership cannot initiate connection to satellite\n+because the latter is behind a firewall or does not run sshd).\n++\n+After running this `git push` on the `satellite` machine, you would\n+ssh into the `mothership` and run `git merge` there to complete the\n+emulation of `git pull` that were run on `mothership` to pull changes\n+made on `satellite`.\n \n `git push origin HEAD:master`::\n \tPush the current branch to the remote ref matching `master` in the\n"}]}