refs.c: add repo_dwim_log()
[gitweb.git] / refs.h
diff --git a/refs.h b/refs.h
index 6cc0397679fd55bfdfc72b7a7f4cbf3ee5d028a0..859dffe69182524cb666a68a97b2a3764d4306fa 100644 (file)
--- a/refs.h
+++ b/refs.h
@@ -148,7 +148,9 @@ int refname_match(const char *abbrev_name, const char *full_name);
 struct argv_array;
 void expand_ref_prefix(struct argv_array *prefixes, const char *prefix);
 
-int expand_ref(const char *str, int len, struct object_id *oid, char **ref);
+int expand_ref(struct repository *r, const char *str, int len, struct object_id *oid, char **ref);
+int repo_dwim_ref(struct repository *r, const char *str, int len, struct object_id *oid, char **ref);
+int repo_dwim_log(struct repository *r, const char *str, int len, struct object_id *oid, char **ref);
 int dwim_ref(const char *str, int len, struct object_id *oid, char **ref);
 int dwim_log(const char *str, int len, struct object_id *oid, char **ref);
 
@@ -462,6 +464,8 @@ int check_refname_format(const char *refname, int flags);
 
 const char *prettify_refname(const char *refname);
 
+char *refs_shorten_unambiguous_ref(struct ref_store *refs,
+                                  const char *refname, int strict);
 char *shorten_unambiguous_ref(const char *refname, int strict);
 
 /** rename ref, return 0 on success **/
@@ -714,9 +718,11 @@ int parse_hide_refs_config(const char *var, const char *value, const char *);
 int ref_is_hidden(const char *, const char *);
 
 enum ref_type {
-       REF_TYPE_PER_WORKTREE,
-       REF_TYPE_PSEUDOREF,
-       REF_TYPE_NORMAL,
+       REF_TYPE_PER_WORKTREE,    /* refs inside refs/ but not shared       */
+       REF_TYPE_PSEUDOREF,       /* refs outside refs/ in current worktree */
+       REF_TYPE_MAIN_PSEUDOREF,  /* pseudo refs from the main worktree     */
+       REF_TYPE_OTHER_PSEUDOREF, /* pseudo refs from other worktrees       */
+       REF_TYPE_NORMAL,          /* normal/shared refs inside refs/        */
 };
 
 enum ref_type ref_type(const char *refname);