Re: [PATCH] git-rebase--merge: modernize "git-$cmd" to "git $cmd"

2018-06-06 Thread Elijah Newren
On Wed, Jun 6, 2018 at 10:06 PM, Elijah Newren wrote: > > I tend to think git-rebase--merge is less popular than the other rebase > types, leading to it being more overlooked and less well tested than the > other ones. This git-$cmd usage seems to support that argument. > >

Re: [RFC PATCH 7/7] merge: fix misleading pre-merge check documentation

2018-06-06 Thread Elijah Newren
On Sat, Jun 2, 2018 at 11:58 PM, Elijah Newren wrote: > builtin/merge.c contains this important requirement for merge strategies: > > ...the index must be in sync with the head commit. The strategies are > responsible to ensure this. > > However, Documentation/

Re: [PATCH v4 04/23] unpack-tress: convert clear_ce_flags* to avoid the_index

2018-06-07 Thread Elijah Newren
Subject line: unpack-trees rather than unpack-tress. On Wed, Jun 6, 2018 at 9:49 AM, Nguyễn Thái Ngọc Duy wrote: > Prior to fba92be8f7, this code implicitly (and incorrectly) assumes > the_index when running the exclude machinery. fba92be8f7 helps show > this problem clearer because unpack-tree

Re: [PATCH v4 00/23] Fix incorrect use of the_index

2018-06-07 Thread Elijah Newren
On Wed, Jun 6, 2018 at 9:49 AM, Nguyễn Thái Ngọc Duy wrote: > v4 fixes some commit messages and killed a couple more the_index > references after I tried to merge this with 'pu' Thanks for tackling this. The first 8 patches look good to me other than the typo I pointed out on patch 4. However,

[RFC PATCH 3/3] git-rebase.sh: make git-rebase--interactive the default

2018-06-07 Thread Elijah Newren
SE-m. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 26 -- git-rebase.sh | 30 +- t/t3400-rebase.sh | 7 --- t/t3401-rebase-and-am-rename.sh | 18 +- t/t3404-rebase-int

[RFC PATCH 0/3] Send more rebases through interactive machinery

2018-06-07 Thread Elijah Newren
CABPp-BGxaroePB6aKWAkZeADLB7VE3y1CPy2RyNwpn=+c01...@mail.gmail.com/ To get this series with the preparatory fixups: Fetch-It-Via: git fetch https://github.com/newren/git rebase-new-default Elijah Newren (3): git-rebase, sequencer: add a --quiet option for the interactive machinery rebase: Implement --merge vi

[RFC PATCH 2/3] rebase: Implement --merge via git-rebase--interactive

2018-06-07 Thread Elijah Newren
covered different rebase flavors. I think this is just attributable to this difference. Signed-off-by: Elijah Newren --- .gitignore| 1 - Documentation/git-rebase.txt | 16 +-- Makefile | 1 - git-rebase--interactive.sh| 5

[RFC PATCH 1/3] git-rebase, sequencer: add a --quiet option for the interactive machinery

2018-06-07 Thread Elijah Newren
een quieter. As such, we only drop a few informational messages -- "Rebasing (n/m)" and "Succesfully rebased..." Signed-off-by: Elijah Newren --- git-rebase--interactive.sh | 9 +++-- git-rebase.sh | 2 +- sequencer.c| 19 +-

Re: [PATCH v4 15/23] attr: remove index from git_attr_set_direction()

2018-06-09 Thread Elijah Newren
On Wed, Jun 6, 2018 at 10:02 AM, Nguyễn Thái Ngọc Duy wrote: > Since attr checking API now take the index, there's no need to set an > index in advance with this call. Most call sites are straightforward > because they either pass the_index or NULL (which defaults back to > the_index previously).

Re: [PATCH v4 17/23] read-cache.c: remove an implicit dependency on the_index

