roll wt_status_state into wt_status and populate in the collect phase
authorStephen P. Smith <ischis2@cox.net>
Sun, 30 Sep 2018 14:12:45 +0000 (07:12 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 4 Oct 2018 06:38:20 +0000 (23:38 -0700)
commit73ba5d78b4e5d96b2c521e3d0a2ec86c26a2d25b
tree9c77b62e3c23e799315781bb7c68eddf58cbcf4f
parentf3bd35fa0dd6fcc8aaab1f9281d98cee5add2e4f
roll wt_status_state into wt_status and populate in the collect phase

Status variables were initialized in the collect phase and some
variables were later freed in the print functions.

A "struct wt_status" used to be sufficient for the output phase to
work.  It was designed to be filled in the collect phase and consumed
in the output phase, but over time some fields were added and output
phase started filling the fields.

A "struct wt_status_state" that was used in other codepaths turned out
to be useful in the "git status" output.  This is not tied to "struct
wt_status", so filling in the collect phase was not consistently
followed.

Move the status state structure variables into the status state
structure and populate them in the collect functions.

Create a new function to free the buffers that were being freed in the
print function.  Call this new function in commit.c where both the
collect and print functions were being called.

Based on a patch suggestion by Junio C Hamano. [1]

[1] https://public-inbox.org/git/xmqqr2i5ueg4.fsf@gitster-ct.c.googlers.com/

Signed-off-by: Stephen P. Smith <ischis2@cox.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/commit.c
wt-status.c
wt-status.h