Junio C Hamano <gitster@xxxxxxxxx> 于2021年7月30日周五 上午4:56写道: > > The patch is a bit hard to read, but I do not think this improves > the root cause of the issue at all, which is that "do we need to > delete the pseudoref?" decision is tied to and based on the presense > of the custom message in the environment variable. > My original idea was to distinguish between cherry-pick calls by machines (git-rebase--preserve-merges.sh) and cherry-pick calls by people through an additional option "rebase-preserve-merges-mode". > The original issue was that we declared (erroneously) that the > presence of a custom message _means_ the caller is not a human but a > sequencing machinery that wants to deal with what is done via the > CHERRY_PICK_HEAD pseudoref itself, and your original issue was that > when a human user has the custom message envirnoment (either on > purpose or by mistake), the logic _misidentifies_ the call as if it > is made from a sequencing machinery and we lose the CHERRY_PICK_HEAD > pseudoref. The root cause is mistaking the correlation (sequencing > machinery uses the environment and it also does not want pseudoref) > as the causation (presense of the environment means we should remove > pseudoref). Ok... Now I guess what you mean is to provide an option for git cherry-pick to specifically delete "CHERRY_PICK_HEAD", and this options is "hidden", it is not provided to users, it is only reserved for sequencing machinery. In this way, we separate print_advice() from deleting "CHERRY_PICK_HEAD". Then in the future, GIT_CHERRY_PICK_HELP will be deleted. Thanks, -- ZheNing Hu