{"thread":{"id":"60856","subject":"is it a bug that git status show the in-progress 'edit' in an interactive rebase as 'done'?","startedAt":"2024-02-06T10:02:58Z","lastAt":"2024-02-06T20:10:11Z","messageCount":4,"participants":["Britton Kerin","Oswald Buddenhagen","Sergey Organov"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"488063","messageId":"CAC4O8c_oKT+a0hm+tqSOG7d1=AuJJKy5bsh72cJKVsWynvHw+w@mail.gmail.com","threadId":"60856","inReplyTo":null,"subject":"is it a bug that git status show the in-progress 'edit' in an interactive rebase as 'done'?","fromName":"Britton Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-02-06T10:02:43Z","receivedAt":"2024-02-06T10:02:58Z","isPatch":false,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"If I do 'git rebase -i master' from a branch then set the action of\nthe first two commits of a branch being rebased to 'edit' and exit the\neditor, an immediately subsequent 'git status' shows (for example):\n\ngit status\ninteractive rebase in progress; onto e79552d197\nLast command done (1 command done):\n   edit 71b73de914 message for first commit\nNext commands to do (6 remaining commands):\n   edit 3a478a7a08 message for second commit\n   pick fab7159cf4 message for third commit\n  (use \"git rebase --edit-todo\" to view and edit)\nYou are currently editing a commit while rebasing branch\n'my_completion_updates' on 'e79552d197'.\n  (use \"git commit --amend\" to amend the current commit)\n  (use \"git rebase --continue\" once you are satisfied with your changes)\n\nThis seems wrong, because until git rebase --continue has been done\nthe edit operation for the first commit is *ongoing* and it would be\nmuch clearer for the output of status to accurately say so.\n\nThe same applies to edit operations that don't happen to be the first.\n\nIs this a bug or is there some reason it's like this that I'm not seeing?\n\nBritton\n"},{"id":"488067","messageId":"ZcIYz82iLxPOVR9Q@ugly","threadId":"60856","inReplyTo":"CAC4O8c_oKT+a0hm+tqSOG7d1=AuJJKy5bsh72cJKVsWynvHw+w@mail.gmail.com","subject":"Re: is it a bug that git status show the in-progress 'edit' in an interactive rebase as 'done'?","fromName":"Oswald Buddenhagen","fromEmail":"oswald.buddenhagen@gmx.de","sentAt":"2024-02-06T11:32:31Z","receivedAt":"2024-02-06T11:32:33Z","isPatch":false,"sender":{"key":"oswald.buddenhagen@gmx.de","avatar":"https://avatars.githubusercontent.com/u/812380?v=4"},"body":"On Tue, Feb 06, 2024 at 01:02:43AM -0900, Britton Kerin wrote:\n>>Last command done (1 command done):\n>>   edit 71b73de914 message for first commit\n>>...\n>>You are currently editing a commit while rebasing branch\n>>...\n>\n>This seems wrong, because until git rebase --continue has been done\n>the edit operation for the first commit is *ongoing* and it would be\n>much clearer for the output of status to accurately say so.\n>\nit makes a lot of more sense when you decompose 'edit' into 'pick'\nfollowed by 'break', which it essentially is. so from git's perspective,\nthe command really _is_ already done. note that in this state, you can\ndo all kinds of crazy things - including adding new commits (possibly by\ncherry-picking them) and even dropping already rewritten commits (using\na hard reset). so in a way, the message above is even a bit too\nsuggestive.\n"},{"id":"488089","messageId":"87il31s7g1.fsf@osv.gnss.ru","threadId":"60856","inReplyTo":"ZcIYz82iLxPOVR9Q@ugly","subject":"Re: is it a bug that git status show the in-progress 'edit' in an interactive rebase as 'done'?","fromName":"Sergey Organov","fromEmail":"sorganov@gmail.com","sentAt":"2024-02-06T19:45:18Z","receivedAt":"2024-02-06T19:45:21Z","isPatch":false,"sender":{"key":"sorganov@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8501568?v=4"},"body":"Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:\n\n> On Tue, Feb 06, 2024 at 01:02:43AM -0900, Britton Kerin wrote:\n>>>Last command done (1 command done):\n>>>   edit 71b73de914 message for first commit\n>>>...\n>>>You are currently editing a commit while rebasing branch\n>>>...\n>>\n>>This seems wrong, because until git rebase --continue has been done\n>>the edit operation for the first commit is *ongoing* and it would be\n>>much clearer for the output of status to accurately say so.\n>>\n> it makes a lot of more sense when you decompose 'edit' into 'pick'\n> followed by 'break', which it essentially is. so from git's perspective,\n> the command really _is_ already done. note that in this state, you can\n> do all kinds of crazy things - including adding new commits (possibly by\n> cherry-picking them) and even dropping already rewritten commits (using\n> a hard reset). so in a way, the message above is even a bit too\n> suggestive.\n\nYep. Maybe, if the rebase action itself were called \"amend\" rather than\n\"edit\", it'd have been more clear and consistent thus less confusing.\nCheck:\n\ngit status\ninteractive rebase in progress; onto e79552d197\nLast command done (1 command done):\n   amend 71b73de914 message for first commit\nNext commands to do (6 remaining commands):\n   amend 3a478a7a08 message for second commit\n   pick fab7159cf4 message for third commit\n  (use \"git rebase --edit-todo\" to view and edit)\nYou are currently amending a commit while rebasing branch\n'my_completion_updates' on 'e79552d197'.\n  (use \"git commit --amend\" to amend the current commit)\n  (use \"git rebase --continue\" once you are satisfied with your changes)\n\n-- \nSergey\n"},{"id":"488090","messageId":"CAC4O8c_1JnDc5v+_xS9Q=0fJmoK3e8iYiag2gT8KchcJdvgcTg@mail.gmail.com","threadId":"60856","inReplyTo":"ZcIYz82iLxPOVR9Q@ugly","subject":"Re: is it a bug that git status show the in-progress 'edit' in an interactive rebase as 'done'?","fromName":"Britton Kerin","fromEmail":"britton.kerin@gmail.com","sentAt":"2024-02-06T20:09:55Z","receivedAt":"2024-02-06T20:10:11Z","isPatch":false,"sender":{"key":"britton.kerin@gmail.com","avatar":"https://avatars.githubusercontent.com/u/7434164?v=4"},"body":"On Tue, Feb 6, 2024 at 2:32 AM Oswald Buddenhagen\n<oswald.buddenhagen@gmx.de> wrote:\n>\n> On Tue, Feb 06, 2024 at 01:02:43AM -0900, Britton Kerin wrote:\n> >>Last command done (1 command done):\n> >>   edit 71b73de914 message for first commit\n> >>...\n> >>You are currently editing a commit while rebasing branch\n> >>...\n> >\n> >This seems wrong, because until git rebase --continue has been done\n> >the edit operation for the first commit is *ongoing* and it would be\n> >much clearer for the output of status to accurately say so.\n> >\n> it makes a lot of more sense when you decompose 'edit' into 'pick'\n> followed by 'break', which it essentially is. so from git's perspective,\n> the command really _is_ already done. note that in this state, you can\n\nwell viewed this way the pick may be done but not the implicit break\n\n> do all kinds of crazy things - including adding new commits (possibly by\n> cherry-picking them) and even dropping already rewritten commits (using\n> a hard reset). so in a way, the message above is even a bit too\n> suggestive.\n\nYes.  I'd handle this by changing the description of edit offered in\nthe comments in the todo to better reflect the possibilities.  The\nhints that git rebase -i  (or --continue I guess) gives when it hits\nthe edit commit also don't reflect all the possibilities very well.\n\nBritton\n"}]}