{"thread":{"id":"1868","subject":"[Terminology] Push vs. upload?","startedAt":"2005-09-20T00:11:36Z","lastAt":"2005-09-21T16:52:34Z","messageCount":6,"participants":["Petr Baudis","Linus Torvalds","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"8924","messageId":"20050920001136.GK18320@pasky.or.cz","threadId":"1868","inReplyTo":null,"subject":"[Terminology] Push vs. upload?","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-09-20T00:11:36Z","receivedAt":"2005-09-20T00:11:36Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hello,\n\n  I've realized today that I \"forgot\" to rename cg-push to cg-upload, so\nI impulsively did so right away, but now I'm seeing that the core git\nstill has git-push and no git-upload. This is confusing and appears to\nbe quite inconsistent - push should be the opposite of pull, but pull is\ndefined as fetch+merge, while push does just the anti-fetch (\"upload\")\npart. Yes, it does the subset protection, but git-fetch with remotes/\nseems to by default do the superset protection as well.\n\n  How should we call it, then?\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"},{"id":"8937","messageId":"Pine.LNX.4.58.0509191753100.2553@g5.osdl.org","threadId":"1868","inReplyTo":"20050920001136.GK18320@pasky.or.cz","subject":"Re: [Terminology] Push vs. upload?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-20T00:55:08Z","receivedAt":"2005-09-20T00:55:08Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Tue, 20 Sep 2005, Petr Baudis wrote:\n> \n>   I've realized today that I \"forgot\" to rename cg-push to cg-upload, so\n> I impulsively did so right away, but now I'm seeing that the core git\n> still has git-push and no git-upload. This is confusing and appears to\n> be quite inconsistent - push should be the opposite of pull\n\nNo. There is no opposite of pull. You can't update the tree on the other \nend. It's fundamentally an unsafe operation - the other end is by \ndefinition not a private tree.\n\n(Or, if you want to see it another way: \"pull\" is \"pull\"s own opposite:  \n\"ssh other-end + git pull from that end\" ends up being what you mean.)\n\n\t\tLinus\n"},{"id":"8938","messageId":"20050920014448.GA30912@pasky.or.cz","threadId":"1868","inReplyTo":"Pine.LNX.4.58.0509191753100.2553@g5.osdl.org","subject":"Re: [Terminology] Push vs. upload?","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-09-20T01:44:48Z","receivedAt":"2005-09-20T01:44:48Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Tue, Sep 20, 2005 at 02:55:08AM CEST, I got a letter\nwhere Linus Torvalds <torvalds@osdl.org> told me that...\n> \n> \n> On Tue, 20 Sep 2005, Petr Baudis wrote:\n> > \n> >   I've realized today that I \"forgot\" to rename cg-push to cg-upload, so\n> > I impulsively did so right away, but now I'm seeing that the core git\n> > still has git-push and no git-upload. This is confusing and appears to\n> > be quite inconsistent - push should be the opposite of pull\n> \n> No. There is no opposite of pull. You can't update the tree on the other \n> end. It's fundamentally an unsafe operation - the other end is by \n> definition not a private tree.\n> \n> (Or, if you want to see it another way: \"pull\" is \"pull\"s own opposite:  \n> \"ssh other-end + git pull from that end\" ends up being what you mean.)\n\nYes, but I'm just arguing about the naming - if you just take the word\n\"pull\", \"push\" is the obvious opposite to that and vice versa, so if we\nare going to use words \"pull\" and \"push\" in the same context, this\nrelation should be preserved. So \"push\" really _should_ mean\n\n\tssh other-end 'git-pull'\n\nwhether it's a safe operation or not - if not, then GIT should have\nnothing called \"push\". But the current \"push\" is really an opposite of\n\"fetch\", so it should be called \"upload\", I believe.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"},{"id":"8941","messageId":"7v3bo0fqrl.fsf@assigned-by-dhcp.cox.net","threadId":"1868","inReplyTo":"20050920001136.GK18320@pasky.or.cz","subject":"Re: [Terminology] Push vs. upload?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-20T01:54:06Z","receivedAt":"2005-09-20T01:54:06Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Petr Baudis <pasky@suse.cz> writes:\n\n> ... push should be the opposite of pull, but pull is defined\n> as fetch+merge, ...\n\nIt is my recollection that this exact \"shouldn't push be\nopposite of pull\" issue was raised when the list had the\nglossary discussion.  My impression was that the discussion\nsettled on what we have right now...\n"},{"id":"8943","messageId":"Pine.LNX.4.58.0509191858020.2553@g5.osdl.org","threadId":"1868","inReplyTo":"20050920014448.GA30912@pasky.or.cz","subject":"Re: [Terminology] Push vs. upload?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-20T01:59:15Z","receivedAt":"2005-09-20T01:59:15Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Tue, 20 Sep 2005, Petr Baudis wrote:\n> \n> Yes, but I'm just arguing about the naming - if you just take the word\n> \"pull\", \"push\" is the obvious opposite to that and vice versa, so if we\n> are going to use words \"pull\" and \"push\" in the same context, this\n> relation should be preserved. So \"push\" really _should_ mean\n> \n> \tssh other-end 'git-pull'\n\nWell, I actually called it \"send\" as in \"git-send-pack\".\n\nBut anybody who has ever used BK would still type \"push\", so I'd make that \nan alias anyway.\n\nNot \"upload\". Upload is the reverse of \"download\", and we don't do that.\n\n\t\tLinus\n"},{"id":"9056","messageId":"20050921165234.GD21971@pasky.or.cz","threadId":"1868","inReplyTo":"Pine.LNX.4.58.0509191858020.2553@g5.osdl.org","subject":"Re: [Terminology] Push vs. upload?","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-09-21T16:52:34Z","receivedAt":"2005-09-21T16:52:34Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Tue, Sep 20, 2005 at 03:59:15AM CEST, I got a letter\nwhere Linus Torvalds <torvalds@osdl.org> told me that...\n> \n> \n> On Tue, 20 Sep 2005, Petr Baudis wrote:\n> > \n> > Yes, but I'm just arguing about the naming - if you just take the word\n> > \"pull\", \"push\" is the obvious opposite to that and vice versa, so if we\n> > are going to use words \"pull\" and \"push\" in the same context, this\n> > relation should be preserved. So \"push\" really _should_ mean\n> > \n> > \tssh other-end 'git-pull'\n> \n> Well, I actually called it \"send\" as in \"git-send-pack\".\n> \n> But anybody who has ever used BK would still type \"push\", so I'd make that \n> an alias anyway.\n> \n> Not \"upload\". Upload is the reverse of \"download\", and we don't do that.\n\nAll right, now I agree that \"upload\" isn't that appropriate, since\ngit-ssh-upload isn't actually for any push-related activity, even though\nit is a git-ssh-fetch counterpart - it is so in a different sense.\n\nI don't want to name it cg-send because I think that would be way too\neasily confused with sending patches over e-mail. So it ended up being\ncg-push again. :-)\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"}]}