Tags: bafain/git
Tags
rebase -i: enable --signoff, --reset-author for pick, reword, edit Lift the general unknown option blockade for the `pick`, `reword` and `edit` commands. If `do_cmd` comes across one of the options `--signoff` and `--reset-author` while parsing a to-do entry and the scheduled command is either `pick` or `reword`, relay the option to `do_pick`. Remember to add Signed-off-by: and to reset the authorship even when the rebase is interrupted for conflict resolution and `git rebase --continue` creates the commit. Employ the same mechanism that is used to remember amending an interim squash commit after conflict resolution or a commit after editing. If a line option was specified, create the files `signoff` and `resetauthor` respectively in the state directory. While `signoff` is handled by simply specifying the `--signoff` option when creating the commit, the `resetauthor` case is somewhat more involved. The author script contains the author information of the replayed commit. Renewing the authorship means using the user environment for the authorship so that we need to skip the author script if `resetauthor` exists and we are not amending. If we are amending, `--reset-author` must be passed to git-commit because otherwise the authorship of HEAD would be used. `do_pick` options like `--gpg-sign` and `--file` are not yet supported because `do_cmd` cannot handle option arguments and options with spaces at the moment. `squash` and `fixup` still do not accept user options as the interplay of `--reset-author` and the author script is yet to be determined. Document the new options by listing them in the to-do help and giving a usage example in the "INTERACTIVE MODE" section of the git-rebase man page. Add tests.
rebase -i: enable options --signoff, --reset-author for pick, reword pick and reword are atomic to-do list commands in the sense that they open a new task which is closed after the respective command is completed. squash and fixup are not atomic. They create a new task which is not completed until the last squash or fixup is processed. Lift the general unknown option blockade for the pick and reword commands. If `do_cmd` comes across one of the options `--signoff` and `--reset-author` while parsing a to-do entry and the scheduled command is either `pick` or `reword`, relay the option to `do_pick`. The `do_pick` options `--gpg-sign` and `--file` are not yet supported because `do_cmd` cannot handle option arguments and options with spaces at the moment. It is true that edit is one of the atomic commands but it displays hash information when the rebase is stopped and some options rewrite the picked commit which alters that information. squash and fixup still do not accept user options as the interplay of `--reset-author` and the author script are yet to be determined.
rebase -i: enable options --signoff, --reset-author for pick, reword pick and reword are atomic to-do list commands in the sense that they open a new task which is closed after the respective command is completed. squash and fixup are not atomic. They create a new task which is not completed until the last squash or fixup is processed. Lift the general unknown option blockade for the pick and reword commands. If `do_cmd` comes across one of the options `--signoff` and `--reset-author` while parsing a to-do entry and the scheduled command is either `pick` or `reword`, relay the option to `do_pick`. The `do_pick` options `--gpg-sign` and `--file` are not yet supported because `do_cmd` cannot handle option arguments and options with spaces at the moment. It is true that edit is one of the atomic commands but it displays hash information when the rebase is stopped and some options rewrite the picked commit which alters that information. squash and fixup still do not accept user options as the interplay of `--reset-author` and the author script are yet to be determined.
PreviousNext