# configure remote/local as mine/theirs

4 messages from 2020-04-11 to 2020-04-13. Participants: rupert THURNER, Johannes Sixt, Philip Oakley.
Thread: https://gitlist.dev/t/53213

## rupert THURNER, 2020-04-11 12:51

Subject: configure remote/local as mine/theirs
Message-ID: <CAJs9aZ-iXUtZoumnMzTFPrc=mtz2+s4EDUKhxw_KQp42h3mxBw@mail.gmail.com>
URL: https://gitlist.dev/e/CAJs9aZ-iXUtZoumnMzTFPrc%3Dmtz2%2Bs4EDUKhxw_KQp42h3mxBw%40mail.gmail.com

```
hi,

the git documentation is so clear withcalling changes "mine" or
"theirs". when configuring a mergetool e.g. kdiff3, and doing a
rebase, these names are not used. instead it is "local", which
is theirs in the rebase case, and remote, which is mine. not
that this is rocket science, and i understand the technical
reason why the names are like this. but anyway i get a nod in
my brain about it sometimes. can i somehow configure git so it
would use "mine" and "theirs" only?

rupert

```

## Johannes Sixt, 2020-04-11 21:40

Subject: Re: configure remote/local as mine/theirs
Message-ID: <facf8152-00ce-4878-a13b-3fe72c13fa25@kdbg.org>
URL: https://gitlist.dev/e/facf8152-00ce-4878-a13b-3fe72c13fa25%40kdbg.org
In-Reply-To: <CAJs9aZ-iXUtZoumnMzTFPrc=mtz2+s4EDUKhxw_KQp42h3mxBw@mail.gmail.com>

```
Am 11.04.20 um 14:51 schrieb rupert THURNER:
> the git documentation is so clear withcalling changes "mine" or
> "theirs". when configuring a mergetool e.g. kdiff3, and doing a
> rebase, these names are not used. instead it is "local", which
> is theirs in the rebase case, and remote, which is mine. not
> that this is rocket science, and i understand the technical
> reason why the names are like this. but anyway i get a nod in
> my brain about it sometimes. can i somehow configure git so it
> would use "mine" and "theirs" only?

The words "mine" (actually "ours") and "theirs" have a very precise
meaning in Git. If you were to use these meanings during a rebase, you
would not like the result: it would call "ours" what you intend to call
"theirs", and vice versa.

Consider this history:


--a--b--c--d   <-- upstream ("theirs" from your point of view)
   \
    x--y--z    <-- branch to rebase ("mine/ours" from your POV)

During a rebase, Git is "positioned" on the history following commit d,
i.e. on "their" branch. Then it cherry-picks commits x, y, and z. In
that situation, the change that you consider "theirs" is actually "ours"
from Git's point of view, and your own change (those introduced by x, y,
and z) are "theirs" from Git's point of view.

I suggest you live with "local" and "remote" for a bit less confusion.

-- Hannes

```

## Philip Oakley, 2020-04-12 10:12

Subject: Re: configure remote/local as mine/theirs
Message-ID: <0360e896-73b9-3585-54a2-5427bfafaae1@iee.email>
URL: https://gitlist.dev/e/0360e896-73b9-3585-54a2-5427bfafaae1%40iee.email
In-Reply-To: <facf8152-00ce-4878-a13b-3fe72c13fa25@kdbg.org>

```
Hi Robert, Johannes

On 11/04/2020 22:40, Johannes Sixt wrote:
> Am 11.04.20 um 14:51 schrieb rupert THURNER:
>> the git documentation is so clear withcalling changes "mine" or
>> "theirs". when configuring a mergetool e.g. kdiff3, and doing a
>> rebase, these names are not used. instead it is "local", which
>> is theirs in the rebase case, and remote, which is mine. not
>> that this is rocket science, and i understand the technical
>> reason why the names are like this. but anyway i get a nod in
>> my brain about it sometimes. can i somehow configure git so it
>> would use "mine" and "theirs" only?
> The words "mine" (actually "ours") and "theirs" have a very precise
> meaning in Git. If you were to use these meanings during a rebase, you
> would not like the result: it would call "ours" what you intend to call
> "theirs", and vice versa.
>
> Consider this history:
>
>
> --a--b--c--d   <-- upstream ("theirs" from your point of view)
>    \
>     x--y--z    <-- branch to rebase ("mine/ours" from your POV)
>
> During a rebase, Git is "positioned" on the history following commit d,
> i.e. on "their" branch. Then it cherry-picks commits x, y, and z. In
> that situation, the change that you consider "theirs" is actually "ours"
> from Git's point of view, and your own change (those introduced by x, y,
> and z) are "theirs" from Git's point of view.
>
> I suggest you live with "local" and "remote" for a bit less confusion.
Robert,
given the way Git is using it's terminology, would you have any
suggestions as to how the man page(s) could now be _clarified_ so as to
avoid these potential misunderstandings? Even perhaps
    "theirs", "ours", "local" and "remote" are distinct terms in Git
with different meanings as detailed in gitreference/glossary.   (or some
such - though 3/4 are not in the glossary!)

I suggest this as a way of flagging to the reader that they should 'stop
and think' (which we never do if we already have the wrong mental model)
and perhaps go and review the distinctions.

--
Philip

```

## rupert THURNER, 2020-04-13 10:53

Subject: Re: configure remote/local as mine/theirs
Message-ID: <CAJs9aZ_Rs8k1Uv-jn-YHCmRaM6kWipcucTCTeE44-BT3ssnNhQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAJs9aZ_Rs8k1Uv-jn-YHCmRaM6kWipcucTCTeE44-BT3ssnNhQ%40mail.gmail.com
In-Reply-To: <0360e896-73b9-3585-54a2-5427bfafaae1@iee.email>

```
On Sun, Apr 12, 2020 at 12:12 PM Philip Oakley <philipoakley@iee.email> wrote:
> On 11/04/2020 22:40, Johannes Sixt wrote:
> > Am 11.04.20 um 14:51 schrieb rupert THURNER:
> >> my brain about it sometimes. can i somehow configure git so it
> >> would use "mine" and "theirs" only?
> > The words "mine" (actually "ours") and "theirs" have a very precise
> > meaning in Git. If you were to use these meanings during a rebase, you
> > would not like the result: it would call "ours" what you intend to call
> > "theirs", and vice versa.
> >
> > Consider this history:
> >
> >
> > --a--b--c--d   <-- upstream ("theirs" from your point of view)
> >    \
> >     x--y--z    <-- branch to rebase ("mine/ours" from your POV)
> >
> > During a rebase, Git is "positioned" on the history following commit d,
> > i.e. on "their" branch. Then it cherry-picks commits x, y, and z. In
> > that situation, the change that you consider "theirs" is actually "ours"
> > from Git's point of view, and your own change (those introduced by x, y,
> > and z) are "theirs" from Git's point of view.
thank you for the nice explanation! there would be no easy
way to swap the names in the rebase case? or introduce
a new one, "mine"?

> given the way Git is using it's terminology, would you have any
> suggestions as to how the man page(s) could now be _clarified_ so as to
> avoid these potential misunderstandings? Even perhaps
>     "theirs", "ours", "local" and "remote" are distinct terms in Git
> with different meanings as detailed in gitreference/glossary.   (or some
> such - though 3/4 are not in the glossary!)
philip, maybe phrase it as johannes did, add it to the man pages
of rebase, and mergetool? the change you consider "theirs" is
actually "ours", swapped for technical reasons when rebasing.

rupert

```
