{"thread":{"id":"53213","subject":"configure remote/local as mine/theirs","startedAt":"2020-04-11T12:51:34Z","lastAt":"2020-04-13T10:59:43Z","messageCount":4,"participants":["rupert THURNER","Johannes Sixt","Philip Oakley"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"395276","messageId":"CAJs9aZ-iXUtZoumnMzTFPrc=mtz2+s4EDUKhxw_KQp42h3mxBw@mail.gmail.com","threadId":"53213","inReplyTo":null,"subject":"configure remote/local as mine/theirs","fromName":"rupert THURNER","fromEmail":"rupert.thurner@gmail.com","sentAt":"2020-04-11T12:51:15Z","receivedAt":"2020-04-11T12:51:34Z","isPatch":false,"sender":{"key":"rupert.thurner@gmail.com","avatar":null},"body":"hi,\n\nthe git documentation is so clear withcalling changes \"mine\" or\n\"theirs\". when configuring a mergetool e.g. kdiff3, and doing a\nrebase, these names are not used. instead it is \"local\", which\nis theirs in the rebase case, and remote, which is mine. not\nthat this is rocket science, and i understand the technical\nreason why the names are like this. but anyway i get a nod in\nmy brain about it sometimes. can i somehow configure git so it\nwould use \"mine\" and \"theirs\" only?\n\nrupert\n"},{"id":"395287","messageId":"facf8152-00ce-4878-a13b-3fe72c13fa25@kdbg.org","threadId":"53213","inReplyTo":"CAJs9aZ-iXUtZoumnMzTFPrc=mtz2+s4EDUKhxw_KQp42h3mxBw@mail.gmail.com","subject":"Re: configure remote/local as mine/theirs","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2020-04-11T21:40:16Z","receivedAt":"2020-04-11T21:42:17Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 11.04.20 um 14:51 schrieb rupert THURNER:\n> the git documentation is so clear withcalling changes \"mine\" or\n> \"theirs\". when configuring a mergetool e.g. kdiff3, and doing a\n> rebase, these names are not used. instead it is \"local\", which\n> is theirs in the rebase case, and remote, which is mine. not\n> that this is rocket science, and i understand the technical\n> reason why the names are like this. but anyway i get a nod in\n> my brain about it sometimes. can i somehow configure git so it\n> would use \"mine\" and \"theirs\" only?\n\nThe words \"mine\" (actually \"ours\") and \"theirs\" have a very precise\nmeaning in Git. If you were to use these meanings during a rebase, you\nwould not like the result: it would call \"ours\" what you intend to call\n\"theirs\", and vice versa.\n\nConsider this history:\n\n\n--a--b--c--d   <-- upstream (\"theirs\" from your point of view)\n   \\\n    x--y--z    <-- branch to rebase (\"mine/ours\" from your POV)\n\nDuring a rebase, Git is \"positioned\" on the history following commit d,\ni.e. on \"their\" branch. Then it cherry-picks commits x, y, and z. In\nthat situation, the change that you consider \"theirs\" is actually \"ours\"\nfrom Git's point of view, and your own change (those introduced by x, y,\nand z) are \"theirs\" from Git's point of view.\n\nI suggest you live with \"local\" and \"remote\" for a bit less confusion.\n\n-- Hannes\n"},{"id":"395292","messageId":"0360e896-73b9-3585-54a2-5427bfafaae1@iee.email","threadId":"53213","inReplyTo":"facf8152-00ce-4878-a13b-3fe72c13fa25@kdbg.org","subject":"Re: configure remote/local as mine/theirs","fromName":"Philip Oakley","fromEmail":"philipoakley@iee.email","sentAt":"2020-04-12T10:12:12Z","receivedAt":"2020-04-12T10:12:16Z","isPatch":false,"sender":{"key":"philipoakley@iee.email","avatar":"https://avatars.githubusercontent.com/u/914343?v=4"},"body":"Hi Robert, Johannes\n\nOn 11/04/2020 22:40, Johannes Sixt wrote:\n> Am 11.04.20 um 14:51 schrieb rupert THURNER:\n>> the git documentation is so clear withcalling changes \"mine\" or\n>> \"theirs\". when configuring a mergetool e.g. kdiff3, and doing a\n>> rebase, these names are not used. instead it is \"local\", which\n>> is theirs in the rebase case, and remote, which is mine. not\n>> that this is rocket science, and i understand the technical\n>> reason why the names are like this. but anyway i get a nod in\n>> my brain about it sometimes. can i somehow configure git so it\n>> would use \"mine\" and \"theirs\" only?\n> The words \"mine\" (actually \"ours\") and \"theirs\" have a very precise\n> meaning in Git. If you were to use these meanings during a rebase, you\n> would not like the result: it would call \"ours\" what you intend to call\n> \"theirs\", and vice versa.\n>\n> Consider this history:\n>\n>\n> --a--b--c--d   <-- upstream (\"theirs\" from your point of view)\n>    \\\n>     x--y--z    <-- branch to rebase (\"mine/ours\" from your POV)\n>\n> During a rebase, Git is \"positioned\" on the history following commit d,\n> i.e. on \"their\" branch. Then it cherry-picks commits x, y, and z. In\n> that situation, the change that you consider \"theirs\" is actually \"ours\"\n> from Git's point of view, and your own change (those introduced by x, y,\n> and z) are \"theirs\" from Git's point of view.\n>\n> I suggest you live with \"local\" and \"remote\" for a bit less confusion.\nRobert,\ngiven the way Git is using it's terminology, would you have any\nsuggestions as to how the man page(s) could now be _clarified_ so as to\navoid these potential misunderstandings? Even perhaps\n    \"theirs\", \"ours\", \"local\" and \"remote\" are distinct terms in Git\nwith different meanings as detailed in gitreference/glossary.   (or some\nsuch - though 3/4 are not in the glossary!)\n\nI suggest this as a way of flagging to the reader that they should 'stop\nand think' (which we never do if we already have the wrong mental model)\nand perhaps go and review the distinctions.\n\n--\nPhilip\n"},{"id":"395322","messageId":"CAJs9aZ_Rs8k1Uv-jn-YHCmRaM6kWipcucTCTeE44-BT3ssnNhQ@mail.gmail.com","threadId":"53213","inReplyTo":"0360e896-73b9-3585-54a2-5427bfafaae1@iee.email","subject":"Re: configure remote/local as mine/theirs","fromName":"rupert THURNER","fromEmail":"rupert.thurner@gmail.com","sentAt":"2020-04-13T10:53:09Z","receivedAt":"2020-04-13T10:59:43Z","isPatch":false,"sender":{"key":"rupert.thurner@gmail.com","avatar":null},"body":"On Sun, Apr 12, 2020 at 12:12 PM Philip Oakley <philipoakley@iee.email> wrote:\n> On 11/04/2020 22:40, Johannes Sixt wrote:\n> > Am 11.04.20 um 14:51 schrieb rupert THURNER:\n> >> my brain about it sometimes. can i somehow configure git so it\n> >> would use \"mine\" and \"theirs\" only?\n> > The words \"mine\" (actually \"ours\") and \"theirs\" have a very precise\n> > meaning in Git. If you were to use these meanings during a rebase, you\n> > would not like the result: it would call \"ours\" what you intend to call\n> > \"theirs\", and vice versa.\n> >\n> > Consider this history:\n> >\n> >\n> > --a--b--c--d   <-- upstream (\"theirs\" from your point of view)\n> >    \\\n> >     x--y--z    <-- branch to rebase (\"mine/ours\" from your POV)\n> >\n> > During a rebase, Git is \"positioned\" on the history following commit d,\n> > i.e. on \"their\" branch. Then it cherry-picks commits x, y, and z. In\n> > that situation, the change that you consider \"theirs\" is actually \"ours\"\n> > from Git's point of view, and your own change (those introduced by x, y,\n> > and z) are \"theirs\" from Git's point of view.\nthank you for the nice explanation! there would be no easy\nway to swap the names in the rebase case? or introduce\na new one, \"mine\"?\n\n> given the way Git is using it's terminology, would you have any\n> suggestions as to how the man page(s) could now be _clarified_ so as to\n> avoid these potential misunderstandings? Even perhaps\n>     \"theirs\", \"ours\", \"local\" and \"remote\" are distinct terms in Git\n> with different meanings as detailed in gitreference/glossary.   (or some\n> such - though 3/4 are not in the glossary!)\nphilip, maybe phrase it as johannes did, add it to the man pages\nof rebase, and mergetool? the change you consider \"theirs\" is\nactually \"ours\", swapped for technical reasons when rebasing.\n\nrupert\n"}]}