2018-06-09 Thread Elijah Newren
On Wed, Jun 6, 2018 at 10:02 AM, Nguyễn Thái Ngọc Duy wrote: > diff --git a/merge-recursive.c b/merge-recursive.c > index b404ebac7c..4f054d6dbb 100644 > --- a/merge-recursive.c > +++ b/merge-recursive.c > @@ -315,7 +315,7 @@ static int add_cacheinfo(struct merge_options *o, > struct cache

Re: [PATCH v4 17/23] read-cache.c: remove an implicit dependency on the_index

2018-06-09 Thread Elijah Newren
On Sat, Jun 9, 2018 at 11:45 AM, Duy Nguyen wrote: > On Sat, Jun 9, 2018 at 8:10 PM Elijah Newren wrote: >> >> On Wed, Jun 6, 2018 at 10:02 AM, Nguyễn Thái Ngọc Duy >> wrote: >> > diff --git a/merge-recursive.c b/merge-recursive.c >> > index b404eba

Re: [PATCH v4 00/23] Fix incorrect use of the_index

2018-06-09 Thread Elijah Newren
On Thu, Jun 7, 2018 at 12:44 AM, Elijah Newren wrote: > On Wed, Jun 6, 2018 at 9:49 AM, Nguyễn Thái Ngọc Duy > wrote: >> v4 fixes some commit messages and killed a couple more the_index >> references after I tried to merge this with 'pu' > > Thanks for tackli

Re: Why is there no force pull?

2018-06-09 Thread Elijah Newren
On Sat, Jun 9, 2018 at 12:01 PM, Christoph Böhmwalder wrote: > Hi, > > Since this is a use case that actually comes up quite often in > day-to-day use, especially among git beginners, I was wondering: is > there a specific reason why a command like "fetch changes from remote, > overwriting everyth

Re: [PATCH] gitworkflows: fix grammar in 'Merge upwards' rule

2018-06-09 Thread Elijah Newren
== > -Always commit your fixes to the oldest supported branch that require > +Always commit your fixes to the oldest supported branch that requires > them. Then (periodically) merge the integration branches upwards into each > other. > ========= Thanks for sending in the fix. Reviewed-by: Elijah Newren

Re: [RFC PATCH 1/3] git-rebase, sequencer: add a --quiet option for the interactive machinery

2018-06-09 Thread Elijah Newren
Hi Dscho, On Sat, Jun 9, 2018 at 2:45 PM, Johannes Schindelin wrote: > On Thu, 7 Jun 2018, Elijah Newren wrote: > >> While 'quiet' and 'interactive' may sound like antonyms, the interactive >> machinery actually has logic that implements several >&

Re: [RFC PATCH 2/3] rebase: Implement --merge via git-rebase--interactive

2018-06-09 Thread Elijah Newren
Hi Dscho, On Sat, Jun 9, 2018 at 3:04 PM, Johannes Schindelin wrote: > On Thu, 7 Jun 2018, Elijah Newren wrote: > >> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt >> index 451252c173..28d1658d7a 100644 >> --- a/Documentation/git-rebase.txt &g

Re: [RFC PATCH 3/3] git-rebase.sh: make git-rebase--interactive the default

2018-06-09 Thread Elijah Newren
Hi Dscho, On Sat, Jun 9, 2018 at 3:11 PM, Johannes Schindelin wrote: > On Thu, 7 Jun 2018, Elijah Newren wrote: > >> am-based rebases suffer from an reduced ability to detect directory >> renames upstream, which is fundamental to the fact that it throws away >> informati

[PATCH v3 1/6] merge-recursive: fix miscellaneous grammar error in comment

2018-06-09 Thread Elijah Newren
Signed-off-by: Elijah Newren --- merge-recursive.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/merge-recursive.c b/merge-recursive.c index ac27abbd4c..921f8e2d2d 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -539,7 +539,7 @@ static void

[PATCH v3 5/6] merge-recursive: rename conflict_rename_*() family of functions

2018-06-09 Thread Elijah Newren
from process_entry(). Acked-by: Johannes Schindelin Signed-off-by: Elijah Newren --- merge-recursive.c | 86 +++ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/merge-recursive.c b/merge-recursive.c index 910f0b70f0..7cf11dc04c 100644 --- a/

[PATCH v3 2/6] merge-recursive: fix numerous argument alignment issues

2018-06-09 Thread Elijah Newren
Various refactorings throughout the code have left lots of alignment issues that were driving me crazy; fix them. Acked-by: Johannes Schindelin Signed-off-by: Elijah Newren --- merge-recursive.c | 75 --- 1 file changed, 38 insertions(+), 37

[PATCH v3 6/6] merge-recursive: add pointer about unduly complex looking code

2018-06-09 Thread Elijah Newren
ned-off-by: Elijah Newren --- merge-recursive.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/merge-recursive.c b/merge-recursive.c index 7cf11dc04c..284b27d895 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -1476,6 +1476,21 @@ static int handle_change_del

[PATCH v3 0/6] merge-recursive code cleanups

2018-06-09 Thread Elijah Newren
that have since graduated, and a couple that were overlooked previously. * Patch #3 is entirely new. * Re-wrapped the commit message of the final patch. (range-diff below) Elijah Newren (6): merge-recursive: fix miscellaneous grammar error in comment merge-recursive: fix numerous

[PATCH v3 3/6] merge-recursive: align labels with their respective code blocks

2018-06-09 Thread Elijah Newren
Signed-off-by: Elijah Newren --- merge-recursive.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/merge-recursive.c b/merge-recursive.c index 09c249b93e..5538038178 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -998,10 +998,10 @@ static int

[PATCH v3 4/6] merge-recursive: clarify the rename_dir/RENAME_DIR meaning

2018-06-09 Thread Elijah Newren
: Johannes Schindelin Signed-off-by: Elijah Newren --- merge-recursive.c | 28 +--- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/merge-recursive.c b/merge-recursive.c index 5538038178..910f0b70f0 100644 --- a/merge-recursive.c +++ b/merge-recursive.c

Re: [PATCH] git-rebase.sh: handle keep-empty like all other options

2018-06-11 Thread Elijah Newren
Hi Phillip, On Sun, Jun 10, 2018 at 12:26 PM, Phillip Wood wrote: > On 07/06/18 06:07, Elijah Newren wrote: >> >> Signed-off-by: Elijah Newren >> --- >> git-rebase.sh | 6 +- >> 1 file changed, 1 insertion(+), 5 deletions(-) >> >> diff -

Re: [PATCH 24/30] merge-recursive: Add computation of collisions due to dir rename & merging

2018-06-11 Thread Elijah Newren
On Sun, Jun 10, 2018 at 3:56 AM, René Scharfe wrote: > Am 10.11.2017 um 20:05 schrieb Elijah Newren: >> +static struct dir_rename_entry *check_dir_renamed(const char *path, >> + struct hashmap *dir_renames) >> { >&g

Re: [PATCH 2/2] git-rebase: error out when incompatible options passed

2018-06-11 Thread Elijah Newren
Hi Phillip On Sun, Jun 10, 2018 at 12:40 PM, Phillip Wood wrote: >> Documentation/git-rebase.txt | 15 +-- >> git-rebase.sh | 17 + >> t/t3422-rebase-incompatible-options.sh | 10 +- >> 3 files changed, 35 insertions(+),

Re: [PATCH 2/2] git-rebase: error out when incompatible options passed

2018-06-11 Thread Elijah Newren
Another thing I missed... On Sun, Jun 10, 2018 at 12:40 PM, Phillip Wood wrote: > On 07/06/18 06:06, Elijah Newren wrote: >> Some exceptions I left out: >> >>* --merge and --interactive are technically incompatible since they are >> supposed to run differ

Re: [PATCH] git-rebase.sh: handle keep-empty like all other options

2018-06-11 Thread Elijah Newren
Hi Phillip, On Mon, Jun 11, 2018 at 8:16 AM, Phillip Wood wrote: > On 11/06/18 15:42, Elijah Newren wrote: >> However, we have a bigger problem with empty commits, in that there >> are really three modes rather than two: >>* Automatically drop empty commits (defaul

Re: [PATCH v4 00/23] Fix incorrect use of the_index

2018-06-11 Thread Elijah Newren
Hi Duy, On Mon, Jun 11, 2018 at 9:05 AM, Duy Nguyen wrote: > On Sat, Jun 9, 2018 at 9:58 PM Elijah Newren wrote: >> I read over the rest. Found a small grammatical error in a commit >> message. Found multiple places that still need conversion, from >> pushing up &th

Re: [RFC PATCH 4/7] merge-recursive: fix assumption that head tree being merged is HEAD

2018-06-11 Thread Elijah Newren
On Tue, Jun 5, 2018 at 12:14 AM, Elijah Newren wrote: > On Sun, Jun 3, 2018 at 8:19 PM, Junio C Hamano wrote: >> Elijah Newren writes: >> >>> `git merge-recursive` does a three-way merge between user-specified trees >>> base, head, and remote. Since the user i

Re: [PATCH v4 00/23] Fix incorrect use of the_index

2018-06-11 Thread Elijah Newren
On Mon, Jun 11, 2018 at 9:24 AM, Duy Nguyen wrote: >> I was just about to send you an email to ask if you were continuing on >> with the series. I need diff-lib.c converted in order to make the >> changes Junio suggested to index_has_changes at >> https://public-inbox.org/git/xmqqvaaz5jcv@git

Re: RFC: rebase inconsistency in 2.18 -- course of action?

2018-06-11 Thread Elijah Newren
Hi Junio, On Mon, Jun 11, 2018 at 10:44 AM, Junio C Hamano wrote: > Elijah Newren writes: > >> In short, while interactive-based and merge-based rebases handle >> directory rename detection fine, am-based rebases do not. This >> inconsistency may frustrate or sur

Re: [GSoC][PATCH 1/1] rebase--interactive: rewrite the edit-todo functionality in C

2018-06-12 Thread Elijah Newren
Hi Alban, On Mon, Jun 11, 2018 at 6:57 AM, Alban Gruin wrote: > This rewrites the edit-todo functionality from shell to C. > > To achieve that, a new command mode, `edit-todo`, is added, and the > `write-edit-todo` flag is removed, as the shell script does not need to > write the edit todo help m

[PATCH] RelNotes 2.18: clarify where directory rename detection applies

2018-06-12 Thread Elijah Newren
renames and somehow simplify its output, so it may be helpful to avoid implying that diff has any new capability here.) Signed-off-by: Elijah Newren --- After thinking for a while about my RFC at https://public-inbox.org/git/cabpp-bf4gbwvrha3d1vqxusnh3as9xvlqteuemfmldkpccy...@mail.gmail.com/ this

Re: [GSoC][PATCH v2 2/2] rebase--interactive: rewrite the edit-todo functionality in C

2018-06-14 Thread Elijah Newren
Hi Alban, On Thu, Jun 14, 2018 at 1:24 PM, Alban Gruin wrote: > Le 14/06/2018 à 22:14, Junio C Hamano a écrit : >> Alban Gruin writes: >> >>> diff --git a/builtin/rebase--helper.c b/builtin/rebase--helper.c >>> index ded5e291d..d2990b210 100644 >>> --- a/builtin/rebase--helper.c >>> +++ b/builti

Re: [PATCH v4 00/23] Fix incorrect use of the_index

2018-06-14 Thread Elijah Newren
On Thu, Jun 14, 2018 at 10:18 AM, Duy Nguyen wrote: > On Mon, Jun 11, 2018 at 06:49:00PM +0200, Duy Nguyen wrote: >> On Mon, Jun 11, 2018 at 6:44 PM Elijah Newren wrote: >> > > What about merge-recursive.c? Given that this whole thing will take >> > > many releas

Re: [BUG] git-rebase: reword squashes commits in case of merge-conflicts

2018-06-16 Thread Elijah Newren
to get to this point in the code: * !!res (i.e. patch application failed) * item->command < TODO_SQUASH * item->command != TODO_EDIT * !is_fixup(item->command) [i.e. not squash or fixup] So that means this can only be a failed patch application that is either a pick, revert, or re

[PATCH v2] sequencer: do not squash 'reword' commits when we hit conflicts

2018-06-16 Thread Elijah Newren
SQUASH * item->command != TODO_EDIT * !is_fixup(item->command) [i.e. not squash or fixup] So that means this can only be a failed patch application that is either a pick, revert, or reword. For any of those cases we want a new commit, so we should not set the to_amend flag. Signed-off-by: El

[RFC PATCH v2 1/7] git-rebase.txt: document incompatible options

2018-06-16 Thread Elijah Newren
git rebase has many options that only work with one of its three backends. It also has a few other pairs of incompatible options. Document these. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 84 1 file changed, 76 insertions(+), 8

[RFC PATCH v2 3/7] t3422: new testcases for checking when incompatible options passed

2018-06-16 Thread Elijah Newren
to receive an error rather than having options be silently ignored. Signed-off-by: Elijah Newren --- t/t3422-rebase-incompatible-options.sh | 69 ++ 1 file changed, 69 insertions(+) create mode 100755 t/t3422-rebase-incompatible-options.sh diff --git a/t/t3422-rebase

[RFC PATCH v2 0/7] Document/fix/warn about rebase incompatibilities and inconsistences

2018-06-16 Thread Elijah Newren
folks will object to some of these patches. I've tried to divide them up so that any parts we decide to drop or redo can be more easily excised. No branch-diff; because it's a significant re-work; instead I'll comment briefly on the individual patches... Elijah Newren (7):

[RFC PATCH v2 2/7] git-rebase.sh: update help messages a bit

2018-06-16 Thread Elijah Newren
signoff is not specific to the am-backend. Also, re-order a few options to make like things (e.g. strategy and strategy-option) be near each other. --- git-rebase.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-rebase.sh b/git-rebase.sh index 40be59ecc4..bf71b7fa2

[RFC PATCH v2 4/7] git-rebase: error out when incompatible options passed

2018-06-16 Thread Elijah Newren
n't implement a --quiet mode (perhaps since cherry-pick itself does not implement one). However, the interactive mode is more quiet than the other modes in general with progress messages, so one could argue that it's already quiet. Signed-off-by: Elijah N

[RFC PATCH v2 5/7] git-rebase.txt: document behavioral inconsistencies between modes

2018-06-16 Thread Elijah Newren
ional.) Document these differences. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 57 1 file changed, 57 insertions(+) diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index adccc15284..0dbfab06d0 100644

[RFC PATCH v2 6/7] git-rebase.txt: address confusion between --no-ff vs --force-rebase

2018-06-16 Thread Elijah Newren
uite synonyms simply leads to confusion. Adjust the documentation to match reality. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 35 ++- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/Documentation/git-rebase.txt b/Documentation

[RFC PATCH v2 7/7] git-rebase: make --allow-empty-message the default

2018-06-16 Thread Elijah Newren
am-based rebases already apply commits with an empty commit message without requiring the user to specify an extra flag. Make merge-based and interactive-based rebases behave the same. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 10 -- git-rebase.sh

Re: [PATCH 00/15] Kill the_index part 1, expose it

2018-06-17 Thread Elijah Newren
On Fri, Jun 15, 2018 at 10:41 PM, Nguyễn Thái Ngọc Duy wrote: > This is the beginning of the end of the_index. The problem with > the_index is it lets library code anywhere access it freely. This is > not good because from high level you may not realize that the_index is > being used while you don

Re: [PATCH v3] sequencer: do not squash 'reword' commits when we hit conflicts

2018-06-19 Thread Elijah Newren
ns this can only be a failed patch application that is either a > pick, revert, or reword. We only need to amend HEAD when rewording the > root commit or a commit that has been fast-forwarded, for any of the other > cases we want a new commit, so we should not set the to_amend flag. &g

Re: [RFC PATCH 3/3] git-rebase.sh: make git-rebase--interactive the default

2018-06-20 Thread Elijah Newren
Hi Dscho, On Sun, Jun 17, 2018 at 2:44 PM, Johannes Schindelin wrote: > I was really referring to speed. But I have to admit that I do not have > any current numbers. > > Another issue just hit me, though: rebase --am does not need to look at as > many Git objects as rebase --merge or rebase -i.

Re: [RFC PATCH v2 7/7] git-rebase: make --allow-empty-message the default

2018-06-20 Thread Elijah Newren
Hi Phillip, On Sun, Jun 17, 2018 at 8:30 AM, Phillip Wood wrote: > Looking at the option parsing in git-rebase.sh it appears that it does not > check for --no-allow-empty-message so there's no way to turn off the default > for those modes that support it. I'm not sure what to think of this chang

Re: [RFC PATCH v2 1/7] git-rebase.txt: document incompatible options

2018-06-20 Thread Elijah Newren
On Sun, Jun 17, 2018 at 8:38 AM, Phillip Wood wrote: >> +Other incompatible flag pairs: >> + >> + * --preserve-merges && --interactive >> + * --preserve-merges && --signoff >> + * --preserve-merges && --rebase-merges >> + * --rebase-merges && --strategy > > Does --rebase-merges support --strategy-

Re: [RFC PATCH v2 1/7] git-rebase.txt: document incompatible options

2018-06-20 Thread Elijah Newren
Hi Eric, On Sun, Jun 17, 2018 at 10:15 AM, Eric Sunshine wrote: > On Sun, Jun 17, 2018 at 1:59 AM Elijah Newren wrote: >> git rebase has many options that only work with one of its three backends. >> It also has a few other pairs of incompatible options. Document these. >

[PATCH v3 3/7] t3422: new testcases for checking when incompatible options passed

2018-06-21 Thread Elijah Newren
to receive an error rather than having options be silently ignored. Signed-off-by: Elijah Newren --- t/t3422-rebase-incompatible-options.sh | 89 ++ 1 file changed, 89 insertions(+) create mode 100755 t/t3422-rebase-incompatible-options.sh diff --git a/t/t3422-rebase

[RFC PATCH v3 7/7] git-rebase: make --allow-empty-message the default

2018-06-21 Thread Elijah Newren
appears no one has ever requested a --no-allow-empty-message flag to change this behavior, make --allow-empty-message the default so that merge-based and interactive-based rebases will behave the same. Signed-off-by: Elijah Newren --- See also https://public-inbox.org/git/CABPp-BHrcUHX_zHxpojV5=sxJ1

[PATCH v3 2/7] git-rebase.sh: update help messages a bit

2018-06-21 Thread Elijah Newren
signoff is not specific to the am-backend. Also, re-order a few options to make like things (e.g. strategy and strategy-option) be near each other. --- git-rebase.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-rebase.sh b/git-rebase.sh index 40be59ecc4..bf71b7fa2

[PATCH v3 5/7] git-rebase.txt: document behavioral inconsistencies between modes

2018-06-21 Thread Elijah Newren
ional.) Document these differences. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 57 1 file changed, 57 insertions(+) diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 7de6523931..340137e2cf 100644

