2010/9/15 Junio C Hamano <gitster@xxxxxxxxx>: > Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > >> This patch does preparation work for tree exclusion in >> tree_entry_interesting(). '^' has similar meaning to '!' in >> gitexcludes. '!' is not used because bash does not like arguments with >> a leading '!'. > > Do not even mention gitexcludes as you have to make awkward excuse like > this. > > Instead say something like > > '^' works exactly like prefix '^' for revs (e.g. "log ^maint master") > to mark what is prefixed is excluded. It was not thought through. The way this patch does means get_pathspec() will need to be updated to handle the case "(in subdir)$ git diff ^foo", which has to be turned to "(in toplevel)$ git diff ^subdir/foo", not "(in toplevel)$ git diff subdir/^foo". A better approach would be separate "^" out as an argument by itself, i.e. "git diff ^ foo". Less work in get_pathspec(), and tab-comletion on path also works. But now as '^' stands alone, '!' can be used too (no more bash history expansion). And I think '!' is more intuitive than '^'. -- 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