Re: Using push.default with push.remote.push

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 11, 2020 at 11:56:05AM -0500, Robert Dailey wrote:

> > Then when would remote.*.push with a wildcard ever do anything?
> 
> Maybe this is where a potential disconnect is, but I've always viewed
> the wildcard refspec as a mapping, rather than an all-inclusive "Push
> all the things". In other words, I view it as more of a structural
> guide than a behavioral one. I recognize I probably have this wrong,
> but it probably speaks to how some users view it, or at least, some
> valid use cases to have more of a structural mechanism to map branches
> to remote repositories, with `git push --all` being a supplement to
> say "Push all branches using this mapping".

I see. So you really want "push the current branch by default, but using
this refspec to map the names". That doesn't exist right now, but it
seems like it would be a reasonable thing to have.

Bringing in your other reply:

> I think `branch.*.pushRef` in this case is not enough. It implies that
> for every branch I want to be mapped in this way, I'd have to manually
> specify this config. Rather, I think a `remote.*.pushRef` would be
> more appropriate, so that it would automatically set the
> `branch.*.pushRef` version as needed, so I only set up the mapping
> once.

Yes, my suggestion would require per-branch config. And something like
remote.*.pushRef makes sense to me as the implementation for what we
were discussing above. I think you'd want the name to somehow indicate
that it's a mapping to be used when pushing a ref, and not the
definitive "this is what we will push" directive.

I don't think it would make sense to use with something like "upstream"
in push.default, because that's mapping the name already. So possibly it
should be restricted to "current". I suppose it would also make sense
with "matching". There the current remote.*.push _mostly_ does the same
thing, but with one subtle exception that it pushes everything that
matches the left-hand side of the refspec, not just ones that exist on
the right-hand side.

So I dunno. I could see it as being limited to "current", or being
applied as it makes sense for each individual push.default. I'll leave
that to whoever decides to work on the feature. :)

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux