Re: [PATCH 7/8] setup_tree_pathspec(): interpret '^' as negative pathspec

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

 



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


[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]