From: Junio C Hamano Date: Thu, 12 Mar 2026 01:02:40 GMT Subject: Re: [PATCH v5 0/3] Advice on checkout dirty files Message-ID: In-Reply-To: "Arsh Srivastava via GitGitGadget" writes: > Changes: > >> advice.h: add ADVICE_STASH_BEFORE_CHECKOUT enum value advice.c: add >> "stashBeforeCheckout" to advice_setting[] and implement >> advise_on_checkout_dirty_files() function >> Documentation/config/advice.adoc: document the new advice key > > Signed-off-by: Arsh Srivastava arshsrivastava00@gmail.com > > Arsh Srivastava (3): > advice: add stashBeforeCheckout advice for dirty branch switches > advice: add stashBeforeCheckout advice for dirty branch switches > [GSOC] > unpack-trees: suggesting 'git checkout -m ' with its > repercussions I still see that [PATCH 3/3] literally removes what was added by earlier patches. ADVICE_STASH_BEFORE_CHECKOUT is added to advice.[ch] and stashBeforeCheckOut is added to Documentation/config/adivce.adoc in [1/3], and then they are removed in [3/3]. If your final solution does not involve such an advice, then do not even add it in an earlier patch, only to retract it and replace it with something else in a later patch. If the reason why that "something else" replaces the advice is because it is a better solution to the problem you initially started to solve than the advice message added in [1/3], then just go straight to that "something else", without adding and removing the advice mechanism. That is what "perfect logical progression without detours, change of plans, and fixes earlier mistake" is about. In other words, please do not throw a drunken-man's-walk series at us. Pretend to be a perfect developer. The final series accepted by the project will have to stay in our history for later developers to see in "git log" output to learn from, and a series being clean logical progression is a must for that to happen.