On Sun, Mar 1, 2009 at 6:42 PM, Daniel Barkalow <barkalow@xxxxxxxxxxxx> wrote: > 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. That seems more confusing that just saying: '*' matches everything but the path separator ('/'), and whatever it matches on the LHS of the ':' is what it expands to on the RHS. I'm not sure how a typo would damage anything, but this could always be enabled with core.refspec.glob_anywhere or some such. I think regex support is too much: fetch = some/constant/stuff/(my-proj-[^/]*)/junk/my-proj:refs/remotes/origin/\1 (Which in a git config, I think may need a double-backslash, but I forget what the config parser does.) j. -- 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