What is the intended next command after a mergify commit?
Using mergify start yields "merge in progress, you must 'abort' or 'continue'".
Using mergify conitnue yields the following:
[bdrewery@bdrewery-sea1][pts/5][zsh/2][Wed 08/03/2016 11:27:33 PDT][0?4&] (git)-[BR_PIPE_BSDMERGE_UPSTREAM_REFRESH|merge]-
~/git/onefs3 % mergify commit
mergify: Found an in-progress merge, trying to commit
Recorded resolution for 'sys/kern/makesyscalls.sh'.
[BR_PIPE_BSDMERGE_UPSTREAM_REFRESH 673fb3e] Add support for COMPAT10 keywords in syscalls.master.
Author: brooks
Date: Wed Jun 22 21:12:53 2016 +0000
mergify: recording conflicts
[BR_PIPE_BSDMERGE_UPSTREAM_REFRESH 6686ce5] Add support for COMPAT10 keywords in syscalls.master.
Author: brooks
Date: Wed Jun 22 21:12:53 2016 +0000
mergify: commit of a11d117db18f7dc7ed2f1ff5b24a3518017f058b succeeded
[bdrewery@bdrewery-sea1][pts/5][zsh/2][Wed 08/03/2016 11:29:58 PDT][0?4&] (git)-[BR_PIPE_BSDMERGE_UPSTREAM_REFRESH]-
~/git/onefs3 % mergify continue
cat: /local/ssd/bdrewery/git/onefs/.git/worktrees/onefs3/MERGIFY_CURRENT_HASH: No such file or directory
mergify: resuming merge at
mv: cannot stat ‘/local/ssd/bdrewery/git/onefs/.git/worktrees/onefs3/MERGIFY_CURRENT_HASH’: No such file or directory
mergify: attemping to merge e4ef2142c85cd9081fd589ffbefec3915f814669
e4ef2142c85cd9081fd589ffbefec3915f814669 Mark the pipe() system call as COMPAT10.
Auto-merging sys/kern/syscalls.master
CONFLICT (content): Merge conflict in sys/kern/syscalls.master
Auto-merging sys/compat/freebsd32/syscalls.master
Recorded preimage for 'sys/kern/syscalls.master'
Automatic merge failed; fix conflicts and then commit the result.
mergify: automerge of e4ef2142c85cd9081fd589ffbefec3915f814669 unsuccessful
mergify: resolve conflicts and 'continue', or 'abort'
mergify: recording SVN revision 302094 into upstream/.base
mergify: sending Prowl alert
The problem is that MERGIFY_CURRENT_HASH was moved to MERGIFY_LAST_MERGED_HASH on mergify commit. It then tries to find it and fails with a cat warning. It then runs
hashes=git log --pretty=format:%H --reverse --first-parent ${lasthash}..${srcbranch}``
with an emptylasthashwhich results in`HEAD..${srcbranch}` and it actually continues on just fine.
If mergify commit is intended to stop then it needs to also clean up all leftover MERGIFY files as
mergify abort does. Otherwise continue needs to handle the missing file case better by avoiding the cat warning and setting a proper lasthash. mergify commit also needs to be protected against a double run.
What is the intended next command after a
mergify commit?Using
mergify startyields "merge in progress, you must 'abort' or 'continue'".Using
mergify conitnueyields the following:[bdrewery@bdrewery-sea1][pts/5][zsh/2][Wed 08/03/2016 11:27:33 PDT][0?4&] (git)-[BR_PIPE_BSDMERGE_UPSTREAM_REFRESH|merge]- ~/git/onefs3 % mergify commit mergify: Found an in-progress merge, trying to commit Recorded resolution for 'sys/kern/makesyscalls.sh'. [BR_PIPE_BSDMERGE_UPSTREAM_REFRESH 673fb3e] Add support for COMPAT10 keywords in syscalls.master. Author: brooks Date: Wed Jun 22 21:12:53 2016 +0000 mergify: recording conflicts [BR_PIPE_BSDMERGE_UPSTREAM_REFRESH 6686ce5] Add support for COMPAT10 keywords in syscalls.master. Author: brooks Date: Wed Jun 22 21:12:53 2016 +0000 mergify: commit of a11d117db18f7dc7ed2f1ff5b24a3518017f058b succeeded [bdrewery@bdrewery-sea1][pts/5][zsh/2][Wed 08/03/2016 11:29:58 PDT][0?4&] (git)-[BR_PIPE_BSDMERGE_UPSTREAM_REFRESH]- ~/git/onefs3 % mergify continue cat: /local/ssd/bdrewery/git/onefs/.git/worktrees/onefs3/MERGIFY_CURRENT_HASH: No such file or directory mergify: resuming merge at mv: cannot stat ‘/local/ssd/bdrewery/git/onefs/.git/worktrees/onefs3/MERGIFY_CURRENT_HASH’: No such file or directory mergify: attemping to merge e4ef2142c85cd9081fd589ffbefec3915f814669 e4ef2142c85cd9081fd589ffbefec3915f814669 Mark the pipe() system call as COMPAT10. Auto-merging sys/kern/syscalls.master CONFLICT (content): Merge conflict in sys/kern/syscalls.master Auto-merging sys/compat/freebsd32/syscalls.master Recorded preimage for 'sys/kern/syscalls.master' Automatic merge failed; fix conflicts and then commit the result. mergify: automerge of e4ef2142c85cd9081fd589ffbefec3915f814669 unsuccessful mergify: resolve conflicts and 'continue', or 'abort' mergify: recording SVN revision 302094 into upstream/.base mergify: sending Prowl alertThe problem is that MERGIFY_CURRENT_HASH was moved to MERGIFY_LAST_MERGED_HASH on
mergify commit. It then tries to find it and fails with acatwarning. It then runshashes=git log --pretty=format:%H --reverse --first-parent ${lasthash}..${srcbranch}``with an empty
lasthashwhich results in`HEAD..${srcbranch}` and it actually continues on just fine.If
mergify commitis intended to stop then it needs to also clean up all leftover MERGIFY files asmergify abortdoes. Otherwisecontinueneeds to handle the missing file case better by avoiding the cat warning and setting a proper lasthash.mergify commitalso needs to be protected against a double run.