git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: rebase -i and --whitespace, was Re: [PATCH] git-rebase.sh: Update USAGE string (No. 1)

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 5, 2008, 23:43 UTC
Message-ID
<7vir137yvx.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<200802041642.52088.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> writes:
Show 13 quoted lines
> So it means that synopsis should, instead of current (pre-patch)
>
> 'git-rebase' [-i | --interactive] [-v | --verbose] [-m | --merge]
>         [-C<n>] [ --whitespace=<option>] [-p | --preserve-merges]
>         [--onto <newbase>] <upstream> [<branch>]
>
> should read
>
> 'git-rebase' [-v | --verbose]  [-p | --preserve-merges]
>         [{-i | --interactive} | [-C<n>] [ --whitespace=<option>] [-m | --merge]]
>         [--onto <newbase>] <upstream> [<branch>]
>
> or perhaps even separated into interactive / non-interactive merge?
I think the reality is:
 * -i ignores the lack of -m (i.e. do not use the slow "merge");
 * Rebase with -m cannot use -C<n> and --whitespace (hence -i
   because it forces -m);
 * -p is only meaningful when using -m;
Three possible courses of actions are:
 (1) fix merge codepath (this is involved --- we would need to
     teach xdl_merge() to honor --whitespace={warn|error|fix}
     and -C<n>); or
 (2) fix -i so that it does not force -m; or
 (3) adjust the description to reality.

Obviously the easiest would be to document the behaviour as-is, but I suspect (2) would be the best practical solution if we wanted to have any improvement compared to the current situation.

Previous: Johannes SchindelinNext: Johannes Schindelin
Message 18 of 20 in “git-rebase.sh: Update USAGE string”
  1. git-rebase.sh: Update USAGE stringJari Aalto, Feb 3, 2008
  2. Jakub NarebskiFeb 3, 2008
  3. git-rebase.sh: Update USAGE string (No. 1)Jari Aalto, Feb 3, 2008
  4. Johannes SchindelinFeb 3, 2008
  5. Jakub NarebskiFeb 3, 2008
  6. Jari AaltoFeb 4, 2008
  7. Johannes SchindelinFeb 4, 2008
  8. Junio C HamanoFeb 4, 2008
  9. Jakub NarebskiFeb 4, 2008
  10. Mike HommeyFeb 4, 2008
  11. Jakub NarebskiFeb 4, 2008
  12. Junio C HamanoFeb 4, 2008
  13. git-rebase.sh: Update USAGE stringJari Aalto, Feb 4, 2008
  14. しらいしななこFeb 4, 2008
  15. rebase -i and --whitespace, was Re: [PATCH] git-rebase.sh: Update USAGE string (No. 1)Johannes Schindelin, Feb 4, 2008
  16. Jakub NarebskiFeb 4, 2008
  17. Johannes SchindelinFeb 4, 2008
  18. Junio C HamanoFeb 5, 2008
  19. Johannes SchindelinFeb 6, 2008
  20. git-rebase.sh: Update USAGE stringJari Aalto, Feb 4, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.