[RFC] Refspec patterns with * in the middle

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

 



I've got an annoying repository where all of the branches upstream[*] have 
names, for a project "my-proj" like:

some/constant/stuff/$VERSION/junk/my-proj

I'd like to be able to use refspecs like:

 fetch = some/constant/stuff/*/junk/my-proj:refs/remotes/origin/*

I've written an implementation (which mainly involved having only one 
place do the matching and replacement for pattern refspecs, and then 
making that one place a little more clever), so that's not hard. But we 
currently prohibit refspecs like this, and I think we may want to prohibit 
some patterns of this general form, in order to keep typos from doing 
surprising things.

My use case is actually, more precisely:

some/constant/stuff/$PROJ-$NUMBER/junk/my-proj

Where $NUMBER is the version number, and $PROJ is usually, but not quite 
always "my-proj"; the exception being that it might be effectively a 
superproject. So I'd like to have:

 fetch = some/constant/stuff/my-proj-*/junk/my-proj:refs/remotes/origin/*

But I can live with remote branches like "my-proj-2.4" instead of "2.4".

I think it would make sense, and limit typo damage, to say that the * can 
only expand to something with a '/' in it if the star has a slash or the 
end of the string on each side.

What are other people's thoughts? Should I have a config option for how 
flexible matching is permitted? Any particular constraints I should have 
in general?

[*]
(This is actually a Perforce upstream, but I want to keep the mapping from 
Perforce into git simple and not grow another pattern-matching format, so 
I'm just copying Perforce paths as ref names, and then I want the match 
them with the usual code)

	-Daniel
*This .sig left intentionally blank*
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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