[PATCH v3 1/7] git-rebase.txt: document incompatible options

2018-06-21 Thread Elijah Newren
git rebase has many options that only work with one of its three backends. It also has a few other pairs of incompatible options. Document these. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 85 1 file changed, 77 insertions(+), 8

[PATCH v3 4/7] git-rebase: error out when incompatible options passed

2018-06-21 Thread Elijah Newren
n't implement a --quiet mode (perhaps since cherry-pick itself does not implement one). However, the interactive mode is more quiet than the other modes in general with progress messages, so one could argue that it's already quiet. Signed-off-by: Elijah N

[PATCH v3 6/7] git-rebase.txt: address confusion between --no-ff vs --force-rebase

2018-06-21 Thread Elijah Newren
uite synonyms simply leads to confusion. Adjust the documentation to match reality. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 35 ++- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/Documentation/git-rebase.txt b/Documentation

[PATCH v3 0/7] Document/fix/warn about rebase incompatibilities and inconsistencies

2018-06-21 Thread Elijah Newren
--preserve-merges or --rebase-merges - Slightly more detail in the commit message for making -m and -i behave the same with empty commit messages as am-based rebases. Many thanks to Phillip for reviewing the last series, and Eric who pointed out the wording improvements. Elijah Newren (7

Re: [RFC PATCH 3/3] git-rebase.sh: make git-rebase--interactive the default

2018-06-21 Thread Elijah Newren
Hi Dscho, Thanks for all the food for thought. This is awesome. On Thu, Jun 21, 2018 at 3:57 AM, Johannes Schindelin wrote: > On Wed, 20 Jun 2018, Elijah Newren wrote: >> On Sun, Jun 17, 2018 at 2:44 PM, Johannes Schindelin >> wrote: >> >> > I was really ref

Re: [PATCH v3 1/7] git-rebase.txt: document incompatible options

2018-06-21 Thread Elijah Newren
On Thu, Jun 21, 2018 at 12:47 PM, Junio C Hamano wrote: > Elijah Newren writes: > >> @@ -280,8 +286,10 @@ other words, the sides are swapped. >> + >> Because 'git rebase' replays each commit from the working branch >> on top of the branch using

Re: [PATCH v3 2/7] git-rebase.sh: update help messages a bit

2018-06-21 Thread Elijah Newren
On Thu, Jun 21, 2018 at 12:58 PM, Junio C Hamano wrote: > Elijah Newren writes: > >> signoff is not specific to the am-backend. Also, re-order a few options >> to make like things (e.g. strategy and strategy-option) be near each >> other. >> --- >> git-reb

Re: [PATCH v3 3/7] t3422: new testcases for checking when incompatible options passed

2018-06-21 Thread Elijah Newren
On Thu, Jun 21, 2018 at 1:04 PM, Junio C Hamano wrote: > Elijah Newren writes: > >> + git checkout B && >> + # This is indented with HT SP HT. >> + echo " foo();" >>foo && > > I often wonder, whenever I see a ne

Re: [PATCH v3 4/7] git-rebase: error out when incompatible options passed

2018-06-21 Thread Elijah Newren
On Thu, Jun 21, 2018 at 1:29 PM, Junio C Hamano wrote: > Elijah Newren writes: > >> +if test -n "$git_am_opt"; then >> + incompatible_opts=$(echo "$git_am_opt" | sed -e 's/ -q//') > > This is probably just a taste-thing, but I'd pr

Re: [PATCH v3 6/7] git-rebase.txt: address confusion between --no-ff vs --force-rebase

2018-06-21 Thread Elijah Newren
On Thu, Jun 21, 2018 at 1:46 PM, Junio C Hamano wrote: > Elijah Newren writes: > >> rebase was taught the --force-rebase option in commit b2f82e05de ("Teach >> rebase to rebase even if upstream is up to date", 2009-02-13). This flag >> worked for the am and

Re: [PATCH v3 5/7] git-rebase.txt: document behavioral inconsistencies between modes

2018-06-21 Thread Elijah Newren
Hi Junio, On Thu, Jun 21, 2018 at 1:44 PM, Junio C Hamano wrote: > Elijah Newren writes: > >> +BEHAVIORAL INCONSISTENCIES >> +-- >> + >> + * --no-ff vs. --force-rebase > > Do we want to `--quote` these? Ah, good point. >>

[PATCH v4 3/9] t3422: new testcases for checking when incompatible options passed

2018-06-25 Thread Elijah Newren
to receive an error rather than having options be silently ignored. Signed-off-by: Elijah Newren --- t/t3422-rebase-incompatible-options.sh | 88 ++ 1 file changed, 88 insertions(+) create mode 100755 t/t3422-rebase-incompatible-options.sh diff --git a/t/t3422-rebase

[PATCH v4 2/9] git-rebase.sh: update help messages a bit

2018-06-25 Thread Elijah Newren
signoff is not specific to the am-backend. Also, re-order a few options to make like things (e.g. strategy and strategy-option) be near each other. Signed-off-by: Elijah Newren --- git-rebase.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-rebase.sh b/git

[PATCH v4 0/9] Document/fix/warn about rebase incompatibilities and inconsistencies

2018-06-25 Thread Elijah Newren
series to handle this? (If so, what changes should those be?) Elijah Newren (9): git-rebase.txt: document incompatible options git-rebase.sh: update help messages a bit t3422: new testcases for checking when incompatible options passed git-rebase: error out when incompatible options

[PATCH v4 5/9] git-rebase.txt: address confusion between --no-ff vs --force-rebase

2018-06-25 Thread Elijah Newren
uite synonyms simply leads to confusion. Adjust the documentation to match reality. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 30 ++ 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase

[RFC PATCH v4 9/9] git-rebase: make --allow-empty-message the default

2018-06-25 Thread Elijah Newren
he rareness of this situation made it difficult to reason about, so when folks did eventually notice this behavior, they assumed it was there for a good reason and just added an --allow-empty-message flag. In my opinion, stopping on such messages not desirable in any of these cases, even the (ex

[PATCH v4 8/9] t3401: add directory rename testcases for rebase and am

2018-06-25 Thread Elijah Newren
to directory rename detection. Signed-off-by: Elijah Newren --- t/t3401-rebase-and-am-rename.sh | 105 1 file changed, 105 insertions(+) create mode 100755 t/t3401-rebase-and-am-rename.sh diff --git a/t/t3401-rebase-and-am-rename.sh b/t/t3401-rebase-and-am

[PATCH v4 7/9] git-rebase.txt: document behavioral differences between modes

2018-06-25 Thread Elijah Newren
ional.) Document these differences. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 32 +++ .../technical/directory-rename-detection.txt | 23 + 2 files changed, 55 insertions(+) diff --git a/Documentation/git-rebase.txt b/Document

[PATCH v4 1/9] git-rebase.txt: document incompatible options

2018-06-25 Thread Elijah Newren
git rebase has many options that only work with one of its three backends. It also has a few other pairs of incompatible options. Document these. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 85 1 file changed, 77 insertions(+), 8

[PATCH v4 6/9] directory-rename-detection.txt: technical docs on abilities and limitations

2018-06-25 Thread Elijah Newren
Signed-off-by: Elijah Newren --- .../technical/directory-rename-detection.txt | 92 +++ 1 file changed, 92 insertions(+) create mode 100644 Documentation/technical/directory-rename-detection.txt diff --git a/Documentation/technical/directory-rename-detection.txt b

[PATCH v4 4/9] git-rebase: error out when incompatible options passed

2018-06-25 Thread Elijah Newren
n't implement a --quiet mode (perhaps since cherry-pick itself does not implement one). However, the interactive mode is more quiet than the other modes in general with progress messages, so one could argue that it's already quiet. Signed-off-by: Elijah N

Re: [PATCH] t3401: add directory rename testcases for rebase and am

2018-06-25 Thread Elijah Newren
On Wed, Jun 6, 2018 at 10:04 PM, Elijah Newren wrote: > Add a simple directory rename testcase, in conjunction with each of the > types of rebases: > git-rebase--interactive > git-rebase--am > git-rebase--merge > and also use the same testcase for > git am --3way >

Re: [PATCH 06/29] t6036: fix broken "merge fails but has appropriate contents" tests

2018-06-26 Thread Elijah Newren
B:a E2:a/file C:a/file A:ignore-me && > git rev-parse >actual \ > :3:a :2:a/file :1:a/file :0:ignore-me && > - test_cmp expect actual > + test_cmp expect actual && > > test_path_is_file a~D^0 > ) Eek, how did that become c:a/file when it was originally C:a/file? Thanks for spotting the regression and fixing. Reviewed-by: Elijah Newren

