Re: Default remote branch for local branch
From: Josef Weidendorfer <hidden>
Date: 2016-06-15 22:42:23
On Friday 14 April 2006 18:16, you wrote:
Dear diary, on Sun, Apr 02, 2006 at 06:17:29PM CEST, I got a letter where Josef Weidendorfer [off-list ref] said that...quoted
quoted
I would write the config like this: [branch-upstream] master = linus ata-irq-pio = irq-pio ata-pata = pata-driversThat is not working, as said above. But with above syntax extension, with s/=/for/ it would be fine.I'm sorry but I'm slow and I don't see it - why wouldn't this work? (Except that the key name is case insensitive, which isn't too big a deal IMHO.)
Hmm... * IMHO "keys are case insensitive" is enough to not qualify for branch names: currently, branch names are case sensitive, and with above syntax you effectively change this rule (you can not distinguish upstreams for "master" vs. "MASTER"). * a dot currently seems to be allowed in branch names. For config keys, the dot separates subkeys. * I thought it is a convention for config keys to be alphanum only, eg. "/" isn't allowed, too (which is mandatory for branch names). Unfortunately, I found nothing about allowed chars for config keys in the documentation.
I for one think that the 'for'-syntax is insane - it's unreadable (your primary query is by far most likely to be "what's the upstream when on branch X", not "what branches is this upstream for"), would convolute the configuration file syntax unnecessarily and would possibly also complicate the git-repo-config interface.
As far as I remember, the "... for ..." syntax was suggested by Linus for the proxy.command config a long time ago. The original proposal there was to use an URL as key part (as far as I can remember). That said,
Pavel's syntax is much nicer.
... I agree with you here. My suggestion would be to allow an optional syntax in the config file which is mapped by git-repo-config to the normalized "... for ..."-scheme. Eg. it should not be mandatory to specify "for ..." after the value of a key. So instead of branch.upstream = linus for master you should be able to say [branch] upstream for master = linus Josef