commit 6e210706a4224007cf266b48c28e5a54e8279589 from: Stefan Sperling date: Fri Jan 22 23:49:46 2021 UTC implicitly mark all files in work tree as up-to-date after 'got integrate' Avoids having to run 'got update' for no good reason after 'got integrate'. The same change was made recently for both rebase and histedit in commit a615e0e7796ea1103a6e0d4b5dbb6134597886660 and we forgot about histedit. commit - 455f928e1e14791531139b0815e1b1b1355b76b9 commit + 6e210706a4224007cf266b48c28e5a54e8279589 blob - 686148327a8e13cf481ef62f03fe15ba6a6841d0 blob + e81fcf0f255ee6dd35a283cf1c758066903935f0 --- lib/worktree.c +++ lib/worktree.c @@ -7108,6 +7108,10 @@ got_worktree_integrate_continue(struct got_worktree *w goto sync; err = got_ref_write(base_branch_ref, repo); + if (err) + goto sync; + + err = bump_base_commit_id_everywhere(worktree, fileindex, NULL, NULL); sync: sync_err = sync_fileindex(fileindex, fileindex_path); if (sync_err && err == NULL) blob - 8cf8d28bfed42a087f2050d143b3c2b39d1bb6a5 blob + 603d7296146a6348c4964490d45c51c943f89e96 --- regress/cmdline/integrate.sh +++ regress/cmdline/integrate.sh @@ -132,6 +132,16 @@ test_integrate_basic() { > $testroot/stdout.expected echo "commit $new_commit1" >> $testroot/stdout.expected echo "commit $master_commit" >> $testroot/stdout.expected + cmp -s $testroot/stdout.expected $testroot/stdout + ret="$?" + if [ "$ret" != "0" ]; then + diff -u $testroot/stdout.expected $testroot/stdout + test_done "$testroot" "$ret" + return 1 + fi + + (cd $testroot/wt && got update > $testroot/stdout) + echo "Already up-to-date" > $testroot/stdout.expected cmp -s $testroot/stdout.expected $testroot/stdout ret="$?" if [ "$ret" != "0" ]; then