On 11/08/18 21:50, Elijah Newren wrote: > 'branch_track' feels more closely related to branching, and it is > needed later in branch.h; rather than #include'ing cache.h in branch.h > for this small enum, just move the enum and the external declaration > for git_branch_track to branch.h. > > Signed-off-by: Elijah Newren <newren@xxxxxxxxx> > --- > branch.h | 11 +++++++++++ > cache.h | 10 ---------- > config.c | 1 + > environment.c | 1 + > 4 files changed, 13 insertions(+), 10 deletions(-) > > diff --git a/branch.h b/branch.h > index 7d9b330eba..5cace4581f 100644 > --- a/branch.h > +++ b/branch.h > @@ -3,6 +3,17 @@ > > 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. */ > > /* > diff --git a/cache.h b/cache.h > index 8dc7134f00..a1c0c594fb 100644 > --- a/cache.h > +++ b/cache.h > @@ -919,15 +919,6 @@ enum log_refs_config { > }; > extern enum log_refs_config log_all_ref_updates; > > -enum branch_track { > - BRANCH_TRACK_UNSPECIFIED = -1, > - BRANCH_TRACK_NEVER = 0, > - BRANCH_TRACK_REMOTE, > - BRANCH_TRACK_ALWAYS, > - BRANCH_TRACK_EXPLICIT, > - BRANCH_TRACK_OVERRIDE > -}; > - > enum rebase_setup_type { > AUTOREBASE_NEVER = 0, > AUTOREBASE_LOCAL, > @@ -944,7 +935,6 @@ enum push_default_type { > PUSH_DEFAULT_UNSPECIFIED > }; > > -extern enum branch_track git_branch_track; > extern enum rebase_setup_type autorebase; > extern enum push_default_type push_default; > > diff --git a/config.c b/config.c > index 66645047eb..b60d7c0308 100644 > --- a/config.c > +++ b/config.c > @@ -5,6 +5,7 @@ > * Copyright (C) Johannes Schindelin, 2005 > * > */ > +#include "branch.h" git-compat-util.h, cache.h or builtin.h _must_ be the first header file #included in a C file, so this new #include of the "branch.h" header should be moved ... > #include "cache.h" ... after here. > #include "config.h" > #include "repository.h" > diff --git a/environment.c b/environment.c > index 6cf0079389..920362900c 100644 > --- a/environment.c > +++ b/environment.c > @@ -7,6 +7,7 @@ > * even if you might want to know where the git directory etc > * are. > */ > +#include "branch.h" ditto > #include "cache.h" > #include "repository.h" > #include "config.h" > ATB, Ramsay Jones