Re: [PATCH v4 2/8] status: cleanup API to wt_status_print
From: Junio C Hamano <hidden>
Date: 2016-08-03 21:36:14
Jeff Hostetler [off-list ref] writes:
From: Jeff Hostetler <redacted> Refactor the API between builtin/commit.c and wt-status.[ch]. Hide details of the various wt_*status_print() routines inside wt-status.c behind a single (new) wt_status_print() routine and eliminate the switch statements from builtin/commit.c This will allow us to more easily add new status formats and isolate that within wt-status.c Signed-off-by: Jeff Hostetler <redacted> Signed-off-by: Jeff Hostetler <redacted>
Again, are these the same person? I won't repeat this for the remainder of the series.
quoted hunk
diff --git a/wt-status.h b/wt-status.h index 2023a3c..a859a12 100644 --- a/wt-status.h +++ b/wt-status.h@@ -43,6 +43,15 @@ struct wt_status_change_data { unsigned new_submodule_commits : 1; }; + enum wt_status_format { + STATUS_FORMAT_NONE = 0, + STATUS_FORMAT_LONG, + STATUS_FORMAT_SHORT, + STATUS_FORMAT_PORCELAIN, + + STATUS_FORMAT_UNSPECIFIED + };
Is it your editor, or is it your MUA? This definition is indented by one SP, which is funny. Also throughout the series, I saw a handful of blank lines that should be empty but are not (e.g. three tabs and nothing else on a new line). I've fixed them up all but I won't be sending an interdiff just for them, so please make sure they won't resurface when/if you reroll.
quoted hunk
struct wt_status { int is_initial; char *branch;@@ -66,6 +75,8 @@ struct wt_status { int show_branch; int hints; + enum wt_status_format status_format; + /* These are computed during processing of the individual sections */ int commitable; int workdir_dirty;@@ -99,6 +110,7 @@ struct wt_status_state { void wt_status_truncate_message_at_cut_line(struct strbuf *); void wt_status_add_cut_line(FILE *fp); void wt_status_prepare(struct wt_status *s); +void wt_status_print(struct wt_status *s); void wt_status_collect(struct wt_status *s); void wt_status_get_state(struct wt_status_state *state, int get_detached_from); int wt_status_check_rebase(const struct worktree *wt,@@ -106,10 +118,6 @@ int wt_status_check_rebase(const struct worktree *wt, int wt_status_check_bisect(const struct worktree *wt, struct wt_status_state *state); -void wt_longstatus_print(struct wt_status *s); -void wt_shortstatus_print(struct wt_status *s); -void wt_porcelain_print(struct wt_status *s); -
I think I agreed during the previous review round that shifting the division of labor boundary between the command and wt-status.[ch] this way, to have the latter do more printing, is a good idea, and I still do. Thanks.