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/12 Elijah Newren <newren@xxxxxxxxx>:
> 2010/9/8 Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx>:
>> 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 '!'.
>>
>> Eventually, "git diff -- foo ^foo/bar" should show differences in foo,
>> except foo/bar. If "git diff -- ^foo" is given, then it implies
>> everything except foo, which could surprise users that
>> "bar" in "git diff -- bar ^foo" has no effect at all.
>
> I really like the work here.  There are just two things that I think
> are missing:
>  * It doesn't handle files with leading carats in their name
>  * It handles some nested include/exclude cases (e.g. dir
> ^dir/subdir) but not more complicated ones.

Yeah. I originally needed it to compare trees outside narrow area
(i.e. negating all pathspecs). But I would need a more robust
implementation soon when I implement tree widening.

> Note: In the second test, I used:
>  * "^funny" to search for all files EXCEPT "funny"
>  * "^^funny" to search for a file named "^funny"
>  * "^^^funny" to search for all files EXCEPT "^funny"
> I'm not sure if that's really the syntax we want to adopt, but it
> should be easy to change if we decide on some other syntax.

Another way is always treat the leading ^ as negative pathspec. If you
have file "^foo", specify it with ./^foo. There's still problem with
top level entries this way.
-- 
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]