mbox series

[v2,00/14] pull: default warning improvements

Message ID 20201204061623.1170745-1-felipe.contreras@gmail.com (mailing list archive)
Headers show
Series pull: default warning improvements | expand

Message

Felipe Contreras Dec. 4, 2020, 6:16 a.m. UTC
The old thread "Pull is Mostly Evil" [1] came to haunt us back again.

The main solution--reject non-fast-forward merges by default--seems to have lost traction (again).

There are multiple approaches floating around, but no clear path forward.

This patch series attempts to fix as much as possible of the current situation without committing to
any particular solution.

It does:

1. Improve the current documentation
2. Improve the current default warning
3. Minimize the instances where we display the default warning
4. Add a --merge option
5. Improve the error message with --ff-only
6. Fix the behavior of the warning with --ff

And tentatively (and this should be the only controversial change):

7. Change the semantics of -ff-only

It does not:

* Introduce the suggested pull.mode
* Change the current default (still --ff)

It is not a complete solution, but should improve the current situation.

[1] https://lore.kernel.org/git/5363BB9F.40102@xiplink.com/


Felipe Contreras (14):
  doc: pull: explain what is a fast-forward
  pull: improve default warning
  pull: refactor fast-forward check
  pull: cleanup autostash check
  pull: trivial cleanup
  pull: move default warning
  pull: display default warning only when non-ff
  pull: trivial whitespace style fix
  pull: introduce --merge option
  pull: add proper error with --ff-only
  tentative: pull: change the semantics of --ff-only
  pull: show warning with --ff
  test: merge-pull-config: trivial cleanup
  test: pull-options: revert unnecessary changes

 Documentation/git-pull.txt   | 24 ++++++++-
 builtin/pull.c               | 98 ++++++++++++++++++++++--------------
 t/t5520-pull.sh              | 62 +++++++++++++++++++++++
 t/t5521-pull-options.sh      | 22 ++++----
 t/t7601-merge-pull-config.sh | 35 +++++++------
 5 files changed, 174 insertions(+), 67 deletions(-)