Re: [PATCH 17/29] t: use test_must_fail() instead of checking exit code manually

2018-06-26 Thread Elijah Newren
On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine wrote: > These tests intentionally break the &&-chain to manually check the exit > code of invoked commands which they expect to fail, and invert that > local expected failure into a successful exit code for the test overall. > Such manual exit code

Re: [PATCH 00/29] t: detect and fix broken &&-chains in subshells

2018-06-26 Thread Elijah Newren
/29 "t7400" and (especially) 13/29 "lib-submodule-update" > Jonathan Tan - 10/29 "t9001" > Elijah Newren - 6/29 "t6036" Commented on the patch in question; 6/29 looks good. I also looked over the rest of the series. Apart from the ones you specifically cal

Re: [PATCH 00/29] t: detect and fix broken &&-chains in subshells

2018-06-26 Thread Elijah Newren
Hi Eric, On Tue, Jun 26, 2018, 2:31 AM Eric Sunshine wrote: > > On Tue, Jun 26, 2018 at 5:20 AM Elijah Newren wrote: > > On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine > > wrote: > > > Aside from identifying a rather significant number of &&-chain breaks,

Re: [PATCH 29/29] t/test-lib: teach --chain-lint to detect broken &&-chains in subshells

2018-06-26 Thread Elijah Newren
On Tue, Jun 26, 2018 at 1:22 PM, Jeff King wrote: > On Tue, Jun 26, 2018 at 04:17:08PM -0400, Jeff King wrote: > >> I'm not sure if there's a good solution, though. Even if you retained >> the subshells and instead did a chain-lint inside each subshell, like >> this: > > So obviously that means "I

