On Tue, Mar 1, 2011 at 6:16 PM, Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> wrote: > Nguyen Thai Ngoc Duy venit, vidit, dixit 01.03.2011 12:13: >> 2011/3/1 Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx>: >>> Introduce a leading ':' as the notation for repo-wide pathspecs. >>> >>> This is in line with our treeish:path notation which defaults to >>> repowide paths. >>> >>> Heck: Even ':./path' works for pathspecs, and I have no clue why! >> >> If you are going to turn pathspecs into something more complex, >> reserve room for future extension. I have negative pathspecs that can >> utilize it. >> >> I take it, from now on people must refer file name ':foo' as './:foo' >> with your patch? > > That is up for discussion, of course. When discussing a new approach for > file mode dependent attributes, I was hoping to get through with > symlink:path, and did not. But it was decided that something like > :symlink:path would be good enough, in the sense of avoiding enough > possible conflicts. That made me hope that :path would be, too. Take me down. I'm going crazy now. Another, less cryptic choice, is to make these special notations separate from true pathspecs. For example, instead of ":foo" we can say "--root foo". get_pathspec() and friends can be updated to remove --root and rewrite the next pathspec. Extensibility is obvious. Problems are plenty: - may be confused with command line options without "--" as separator ("-:" on the other hand is not, but looks weird) - '-' is not a reserved letter, the same as ':' - ... > (I have not checked for interaction of those two, which are in flight.) > > I would think that file names like ":foo" are problematic on msys > already, so in a sense they are no-no already, and free to take as > special notation. Back to what I'm writing above, '-' may be chosen over ':' even without separation because UNIXers are trained that '-' is usually the beginning of something special, I suppose most of us would go with ./-blah for file names. -- Duy -- 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