summaryrefslogtreecommitdiff
path: root/pathspec.h
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2017-06-30 13:12:34 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-06-30 13:12:34 -0700
commit2cfb6cec9446c6e25c82fd8f4fd92f55f04a4c98 (patch)
tree32f1610ab9b4a443a410447915c2f3781cfc9275 /pathspec.h
parentGit 2.13 (diff)
parenthashmap: migrate documentation from Documentation/technical into header (diff)
downloadtgif-2cfb6cec9446c6e25c82fd8f4fd92f55f04a4c98.tar.xz
Merge branch 'sb/hashmap-customize-comparison' into sb/diff-color-move
* sb/hashmap-customize-comparison: (566 commits) hashmap: migrate documentation from Documentation/technical into header patch-ids.c: use hashmap correctly hashmap.h: compare function has access to a data field Twelfth batch for 2.14 Git 2.13.2 Eleventh batch for 2.14 Revert "split-index: add and use unshare_split_index()" Tenth batch for 2.14 add--interactive: quote commentChar regex add--interactive: handle EOF in prompt_yesno auto-correct: tweak phrasing docs: update 64-bit core.packedGitLimit default t7508: fix a broken indentation grep: fix erroneously copy/pasted variable in check/assert pattern Ninth batch for 2.14 glossary: define 'stash entry' status: add optional stash count information stash: update documentation to use 'stash entry' for_each_bisect_ref(): don't trim refnames mergetools/meld: improve compatibiilty with Meld on macOS X ...
Diffstat (limited to 'pathspec.h')
-rw-r--r--pathspec.h25
1 files changed, 9 insertions, 16 deletions
diff --git a/pathspec.h b/pathspec.h
index 55e976972c..60e6500401 100644
--- a/pathspec.h
+++ b/pathspec.h
@@ -58,27 +58,17 @@ struct pathspec {
#define PATHSPEC_PREFER_CWD (1<<0) /* No args means match cwd */
#define PATHSPEC_PREFER_FULL (1<<1) /* No args means match everything */
#define PATHSPEC_MAXDEPTH_VALID (1<<2) /* max_depth field is valid */
-/* strip the trailing slash if the given path is a gitlink */
-#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_SYMLINK_LEADING_PATH (1<<3)
+#define PATHSPEC_PREFIX_ORIGIN (1<<4)
+#define PATHSPEC_KEEP_ORDER (1<<5)
/*
* 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<<6)
extern void parse_pathspec(struct pathspec *pathspec,
unsigned magic_mask,
@@ -106,7 +96,10 @@ static inline int ps_strcmp(const struct pathspec_item *item,
return strcmp(s1, s2);
}
-extern char *find_pathspecs_matching_against_index(const struct pathspec *pathspec);
-extern void add_pathspec_matches_against_index(const struct pathspec *pathspec, char *seen);
+extern void add_pathspec_matches_against_index(const struct pathspec *pathspec,
+ const struct index_state *istate,
+ char *seen);
+extern char *find_pathspecs_matching_against_index(const struct pathspec *pathspec,
+ const struct index_state *istate);
#endif /* PATHSPEC_H */