Re: [PATCH 29/29] t/test-lib: teach --chain-lint to detect broken &&-chains in subshells

2018-06-26 Thread Elijah Newren
On Tue, Jun 26, 2018 at 2:01 PM, Jeff King wrote: > On Tue, Jun 26, 2018 at 04:46:18PM -0400, Eric Sunshine wrote: >> Some of these dangers can be de-thoothed during the linting phase by >> defining do-nothing shell functions: >> >> cp () { :; } >> mv () { :; } >> ln () { :; } >> >> T

Re: [PATCH v4 3/9] t3422: new testcases for checking when incompatible options passed

2018-06-26 Thread Elijah Newren
On Tue, Jun 26, 2018 at 11:17 AM, Junio C Hamano wrote: > Elijah Newren writes: > >> +# Rebase has lots of useful options like --whitepsace=fix, which are >> +# actually all built in terms of flags to git-am. Since neither >> +# --merge nor --interactive (nor any opti

[PATCH v5 8/9] t3401: add directory rename testcases for rebase and am

2018-06-27 Thread Elijah Newren
to directory rename detection. Signed-off-by: Elijah Newren --- t/t3401-rebase-and-am-rename.sh | 105 1 file changed, 105 insertions(+) create mode 100755 t/t3401-rebase-and-am-rename.sh diff --git a/t/t3401-rebase-and-am-rename.sh b/t/t3401-rebase-and-am

