Re: [PATCH 3/3] remote: introduce and fill branch->pushremote
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Jan 13, 2014, 11:22 UTC
- Message-ID
- <CALkWK0ncSLza3Q0PSZ0oTZqB2YxjgGSqA7QYxk2+rN_77BKZMA@mail.gmail.com>
- In-Reply-To
- <20140113083421.GA18531@sigill.intra.peff.net>
Jeff King wrote:
Show 13 quoted lines
> 2. If the current branch has a branch.*.pushremote set, but we want to
> know where a _different_ branch would be pushed, we have no way to
> access remote.pushdefault (it gets overwritten in the hunk above).
>
> @{upstream} does not have this problem, because it is _only_
> defined if branch.*.remote is set. There is no such thing as
> defaulting to a "remote.default" (or "origin") there, and we never
> need to look at default_remote_name.
>
> For @{publish}, though, I think we will want that default. The
> common config will be to simply set "remote.pushdefault", rather
> than setting up "branch.*.pushremote" for each branch, and we would
> want @{publish} to handle that properly.Not sure I understand what the problem is. Let's say we have two branches: "master", and "side" with remote.pushdefault = ram, branch.*.remote = origin, and branch.side.pushremote = peff. Now, when I query master's pushremote, I get "ram" and when I query side's pushremote, I get "peff"; all the logic for falling-back from branch.*.pushremote to remote.pushdefault to branch.*.remote is in branch_get(), so I need to do nothing extra on the caller-side. From the caller's perspective, why does it matter if the pushremote of a particular branch is due to branch.*.pushremote or remote.pushdefault?