git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] wt-status.c: Set the commitable flag in the collect phase.

From
SSStephen P. Smith <ischis2@cox.net>
Date
Aug 31, 2018, 05:39 UTC
Message-ID
<20180831053921.8083-4-ischis2@cox.net>
In-Reply-To
<20180831053921.8083-1-ischis2@cox.net>

In an update to fix a bug with "commit --dry-run" it was found that the commitable flag was broken. The update was, at the time, accepted as it was better than the previous version.

Since the set of the flag had been done in wt_longstatus_print_updated, set the flag in wt_status_collect_updated_cb.

Set the commitable flag in wt_status_collect_changes_initial to keep from introducing a rebase regression.

Leave the setting of the commitable flag in show_merge_in_progress. If a check for merged commits is moved to the collect phase then other --dry-run tests fail.

Signed-off-by: Stephen P. Smith <ischis2@cox.net>
---
 wt-status.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/wt-status.c b/wt-status.c
index 5ffab6101..d50798425 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -540,10 +540,12 @@ static void wt_status_collect_updated_cb(struct diff_queue_struct *q,
 			/* Leave {mode,oid}_head zero for an add. */
 			d->mode_index = p->two->mode;
 			oidcpy(&d->oid_index, &p->two->oid);
+			s->commitable = 1;
 			break;
 		case DIFF_STATUS_DELETED:
 			d->mode_head = p->one->mode;
 			oidcpy(&d->oid_head, &p->one->oid);
+			s->commitable = 1;
 			/* Leave {mode,oid}_index zero for a delete. */
 			break;
 
@@ -561,6 +563,7 @@ static void wt_status_collect_updated_cb(struct diff_queue_struct *q,
 			d->mode_index = p->two->mode;
 			oidcpy(&d->oid_head, &p->one->oid);
 			oidcpy(&d->oid_index, &p->two->oid);
+			s->commitable = 1;
 			break;
 		case DIFF_STATUS_UNMERGED:
 			d->stagemask = unmerged_mask(p->two->path);
@@ -665,11 +668,13 @@ static void wt_status_collect_changes_initial(struct wt_status *s)
 			 * code will output the stage values directly and not use the
 			 * values in these fields.
 			 */
+			s->commitable = 1;
 		} else {
 			d->index_status = DIFF_STATUS_ADDED;
 			/* Leave {mode,oid}_head zero for adds. */
 			d->mode_index = ce->ce_mode;
 			oidcpy(&d->oid_index, &ce->oid);
+			s->commitable = 1;
 		}
 	}
 }
@@ -773,7 +778,6 @@ static void wt_longstatus_print_updated(struct wt_status *s)
 			continue;
 		if (!shown_header) {
 			wt_longstatus_print_cached_header(s);
-			s->commitable = 1;
 			shown_header = 1;
 		}
 		wt_longstatus_print_change_data(s, WT_STATUS_UPDATED, it);
-- 
2.18.0
Previous: SZEDER GáborNext: Ævar Arnfjörð Bjarmason
Message 9 of 12 in “wt-status.c: commitable flag”
  1. 0/3 wt-status.c: commitable flagStephen P. Smith, Aug 31, 2018
  2. 1/3 Change tests from expecting to fail to expecting success.Stephen P. Smith, Aug 31, 2018
  3. Ævar Arnfjörð BjarmasonAug 31, 2018
  4. 2/3 Add test for commit --dry-run --short.Stephen P. Smith, Aug 31, 2018
  5. Ævar Arnfjörð BjarmasonAug 31, 2018
  6. Junio C HamanoAug 31, 2018
  7. Stephen & Linda SmithAug 31, 2018
  8. SZEDER GáborSep 1, 2018
  9. 3/3 wt-status.c: Set the commitable flag in the collect phase.Stephen P. Smith, Aug 31, 2018
  10. Ævar Arnfjörð BjarmasonAug 31, 2018
  11. Junio C HamanoAug 31, 2018
  12. Stephen & Linda SmithAug 31, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.