[PATCH v5 6/9] directory-rename-detection.txt: technical docs on abilities and limitations

2018-06-27 Thread Elijah Newren
Signed-off-by: Elijah Newren --- .../technical/directory-rename-detection.txt | 92 +++ 1 file changed, 92 insertions(+) create mode 100644 Documentation/technical/directory-rename-detection.txt diff --git a/Documentation/technical/directory-rename-detection.txt b

[RFC PATCH v5 9/9] git-rebase: make --allow-empty-message the default

2018-06-27 Thread Elijah Newren
he rareness of this situation made it difficult to reason about, so when folks did eventually notice this behavior, they assumed it was there for a good reason and just added an --allow-empty-message flag. In my opinion, stopping on such messages not desirable in any of these cases, even the (ex

[PATCH v5 2/9] git-rebase.sh: update help messages a bit

2018-06-27 Thread Elijah Newren
signoff is not specific to the am-backend. Also, re-order a few options to make like things (e.g. strategy and strategy-option) be near each other. Signed-off-by: Elijah Newren --- git-rebase.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-rebase.sh b/git

[PATCH v5 1/9] git-rebase.txt: document incompatible options

2018-06-27 Thread Elijah Newren
git rebase has many options that only work with one of its three backends. It also has a few other pairs of incompatible options. Document these. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 85 1 file changed, 77 insertions(+), 8

[PATCH v5 7/9] git-rebase.txt: document behavioral differences between modes

2018-06-27 Thread Elijah Newren
ional.) Document these differences. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 32 +++ .../technical/directory-rename-detection.txt | 23 + 2 files changed, 55 insertions(+) diff --git a/Documentation/git-rebase.txt b/Document

