Nguyen Thai Ngoc Duy <pclouds@xxxxxxxxx> writes: > On Mon, May 14, 2012 at 11:43 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> Later Nguyen and others started working on unifying the two separate >> "pathspec" semantics and we are probably halfway there. Many of the >> commands from "diff/log" family now can take wildcard (there may be new >> bugs in the codepaths, though), but "ls-tree" has not been converted. > > Do we break backward compatibility by teaching ls-tree new pathspec > semantics? I guess directories with wildcards in the name are rare, > the chance of someone doing "ls-tree a*" is low. But I may miss > something. If you change ls-tree to use its paths arguments as pathspec, you will break backward compatibility. But nobody stops us from _adding_ an option to ls-tree to tell it to switch between the two, i.e. git ls-tree HEAD -- '*.c' git ls-tree --pathspec HEAD -- '*.c' The former will use the traditional "leading path match only" while the latter uses the (to-be) unified "pathspec" semantics. Internally, the implementation could very well do something like this after parsing the options: if (!opt_pathspec) prefix ":(noglob)" to all paths args and use the updated code with magic pathspec support to handle both cases. -- 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