commit 087855b83c297a28d10affc24cb2cb72e7b7515f from: Stefan Sperling via: Thomas Adam date: Mon Oct 07 19:25:20 2024 UTC revert part of my previous commit which caused unstage.sh test failures Some parts of the code rely on staged_blob_id being NULL in certain cases. Restore this behaviour while keeping the segfault bug fixed. commit - af0328d61e5353fc867c1731a5dcb969f805aaba commit + 087855b83c297a28d10affc24cb2cb72e7b7515f blob - 5af05544443feda9e6394c57a8d8dbe7db88e27b blob + de4d445f726ef630033419312e46373ca1ee5846 --- lib/worktree.c +++ lib/worktree.c @@ -3685,7 +3685,7 @@ status_old(void *arg, struct got_fileindex_entry *ie, { const struct got_error *err; struct diff_dir_cb_arg *a = arg; - struct got_object_id blob_id, commit_id, staged_blob_id; + struct got_object_id blob_id, commit_id; unsigned char status; if (a->cancel_cb) { @@ -3699,13 +3699,12 @@ status_old(void *arg, struct got_fileindex_entry *ie, got_fileindex_entry_get_blob_id(&blob_id, ie); got_fileindex_entry_get_commit_id(&commit_id, ie); - got_fileindex_entry_get_staged_blob_id(&staged_blob_id, ie); if (got_fileindex_entry_has_file_on_disk(ie)) status = GOT_STATUS_MISSING; else status = GOT_STATUS_DELETE; return (*a->status_cb)(a->status_arg, status, get_staged_status(ie), - ie->path, &blob_id, &staged_blob_id, &commit_id, -1, NULL); + ie->path, &blob_id, NULL, &commit_id, -1, NULL); } static void