[PATCH v5 3/9] t3422: new testcases for checking when incompatible options passed

2018-06-27 Thread Elijah Newren
to receive an error rather than having options be silently ignored. Signed-off-by: Elijah Newren --- t/t3422-rebase-incompatible-options.sh | 88 ++ 1 file changed, 88 insertions(+) create mode 100755 t/t3422-rebase-incompatible-options.sh diff --git a/t/t3422-rebase

[PATCH v5 0/9] Document/fix/warn about rebase incompatibilities and inconsistencies

2018-06-27 Thread Elijah Newren
hers might suggest. * I'm assuming the --keep-empty and/or --empty={drop,halt,keep} (see comments on patch 5 of v3) can be resolved in a later series. Elijah Newren (9): git-rebase.txt: document incompatible options git-rebase.sh: update help messages a bit t3422: new testcases fo

[PATCH v5 5/9] git-rebase.txt: address confusion between --no-ff vs --force-rebase

2018-06-27 Thread Elijah Newren
uite synonyms simply leads to confusion. Adjust the documentation to match reality. Signed-off-by: Elijah Newren --- Documentation/git-rebase.txt | 30 ++ 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase

[PATCH v5 4/9] git-rebase: error out when incompatible options passed

2018-06-27 Thread Elijah Newren
n't implement a --quiet mode (perhaps since cherry-pick itself does not implement one). However, the interactive mode is more quiet than the other modes in general with progress messages, so one could argue that it's already quiet. Signed-off-by: Elijah N

