filter-options: expand scaled numbers
[gitweb.git] / branch.h
index 473d0a93e910d8f053e6e8c919e430048a3033a0..29c1afa4d0ce5d1639b81d3d652d5b16085218e9 100644 (file)
--- a/branch.h
+++ b/branch.h
@@ -1,11 +1,27 @@
 #ifndef BRANCH_H
 #define BRANCH_H
 
+struct repository;
+struct strbuf;
+
+enum branch_track {
+       BRANCH_TRACK_UNSPECIFIED = -1,
+       BRANCH_TRACK_NEVER = 0,
+       BRANCH_TRACK_REMOTE,
+       BRANCH_TRACK_ALWAYS,
+       BRANCH_TRACK_EXPLICIT,
+       BRANCH_TRACK_OVERRIDE
+};
+
+extern enum branch_track git_branch_track;
+
 /* Functions for acting on the information about branches. */
 
 /*
  * Creates a new branch, where:
  *
+ *   - r is the repository to add a branch to
+ *
  *   - name is the new branch name
  *
  *   - start_name is the name of the existing branch that the new branch should
@@ -24,7 +40,8 @@
  *     that start_name is a tracking branch for (if any).
  *
  */
-void create_branch(const char *name, const char *start_name,
+void create_branch(struct repository *r,
+                  const char *name, const char *start_name,
                   int force, int clobber_head_ok,
                   int reflog, int quiet, enum branch_track track);
 
@@ -47,7 +64,7 @@ extern int validate_new_branchname(const char *name, struct strbuf *ref, int for
  * Remove information about the state of working on the current
  * branch. (E.g., MERGE_HEAD)
  */
-void remove_branch_state(void);
+void remove_branch_state(struct repository *r);
 
 /*
  * Configure local branch "local" as downstream to branch "remote"