"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Omar Polo <op@omarpolo.com>
Subject:
Re: got-build-regress.sh regress failure
To:
op@omarpolo.com
Cc:
gameoftrees@openbsd.org
Date:
Mon, 24 Jul 2023 17:22:17 +0200

Download raw body.

Thread
On 2023/07/24 17:00:51 +0200, op@omarpolo.com wrote:
> ==== branch ====
> ./branch.sh -q -r "/home/chiaki/tmp/"
> ./branch.sh[684]: pop_id: not found
> ./branch.sh[684]: pop_id: not found
> --- /home/chiaki/tmp/got-test-branch_list_worktree_state-FyPu1TkPyl/stdout.expected	Mon Jul 24 16:40:36 2023
> +++ /home/chiaki/tmp/got-test-branch_list_worktree_state-FyPu1TkPyl/stdout	Mon Jul 24 16:40:36 2023
> @@ -1,2 +1,2 @@
> -* master: 
> -  newbranch: 
> +* master: c1e9e653b1221fecfb32c9a8d1efccd2fcd227a9
> +  newbranch: c1e9e653b1221fecfb32c9a8d1efccd2fcd227a9
> test failed; leaving test data in /home/chiaki/tmp/got-test-branch_list_worktree_state-FyPu1TkPyl
> *** Error 1 in regress/cmdline (Makefile:34 'branch')
> FAILED

this was a forgotten pop_id -> pop_idx rename

> ./merge.sh -q -r "/home/chiaki/tmp/"
> Segmentation fault (core dumped) 
> got merge failed unexpectedly
> test failed; leaving test data in /home/chiaki/tmp/got-test-merge_basic-UwvZugwVbj

and this a wrong argument passed to check_mixed_commits via
got_fileindex_for_each_entry_safe()

> ==== send ====
> ./send.sh -q -r "/home/chiaki/tmp/"
> Segmentation fault (core dumped) 
> got merge command failed unexpectedly
> test failed; leaving test data in /home/chiaki/tmp/got-test-send_merge_commit-bpwh9MCMY2

this is caused by the same.

both fix were trivial enough that I just committed them.  here's the
combined diff for reference.

diff f6b8c3c2253c61e60153121cfa4da7c350787598 refs/heads/main
commit - f6b8c3c2253c61e60153121cfa4da7c350787598
commit + e07c178232d764c5a0518412c4a9348e6d24cfc1
blob - d4aed4f6bf14dbd91a5d5efb9d4479dcd6164ec4
blob + c2e52f2b6af12e7f6d173ad130885b820fa1bd5e
--- lib/worktree.c
+++ lib/worktree.c
@@ -8463,7 +8463,7 @@ got_worktree_merge_branch(struct got_worktree *worktre
 	cma.cancel_arg = cancel_arg;
 
 	err = got_fileindex_for_each_entry_safe(fileindex, check_mixed_commits,
-	    worktree);
+	    &cma);
 	if (err)
 		goto done;
 
blob - 5ded37bff3fc54893ebb5730937274ffb904a1e1
blob + 32ca2931e3071c10d03c698a6c1fbac3f2513eeb
--- regress/cmdline/branch.sh
+++ regress/cmdline/branch.sh
@@ -617,8 +617,8 @@ test_branch_list_worktree_state() {
 
 	# check up-to-date marker is shown with fresh checkout
 	(cd "$wt" && got br -l > "$testroot/stdout")
-	echo "* master: $(pop_id 1 $@)" > $testroot/stdout.expected
-	echo "  newbranch: $(pop_id 1 $@)" >> $testroot/stdout.expected
+	echo "* master: $(pop_idx 1 $@)" > $testroot/stdout.expected
+	echo "  newbranch: $(pop_idx 1 $@)" >> $testroot/stdout.expected
 	cmp -s $testroot/stdout $testroot/stdout.expected
 	ret=$?
 	if [ $ret -ne 0 ]; then
@@ -633,8 +633,8 @@ test_branch_list_worktree_state() {
 	set -- "$@" "$(git_show_head "$testroot/repo")"
 
 	(cd "$wt" && got br -l > "$testroot/stdout")
-	echo "~ master: $(pop_id 2 $@)" > $testroot/stdout.expected
-	echo "  newbranch: $(pop_id 1 $@)" >> $testroot/stdout.expected
+	echo "~ master: $(pop_idx 2 $@)" > $testroot/stdout.expected
+	echo "  newbranch: $(pop_idx 1 $@)" >> $testroot/stdout.expected
 	cmp -s $testroot/stdout $testroot/stdout.expected
 	ret=$?
 	if [ $ret -ne 0 ]; then
@@ -646,8 +646,8 @@ test_branch_list_worktree_state() {
 	# check up-to-date marker is shown after 'got update'
 	(cd "$wt" && got up > /dev/null)
 	(cd "$wt" && got br -l > "$testroot/stdout")
-	echo "* master: $(pop_id 2 $@)" > $testroot/stdout.expected
-	echo "  newbranch: $(pop_id 1 $@)" >> $testroot/stdout.expected
+	echo "* master: $(pop_idx 2 $@)" > $testroot/stdout.expected
+	echo "  newbranch: $(pop_idx 1 $@)" >> $testroot/stdout.expected
 	cmp -s $testroot/stdout $testroot/stdout.expected
 	ret=$?
 	if [ $ret -ne 0 ]; then
@@ -659,8 +659,8 @@ test_branch_list_worktree_state() {
 	# check out-of-date marker is shown with out-of-date base commit
 	(cd "$wt" && got up -c:head:- > /dev/null)
 	(cd "$wt" && got br -l > "$testroot/stdout")
-	echo "~ master: $(pop_id 2 $@)" > $testroot/stdout.expected
-	echo "  newbranch: $(pop_id 1 $@)" >> $testroot/stdout.expected
+	echo "~ master: $(pop_idx 2 $@)" > $testroot/stdout.expected
+	echo "  newbranch: $(pop_idx 1 $@)" >> $testroot/stdout.expected
 	cmp -s $testroot/stdout $testroot/stdout.expected
 	ret=$?
 	if [ $ret -ne 0 ]; then