[PATCH v2 1/2] t3418: add testcase showing problems with rebase -i and strategy options

2018-06-27 Thread Elijah Newren
We are not passing the same args to merge strategies when we are doing an --interactive rebase as we do with a --merge rebase. The merge strategy should not need to be aware of which type of rebase is in effect. Add a testcase which checks for the appropriate args. Signed-off-by: Elijah Newren

[PATCH v2 0/2] Fix use of strategy options with interactive rebases

2018-06-27 Thread Elijah Newren
The interactive machinery for git rebase can accept special merge strategies or strategy options, but has a bug in its handling of strategy options. This short series patches that. Changes since v1: - Small change to the second commit message - Addition of a cover letter. :-) Elijah Newren

[PATCH v2 2/2] Fix use of strategy options with interactive rebases

2018-06-27 Thread Elijah Newren
e $merge_base -- $head $remote instead of the expected/desired git merge-$strategy --ours --renormalize $merge_base -- $head $remote Remove the extra spaces so that when it goes through split_cmdline() we end up with the desired command line. Signed-off-by: Elijah Newren --- git-rebase.sh

[PATCH v2] git-rebase--merge: modernize "git-$cmd" to "git $cmd"

2018-06-27 Thread Elijah Newren
Signed-off-by: Elijah Newren --- Changes since v1: - Fixed up commit message (move below comment to below diffstat as originally intended) Long term I just want to make git-rebase--merge go away, so this patch will eventually be obsoleted. But since I'm waiting for multiple topi

<    1   2   3   4   5   6   7   8   9   10   >