pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
Since (ae8d08242 pathspec: pass directory indicator to
match_pathspec_item()) the path matching logic has been able to cope
with submodules without needing to strip off a trailing slash if a path
refers to a submodule.
Since the stripping the trailing slash is no longer necessary, remove
the PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag. In addition, factor
out the logic which dies if a path decends into a submodule so that it
can still be used as a check after a pathspec struct has been
initialized.
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
bdab972153
commit
c08397e3aa
14
pathspec.h
14
pathspec.h
@ -62,23 +62,15 @@ struct pathspec {
|
||||
#define PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP (1<<3)
|
||||
/* die if a symlink is part of the given path's directory */
|
||||
#define PATHSPEC_SYMLINK_LEADING_PATH (1<<4)
|
||||
/*
|
||||
* This is like a combination of ..LEADING_PATH and .._SLASH_CHEAP
|
||||
* (but not the same): it strips the trailing slash if the given path
|
||||
* is a gitlink but also checks and dies if gitlink is part of the
|
||||
* leading path (i.e. the given path goes beyond a submodule). It's
|
||||
* safer than _SLASH_CHEAP and also more expensive.
|
||||
*/
|
||||
#define PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE (1<<5)
|
||||
#define PATHSPEC_PREFIX_ORIGIN (1<<6)
|
||||
#define PATHSPEC_KEEP_ORDER (1<<7)
|
||||
#define PATHSPEC_PREFIX_ORIGIN (1<<5)
|
||||
#define PATHSPEC_KEEP_ORDER (1<<6)
|
||||
/*
|
||||
* For the callers that just need pure paths from somewhere else, not
|
||||
* from command line. Global --*-pathspecs options are ignored. No
|
||||
* magic is parsed in each pathspec either. If PATHSPEC_LITERAL is
|
||||
* allowed, then it will automatically set for every pathspec.
|
||||
*/
|
||||
#define PATHSPEC_LITERAL_PATH (1<<8)
|
||||
#define PATHSPEC_LITERAL_PATH (1<<7)
|
||||
|
||||
extern void parse_pathspec(struct pathspec *pathspec,
|
||||
unsigned magic_mask,
|
||||
|
||||
Reference in New Issue
Block a user