about summary refs log tree commit diff
path: root/third_party/git/urlmatch.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/urlmatch.h')
-rw-r--r--third_party/git/urlmatch.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/third_party/git/urlmatch.h b/third_party/git/urlmatch.h
index eed5f292354c..6ff42f81b0c1 100644
--- a/third_party/git/urlmatch.h
+++ b/third_party/git/urlmatch.h
@@ -50,6 +50,20 @@ struct urlmatch_config {
 	void *cb;
 	int (*collect_fn)(const char *var, const char *value, void *cb);
 	int (*cascade_fn)(const char *var, const char *value, void *cb);
+	/*
+	 * Compare the two matches, the one just discovered and the existing
+	 * best match and return a negative value if the found item is to be
+	 * rejected or a non-negative value if it is to be accepted.  If this
+	 * field is set to NULL, use the default comparison technique, which
+	 * checks to ses if found is better (according to the urlmatch
+	 * specificity rules) than existing.
+	 */
+	int (*select_fn)(const struct urlmatch_item *found, const struct urlmatch_item *existing);
+	/*
+	 * An optional callback to allow e.g. for partial URLs; it shall
+	 * return 1 or 0 depending whether `url` matches or not.
+	 */
+	int (*fallback_match_fn)(const char *url, void *cb);
 };
 
 int urlmatch_config_entry(const char *var, const char *value, void *cb);