commit 4dd6eb4bad0365bcd6afea1defced7034794323e from: Stefan Sperling date: Mon Oct 07 18:58:21 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 - cb41003816bd48d421962c958a4dede3560118a4 commit + 4dd6eb4bad0365bcd6afea1defced7034794323e blob - 65cddbd86f134477f1ea182a4097014b17686200 blob + bb9125ced48b15709c711e4a7f24e2e35e0a2c0d --- lib/worktree.c +++ lib/worktree.c @@ -3688,7 +3688,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) { @@ -3702,13 +3702,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