[PATCH v6 02/11] commit: Let the callback of for_each_mergetag return on error

2018-04-27 Thread Johannes Schindelin
o the next mergetag, if any. In practice, that change should not matter, as it is 1) uncommon to perform octopus merges using multiple tags as merge heads, and 2) when the user asks to be shown those tags, they really should be there. Signed-off-by: Johannes Schindelin <johannes.schi

[PATCH v6 04/11] replace: "libify" create_graft() and callees

2018-04-27 Thread Johannes Schindelin
user know how to proceed, and the callee simply has no way of knowing what to say. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- builtin/replace.c | 169 ++ 1 file changed, 112 insertions(+), 57 deletions(-) diff --git a/bui

[PATCH v6 05/11] replace: introduce --convert-graft-file

2018-04-27 Thread Johannes Schindelin
This option is intended to help with the transition away from the now-deprecated graft file. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-replace.txt | 11 ++--- builtin/replace.c | 44 ++- 2 files c

[PATCH v6 01/11] argv_array: offer to split a string by whitespace

2018-04-27 Thread Johannes Schindelin
this functionality can be added later, when and if needed. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- argv-array.c | 20 argv-array.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/argv-array.c b/argv-array.c index 5d370fa3366..cb5bc

[PATCH v6 00/11] Deprecate .git/info/grafts

2018-04-27 Thread Johannes Schindelin
ce --graft [...]`. Changes since v5: - Disentangled the lumped-together conditional blocks in edit_and_replace() again. - Moved fixup (a superfluous argv_array_clear()) from the patch that adds a test for --convert-graft-file back to the patch that actually introduces that option. Johannes Schi

[PATCH v6 06/11] Add a test for `git replace --convert-graft-file`

2018-04-27 Thread Johannes Schindelin
The proof, as the saying goes, lies in the pudding. So here is a regression test that not only demonstrates what the option is supposed to accomplish, but also demonstrates that it does accomplish it. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- t/t6050-replace.s

[PATCH v6 03/11] replace: avoid using die() to indicate a bug

2018-04-27 Thread Johannes Schindelin
We have the BUG() macro for that purpose. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- builtin/replace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/replace.c b/builtin/replace.c index 245d3f4164e..e345a5a0f1c 100644 --- a/builtin/rep

Re: [PATCH 3/3] rebase --skip: clean up commit message after a failedfixup/squash

2018-04-27 Thread Johannes Schindelin
Hi Phillip, On Sat, 21 Apr 2018, Phillip Wood wrote: > On 20/04/18 13:18, Johannes Schindelin wrote: > > > > During a series of fixup/squash commands, the interactive rebase builds > > up a commit message with comments. This will be presented to the user in > >

Re: [PATCH v5 00/11] Deprecate .git/info/grafts

2018-04-27 Thread Johannes Schindelin
Hi Junio, On Thu, 26 Apr 2018, Junio C Hamano wrote: > Johannes Schindelin <johannes.schinde...@gmx.de> writes: > > > - if (export_object(_oid, type, raw, tmpfile)) > > - return -1; > > - if (launch_editor(tmpfile, NULL, NULL) < 0) > > -

[PATCH v4 1/4] rebase -i: demonstrate bugs with fixup!/squash! commit messages

2018-04-27 Thread Johannes Schindelin
ed version of # This is a combination of commits to contain the in ASCII, which breaks under GETTEXT_POISON. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- t/t3418-rebase-continue.sh | 22 ++ 1 file changed, 22 insertions(+) diff --git a/t/t3418-reba

[PATCH v4 0/4] rebase -i: avoid stale "# This is a combination of" in commit messages

2018-04-27 Thread Johannes Schindelin
user a chance to clean things up in the final fixup! Johannes Schindelin (4): rebase -i: demonstrate bugs with fixup!/squash! commit messages rebase -i: Handle "combination of commits" with GETTEXT_POISON sequencer: always commit without editing when asked for rebase

[PATCH v4 3/4] sequencer: always commit without editing when asked for

2018-04-27 Thread Johannes Schindelin
-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sequencer.c b/sequencer.c index d2e6f33023d..56166b0d6c7 100644 --- a/sequencer.c +++ b/sequencer.c @@ -717,6 +717,8 @@ static int run_git_commit(const char *defmsg,

[PATCH v4 2/4] rebase -i: Handle "combination of commits" with GETTEXT_POISON

2018-04-27 Thread Johannes Schindelin
(it contains a list of "fixup "/"squash " lines). This is done on purpose, as it will come in handy for a fix for the bug where `git rebase --skip` on a final fixup/squash will leave the commit message in limbo. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de

[PATCH v4 4/4] rebase --skip: clean up commit message after a failed fixup/squash

2018-04-27 Thread Johannes Schindelin
than fixing it all in one go, hence this commit lumps together more than a single concern. For the same reason, this commit also adds a bit more to the existing test case for the regression we just fixed. The diff is best viewed with --color-moved. Signed-off-by: Johannes Schindelin <joha

Re: In some rebases, `exec git -C ...` has wrong working directory

2018-04-27 Thread Johannes Schindelin
Hi William, On Thu, 26 Apr 2018, William Chargin wrote: > Here is a repro script: > > #!/bin/sh > set -eux > git --version > tmpdir="$(mktemp -d)" > cd "${tmpdir}" > mkdir target repo > cd repo > git init > touch file; git add file > git commit -m

Re: [PATCH v3 2/3] merge: Add merge.renames config setting

2018-04-27 Thread Johannes Schindelin
Hi, On Thu, 26 Apr 2018, Elijah Newren wrote: > On Thu, Apr 26, 2018 at 7:23 PM, Junio C Hamano wrote: > > Ben Peart writes: > > > >> Color me puzzled. :) The consensus was that the default value for > >> merge.renames come from diff.renames.

Re: What's cooking in git.git (Apr 2018, #03; Wed, 25)

2018-04-27 Thread Johannes Schindelin
Hi, On Thu, 26 Apr 2018, Derrick Stolee wrote: > On 4/25/2018 1:43 PM, Brandon Williams wrote: > > On 04/25, Ævar Arnfjörð Bjarmason wrote: > > > > * bw/protocol-v2 (2018-03-15) 35 commits > > > > (merged to 'next' on 2018-04-11 at 23ee234a2c) [... snip ...] > > > > (this branch is

Re: [PATCH v3 0/4] rebase -i: avoid stale "# This is a combinationof" in commit messages

2018-04-26 Thread Johannes Schindelin
Hi Phillip, On Wed, 25 Apr 2018, Phillip Wood wrote: > On 25/04/18 13:48, Johannes Schindelin wrote: > > > > On Mon, 23 Apr 2018, Phillip Wood wrote: > > > > > On 23/04/18 19:11, Stefan Beller wrote: > > > > > > > >

Re: `iconv` should have the encoding `ISO646-SE2`

2018-04-26 Thread Johannes Schindelin
Hi Abinsium, On Wed, 25 Apr 2018, Abinsium wrote: > I installed from `Git-2.16.2-64-bit.exe` from git-scm.com. `iconv` is included > in this package. I think `iconv` should have the encoding `ISO646-SE2`. Ubuntu > 16.04 has this encoding. I use it to read old Swedish text files, which there >

Re: [PATCH v5 09/11] technical/shallow: stop referring to grafts

2018-04-26 Thread Johannes Schindelin
Hi Kuba, On Wed, 25 Apr 2018, Jakub Narębski wrote: > On 25 April 2018 at 11:54, Johannes Schindelin > <johannes.schinde...@gmx.de> wrote: > > diff --git a/Documentation/technical/shallow.txt > > b/Documentation/technical/shallow.txt > > index 5

Re: [PATCH v3 0/4] rebase -i: avoid stale "# This is a combinationof" in commit messages

2018-04-25 Thread Johannes Schindelin
Hi Phillip, On Mon, 23 Apr 2018, Phillip Wood wrote: > On 23/04/18 19:11, Stefan Beller wrote: > > > > On Sat, Apr 21, 2018 at 12:34 AM, Johannes Schindelin > > <johannes.schinde...@gmx.de> wrote: > > > Eric Sunshine pointed out that I had such a commit messa

js/rebase-recreate-merge, was Re: What's cooking in git.git (Apr 2018, #03; Wed, 25)

2018-04-25 Thread Johannes Schindelin
Hi Junio, On Wed, 25 Apr 2018, Junio C Hamano wrote: > * js/rebase-recreate-merge (2018-04-24) 16 commits > - rebase -i --rebase-merges: add a section to the man page > - rebase -i: introduce --rebase-merges=[no-]rebase-cousins > - pull: accept --rebase=merges to recreate the branch topology

[PATCH v9 14/17] rebase --rebase-merges: avoid "empty merges"

2018-04-25 Thread Johannes Schindelin
l trickery to create such merges with Git's commands in the first place, we do not even have to bother to introduce an option to force `merge` to create such merge commits. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 7 +++ t/t3430-reba

[PATCH v9 17/17] rebase -i --rebase-merges: add a section to the man page

2018-04-25 Thread Johannes Schindelin
The --rebase-merges mode is probably not half as intuitive to use as its inventor hopes, so let's document it some. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-rebase.txt | 135 +++ 1 file changed, 135 insertions(+)

[PATCH v9 16/17] rebase -i: introduce --rebase-merges=[no-]rebase-cousins

2018-04-25 Thread Johannes Schindelin
' -- Let's introduce the term "cousins" for such commits ("D" in the example), and let's not rebase them by default. For hypothetical use cases where cousins *do* need to be rebased, `git rebase --rebase=merges=rebase-cousins` needs to be used. Signed-off-by: Johannes Schindel

[PATCH v9 15/17] pull: accept --rebase=merges to recreate the branch topology

2018-04-25 Thread Johannes Schindelin
-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/config.txt | 8 Documentation/git-pull.txt | 6 +- builtin/pull.c | 14 ++ builtin/remote.c | 18 ++ c

[PATCH v9 13/17] sequencer: handle post-rewrite for merge commands

2018-04-25 Thread Johannes Schindelin
ost-rewrite hooks do not need to handle them. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 5 - t/t3430-rebase-merges.sh | 25 + 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/sequencer.c b/sequence

[PATCH v9 12/17] sequencer: make refs generated by the `label` command worktree-local

2018-04-25 Thread Johannes Schindelin
This allows for rebases to be run in parallel in separate worktrees (think: interrupted in the middle of one rebase, being asked to perform a different rebase, adding a separate worktree just for that job). Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> ---

[PATCH v9 10/17] rebase: introduce the --rebase-merges option

2018-04-25 Thread Johannes Schindelin
ld-extra/blob/master/shears.sh Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-rebase.txt | 21 ++- contrib/completion/git-completion.bash | 2 +- git-rebase--interactive.sh | 1 + git-rebase.sh | 6 +

[PATCH v9 11/17] rebase --rebase-merges: add test for --keep-empty

2018-04-25 Thread Johannes Schindelin
From: Phillip Wood If there are empty commits on the left hand side of $upstream...HEAD then the empty commits on the right hand side that we want to keep are being pruned. Signed-off-by: Phillip Wood ---

[PATCH v9 09/17] rebase-helper --make-script: introduce a flag to rebase merges

2018-04-25 Thread Johannes Schindelin
to refer later on to the revision onto which everything is rebased, e.g. as starting point for branches other than the very first one. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- builtin/rebase--helper.c | 4 +- sequencer.c

[PATCH v9 05/17] git-rebase--interactive: clarify arguments

2018-04-25 Thread Johannes Schindelin
t list. Signed-off-by: Stefan Beller <sbel...@google.com> Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- git-rebase--interactive.sh | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--in

[PATCH v9 04/17] sequencer: offer helpful advice when a command was rescheduled

2018-04-25 Thread Johannes Schindelin
Previously, we did that just magically, and potentially left some users quite puzzled. Let's err on the safe side instead, telling the user what is happening, and how they are supposed to continue. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.

[PATCH v9 00/17] rebase -i: offer to recreate commit topology by rebasing merges

2018-04-25 Thread Johannes Schindelin
ntioning the `--ancestry-path` option). - When run_git_commit() fails after a successful merge, we now take pains not to reschedule the `merge` command. - Rebased the patch series on top of current `master`, i.e. both `pw/rebase-keep-empty-fixes` and `pw/rebase-signoff`, to resolve merge

[PATCH v9 07/17] sequencer: introduce the `merge` command

2018-04-25 Thread Johannes Schindelin
rges using strategies other than the recursive merge is left for the future. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- git-rebase--interactive.sh | 4 + sequencer.c| 200 + 2 files changed, 204 insertions(+) diff --

[PATCH v9 06/17] sequencer: introduce new commands to reset the revision

2018-04-25 Thread Johannes Schindelin
few lines. This will allow us to extend the new code path easily for the upcoming `merge` command. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- git-rebase--interactive.sh | 2 + sequencer.c| 213 +++-- 2 files changed, 208

[PATCH v9 08/17] sequencer: fast-forward `merge` commands, if possible

2018-04-25 Thread Johannes Schindelin
-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 33 - 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/sequencer.c b/sequencer.c index 94f4831a0c3..6722095655d 100644 --- a/sequencer.c +++ b/sequencer.c @@ -2687,7 +2687,7 @@

[PATCH v9 03/17] sequencer: refactor how original todo list lines are accessed

2018-04-25 Thread Johannes Schindelin
the correctness of the code. It is not performance-critical code anyway. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 60 - 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/sequencer.c b/seque

[PATCH v9 02/17] sequencer: make rearrange_squash() a bit more obvious

2018-04-25 Thread Johannes Schindelin
` commands anyway. However, the upcoming `merge` command *will* want to be handled by that function, and it *can* handle commits. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sequenc

[PATCH v9 01/17] sequencer: avoid using errno clobbered by rollback_lock_file()

2018-04-25 Thread Johannes Schindelin
As pointed out in a review of the `--rebase-merges` patch series, `rollback_lock_file()` clobbers errno. Therefore, we have to report the error message that uses errno before calling said function. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 10 ++-

[PATCH v5 10/11] technical/shallow: describe why shallow cannot use replace refs

2018-04-25 Thread Johannes Schindelin
It is tempting to do away with commit_graft altogether (in the long haul), now that grafts are deprecated. However, the shallow feature needs a couple of things that the replace refs cannot fulfill. Let's point that out in the documentation. Signed-off-by: Johannes Schindelin <johannes.schi

[PATCH v5 02/11] commit: Let the callback of for_each_mergetag return on error

2018-04-25 Thread Johannes Schindelin
o the next mergetag, if any. In practice, that change should not matter, as it is 1) uncommon to perform octopus merges using multiple tags as merge heads, and 2) when the user asks to be shown those tags, they really should be there. Signed-off-by: Johannes Schindelin <johannes.schi

[PATCH v5 04/11] replace: "libify" create_graft() and callees

2018-04-25 Thread Johannes Schindelin
user know how to proceed, and the callee simply has no way of knowing what to say. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- builtin/replace.c | 164 ++ 1 file changed, 107 insertions(+), 57 deletions(-) diff --git a/bui

[PATCH v5 05/11] replace: introduce --convert-graft-file

2018-04-25 Thread Johannes Schindelin
This option is intended to help with the transition away from the now-deprecated graft file. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-replace.txt | 11 ++--- builtin/replace.c | 45 ++- 2 files c

[PATCH v5 09/11] technical/shallow: stop referring to grafts

2018-04-25 Thread Johannes Schindelin
.@pobox.com> Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/technical/shallow.txt | 13 - 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Documentation/technical/shallow.txt b/Documentation/technical/shallow.txt index 518

[PATCH v5 11/11] Remove obsolete script to convert grafts to replace refs

2018-04-25 Thread Johannes Schindelin
The functionality is now implemented as `git replace --convert-graft-file`. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- contrib/convert-grafts-to-replace-refs.sh | 28 --- 1 file changed, 28 deletions(-) delete mode 100755 contrib/convert-

[PATCH v5 07/11] Deprecate support for .git/info/grafts

2018-04-25 Thread Johannes Schindelin
ire it eventually. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> Reviewed-by: Stefan Beller <sbel...@google.com> --- advice.c | 2 ++ advice.h | 1 + commit.c | 10 ++ t/t6001-rev-list-graft.sh | 9 + 4 f

[PATCH v5 06/11] Add a test for `git replace --convert-graft-file`

2018-04-25 Thread Johannes Schindelin
The proof, as the saying goes, lies in the pudding. So here is a regression test that not only demonstrates what the option is supposed to accomplish, but also demonstrates that it does accomplish it. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- builtin/replace.c

[PATCH v5 08/11] filter-branch: stop suggesting to use grafts

2018-04-25 Thread Johannes Schindelin
The graft file is deprecated now, so let's use replace refs in the example in filter-branch's man page instead. Suggested-by: Eric Sunshine <sunsh...@sunshineco.com> Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-filter-branch.txt | 2 +- 1 fil

[PATCH v5 01/11] argv_array: offer to split a string by whitespace

2018-04-25 Thread Johannes Schindelin
this functionality can be added later, when and if needed. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- argv-array.c | 20 argv-array.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/argv-array.c b/argv-array.c index 5d370fa3366..cb5bc

[PATCH v5 00/11] Deprecate .git/info/grafts

2018-04-25 Thread Johannes Schindelin
/technical/shallow to not even bother to describe how it might be construed to be similar to replace refs. Johannes Schindelin (11): argv_array: offer to split a string by whitespace commit: Let the callback of for_each_mergetag return on error replace: avoid using die() to indicate a bug

[PATCH v5 03/11] replace: avoid using die() to indicate a bug

2018-04-25 Thread Johannes Schindelin
We have the BUG() macro for that purpose. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- builtin/replace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/replace.c b/builtin/replace.c index 245d3f4164e..e345a5a0f1c 100644 --- a/builtin/rep

Re: [PATCH v1 1/2] merge: Add merge.renames config setting

2018-04-25 Thread Johannes Schindelin
Hi Elijah, On Tue, 24 Apr 2018, Elijah Newren wrote: > On Tue, Apr 24, 2018 at 4:58 AM, Johannes Schindelin > <johannes.schinde...@gmx.de> wrote: > > > > On Tue, 24 Apr 2018, Junio C Hamano wrote: > > > >> Yeah, but as opposed to passing "oh, let'

Re: [PATCH v2 0/3] Some add-on patches on top of dj/runtime-prefix

2018-04-25 Thread Johannes Schindelin
Hi Junio, On Wed, 25 Apr 2018, Junio C Hamano wrote: > I really want to see that the runtime prefix stuff mature enough during > this cycle, so these follow-up patches are all very much appreciated. FWIW I merged these patches (including my touch-ups) into Git for Windows' `master` branch

Re: [PATCH] git: add -N as a short option for --no-pager

2018-04-25 Thread Johannes Schindelin
Hi Hannes, On Wed, 25 Apr 2018, Johannes Sixt wrote: > Am 25.04.2018 um 02:05 schrieb Junio C Hamano: > > Johannes Sixt writes: > > > It is not uncommon to request that the output remains visible in > > > the terminal. I ran `git log` and then hit `q`, and the latest screen

Re: [PATCH v3] Make running git under other debugger-like programs easy

2018-04-25 Thread Johannes Schindelin
DEBUGGER="valgrind --tool=memcheck --track-origins=yes" git $ARGS > > There is also a handy shortcut of GIT_DEBUGGER=1 meaning the same as > GIT_DEBUGGER="gdb --args" > > Original-patch-by: Johannes Schindelin <johannes.schinde...@gmx.de> > Signed-off-by: Elijah Newren <new...@gmail.com> Looks good to me! Dscho

Re: [PATCH v3 09/11] technical/shallow: describe the relationship with replace refs

2018-04-25 Thread Johannes Schindelin
Hi Philip & Junio, On Wed, 25 Apr 2018, Junio C Hamano wrote: > "Philip Oakley" writes: > > > Perhaps something like: > > +$GIT_DIR/shallow, and handle its contents similar to replace > > +refs (with the difference that shallow does not actually > > +create those replace

Re: [PATCH v4 04/11] replace: "libify" create_graft() and callees

2018-04-25 Thread Johannes Schindelin
Hi Stefan, On Tue, 24 Apr 2018, Stefan Beller wrote: > On Tue, Apr 24, 2018 at 11:51 AM, Johannes Schindelin > <johannes.schinde...@gmx.de> wrote: > > > > > Oy vey. How many more mistakes can I introduce in one commit... > > > > I ask this myself

Re: GSoC students and mentors in 2018

2018-04-25 Thread Johannes Schindelin
Hi Paul, On Wed, 25 Apr 2018, Paul-Sebastian Ungureanu wrote: > It is a pleasure and an honor for me to take part in Google Summer of > Code. I am sure it will be a exciting summer and I will definitely give > 100% to successfully fulfill 'git stash' project! I am excited, too, and really glad

Re: [PATCH v3 09/11] technical/shallow: describe the relationship with replace refs

2018-04-24 Thread Johannes Schindelin
Hi Philip, On Sun, 22 Apr 2018, Philip Oakley wrote: > From: "Johannes Schindelin" <johannes.schinde...@gmx.de> > > Now that grafts are deprecated, we should start to assume that readers > > have no idea what grafts are. So it makes more sense to describe the

Re: [PATCH v4 05/11] replace: introduce --convert-graft-file

2018-04-24 Thread Johannes Schindelin
Hi Eric, On Sat, 21 Apr 2018, Eric Sunshine wrote: > On Sat, Apr 21, 2018 at 5:48 AM, Johannes Schindelin > <johannes.schinde...@gmx.de> wrote: > > This option is intended to help with the transition away from the > > now-deprecated graft file. > > > >

Re: [PATCH v4 04/11] replace: "libify" create_graft() and callees

2018-04-24 Thread Johannes Schindelin
Hi Stefan, On Mon, 23 Apr 2018, Stefan Beller wrote: > On Fri, Apr 20, 2018 at 3:21 PM, Johannes Schindelin > <johannes.schinde...@gmx.de> wrote: > > @@ -250,27 +257,38 @@ static void import_object(struct object_id *oid, enum > > object_type type, > > -

Re: [PATCH v2 0/3] Some add-on patches on top of dj/runtime-prefix

2018-04-24 Thread Johannes Schindelin
Hi Junio, On Tue, 24 Apr 2018, Junio C Hamano wrote: > Junio C Hamano writes: > > > Junio C Hamano writes: > > > >>> base-commit: b46fe60e1d7235603a29499822493bd3791195da > >> > >> Basing your work on the tip of 'next' is good for discussion, but > >> not

Re: [PATCH v1 1/2] merge: Add merge.renames config setting

2018-04-24 Thread Johannes Schindelin
Hi Junio, On Tue, 24 Apr 2018, Junio C Hamano wrote: > Ben Peart writes: > > >> I also had to wonder how "merge -s resolve" faired, if the project > >> is not interested in renamed paths at all. > >> > > > > To be clear, it isn't that we're not interested in detecting

Re: [PATCH 1/2] merge: setup `opts` later in `checkout_fast_forward()`

2018-04-24 Thread Johannes Schindelin
Hi Martin, On Tue, 24 Apr 2018, Martin Ågren wrote: > On 24 April 2018 at 08:20, Jacob Keller wrote: > > I'm guessing the diff algorithm simply found that this was a more > > compact representation of the change? It's a bit confusing when your > > description indicates

Re: [PATCH v8 09/16] rebase: introduce the --rebase-merges option

2018-04-24 Thread Johannes Schindelin
Hi Philip, On Sun, 22 Apr 2018, Philip Oakley wrote: > From: "Johannes Schindelin" <johannes.schinde...@gmx.de> > > Once upon a time, this here developer thought: wouldn't it be nice if, > > say, Git for Windows' patches on top of core Git could be represent

Re: [PATCH v8 09/16] rebase: introduce the --rebase-merges option

2018-04-24 Thread Johannes Schindelin
Hi Junio, On Tue, 24 Apr 2018, Junio C Hamano wrote: > "Philip Oakley" writes: > > >> +-r:: > >> +--rebase-merges:: > >> + By default, a rebase will simply drop merge commits and only rebase > >> + the non-merge commits. With this option, it will try to preserve > >> +

Re: [PATCH v8 09/16] rebase: introduce the --rebase-merges option

2018-04-24 Thread Johannes Schindelin
Hi Philip, On Sun, 22 Apr 2018, Philip Oakley wrote: > From: "Johannes Schindelin" <johannes.schinde...@gmx.de> > > Once upon a time, this here developer thought: wouldn't it be nice if, > > say, Git for Windows' patches on top of core Git could be represent

Re: [PATCH v8 08/16] rebase-helper --make-script: introduce a flag to rebase merges

2018-04-24 Thread Johannes Schindelin
Hi Philip, On Sun, 22 Apr 2018, Philip Oakley wrote: > From: "Johannes Schindelin" <johannes.schinde...@gmx.de> > > Sorry for the very late in the series comments.. > > > The sequencer just learned new commands intended to recreate branch > > structure

Re: [PATCH v8 06/16] sequencer: introduce the `merge` command

2018-04-24 Thread Johannes Schindelin
Hi Martin, On Tue, 24 Apr 2018, Martin Ågren wrote: > On 23 April 2018 at 17:54, Phillip Wood wrote: > > I'm fine with leaving it, I've might get round to doing a small series to > > clean things up slightly in a few weeks. At the moment > >

Re: [PATCH v8 06/16] sequencer: introduce the `merge` command

2018-04-24 Thread Johannes Schindelin
Hi Philip, On Mon, 23 Apr 2018, Philip Oakley wrote: > From: "Johannes Schindelin" <johannes.schinde...@gmx.de> : Monday, April 23, > 2018 1:03 PM > Subject: Re: [PATCH v8 06/16] sequencer: introduce the `merge` command > > [...] > > > > > > labe

Re: [PATCH v8 06/16] sequencer: introduce the `merge` command

2018-04-23 Thread Johannes Schindelin
Hi Phillip, On Sun, 22 Apr 2018, Phillip Wood wrote: > On 21/04/18 16:56, Phillip Wood wrote: > > On 21/04/18 11:33, Johannes Schindelin wrote: > >> This patch is part of the effort to reimplement `--preserve-merges` with > >> a substantially improved design, a des

Re: [PATCH v8 06/16] sequencer: introduce the `merge` command

2018-04-23 Thread Johannes Schindelin
Hi Phillip, On Sat, 21 Apr 2018, Phillip Wood wrote: > On 21/04/18 11:33, Johannes Schindelin wrote: > > This patch is part of the effort to reimplement `--preserve-merges` with > > a substantially improved design, a design that has been developed in the > > Git for Window

Re: [PATCH v8 06/16] sequencer: introduce the `merge` command

2018-04-23 Thread Johannes Schindelin
Hi Philip, On Sun, 22 Apr 2018, Philip Oakley wrote: > From: "Johannes Schindelin" <johannes.schinde...@gmx.de> > > This patch is part of the effort to reimplement `--preserve-merges` with > > a substantially improved design, a design that has been developed in

Re: Fw: New Defects reported by Coverity Scan for git [argv_array: offer to split a string by whitespace]

2018-04-23 Thread Johannes Schindelin
Hi Philip, On Sun, 22 Apr 2018, Philip Oakley wrote: > is this part of your series "argv_array: offer to split a string by > whitespace"? > > https://public-inbox.org/git/capig+ctdbttuefymkntm773ebge14tpic4g4xefusvwsypd...@mail.gmail.com/ > > - Original Message - From:

[PATCH v2 3/3] Avoid multiple PREFIX definitions

2018-04-21 Thread Johannes Schindelin
Oakley <philipoak...@iee.org> Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Makefile | 2 +- exec-cmd.c | 4 ++-- sideband.c | 10 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 111e93d3bea..49cec672242 100644 --

[PATCH v2 2/3] git_setup_gettext: plug memory leak

2018-04-21 Thread Johannes Schindelin
The system_path() function returns a freshly-allocated string. We need to release it. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- gettext.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gettext.c b/gettext.c index 701355d66e7..72727

[PATCH v2 1/3] gettext: avoid initialization if the locale dir is not present

2018-04-21 Thread Johannes Schindelin
-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- gettext.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gettext.c b/gettext.c index baba28343c3..701355d66e7 100644 --- a/gettext.c +++ b/gettext.c @@ -163,6 +163,9 @@ void git_setup_gettext(void) if (!podir)

[PATCH v2 0/3] Some add-on patches on top of dj/runtime-prefix

2018-04-21 Thread Johannes Schindelin
since v1: - clarified in v1 why we cannot simply force users to recompile with NO_GETTEXT instead. Johannes Schindelin (2): gettext: avoid initialization if the locale dir is not present git_setup_gettext: plug memory leak Philip Oakley (1): Avoid multiple PREFIX definitions Makefile

[PATCH v8 16/16] rebase -i --rebase-merges: add a section to the man page

2018-04-21 Thread Johannes Schindelin
The --rebase-merges mode is probably not half as intuitive to use as its inventor hopes, so let's document it some. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-rebase.txt | 135 +++ 1 file changed, 135 insertions(+)

[PATCH v8 15/16] rebase -i: introduce --rebase-merges=[no-]rebase-cousins

2018-04-21 Thread Johannes Schindelin
and let's not rebase them by default, introducing the new "rebase-cousins" mode for use cases where they should be rebased. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-rebase.txt | 7 ++- builtin/rebase--helper.c | 9 - git-

[PATCH v8 14/16] pull: accept --rebase=merges to recreate the branch topology

2018-04-21 Thread Johannes Schindelin
-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/config.txt | 8 Documentation/git-pull.txt | 6 +- builtin/pull.c | 14 ++ builtin/remote.c | 18 ++ c

[PATCH v8 13/16] rebase --rebase-merges: avoid "empty merges"

2018-04-21 Thread Johannes Schindelin
l trickery to create such merges with Git's commands in the first place, we do not even have to bother to introduce an option to force `merge` to create such merge commits. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 7 +++ t/t3430-reba

[PATCH v8 12/16] sequencer: handle post-rewrite for merge commands

2018-04-21 Thread Johannes Schindelin
ost-rewrite hooks do not need to handle them. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 5 - t/t3430-rebase-merges.sh | 25 + 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/sequencer.c b/sequence

[PATCH v8 11/16] sequencer: make refs generated by the `label` command worktree-local

2018-04-21 Thread Johannes Schindelin
This allows for rebases to be run in parallel in separate worktrees (think: interrupted in the middle of one rebase, being asked to perform a different rebase, adding a separate worktree just for that job). Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> ---

[PATCH v8 10/16] rebase --rebase-merges: add test for --keep-empty

2018-04-21 Thread Johannes Schindelin
From: Phillip Wood If there are empty commits on the left hand side of $upstream...HEAD then the empty commits on the right hand side that we want to keep are being pruned. Signed-off-by: Phillip Wood ---

[PATCH v8 08/16] rebase-helper --make-script: introduce a flag to rebase merges

2018-04-21 Thread Johannes Schindelin
` so that we can later always refer to the revision onto which everything is rebased. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- builtin/rebase--helper.c | 4 +- sequencer.c | 351 ++- sequencer.h |

[PATCH v8 09/16] rebase: introduce the --rebase-merges option

2018-04-21 Thread Johannes Schindelin
ld-extra/blob/master/shears.sh Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- Documentation/git-rebase.txt | 20 ++- contrib/completion/git-completion.bash | 2 +- git-rebase--interactive.sh | 1 + git-rebase.sh | 6 +

[PATCH v8 07/16] sequencer: fast-forward `merge` commands, if possible

2018-04-21 Thread Johannes Schindelin
-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 33 - 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/sequencer.c b/sequencer.c index 35fcacbdf0f..5944d3a34eb 100644 --- a/sequencer.c +++ b/sequencer.c @@ -2680,7 +2680,7 @@

[PATCH v8 06/16] sequencer: introduce the `merge` command

2018-04-21 Thread Johannes Schindelin
ds support for recursive merges, to keep things simple. Support for octopus merges will be added later in a separate patch series, support for merges using strategies other than the recursive merge is left for the future. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>

[PATCH v8 05/16] git-rebase--interactive: clarify arguments

2018-04-21 Thread Johannes Schindelin
t list. Signed-off-by: Stefan Beller <sbel...@google.com> Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- git-rebase--interactive.sh | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--in

[PATCH v8 04/16] sequencer: offer helpful advice when a command was rescheduled

2018-04-21 Thread Johannes Schindelin
Previously, we did that just magically, and potentially left some users quite puzzled. Let's err on the safe side instead, telling the user what is happening, and how they are supposed to continue. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.

[PATCH v8 03/16] sequencer: refactor how original todo list lines are accessed

2018-04-21 Thread Johannes Schindelin
the correctness of the code. It is not performance-critical code anyway. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 60 - 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/sequencer.c b/seque

[PATCH v8 02/16] sequencer: make rearrange_squash() a bit more obvious

2018-04-21 Thread Johannes Schindelin
` commands anyway. However, the upcoming `merge` command *will* want to be handled by that function, and it *can* handle commits. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sequenc

[PATCH v8 01/16] sequencer: avoid using errno clobbered by rollback_lock_file()

2018-04-21 Thread Johannes Schindelin
As pointed out in a review of the `--rebase-merges` patch series, `rollback_lock_file()` clobbers errno. Therefore, we have to report the error message that uses errno before calling said function. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- sequencer.c | 10 ++-

[PATCH v8 00/16] rebase -i: offer to recreate commit topology by rebasing merges

2018-04-21 Thread Johannes Schindelin
write out .git/rebase-merge/patch. - An `exec git cherry-pick` or `exec git revert` will no longer mess with refs/rewritten/ in sequencer_remove_state() (d'oh). Johannes Schindelin (14): sequencer: avoid using errno clobbered by rollback_lock_file() sequencer: make rearrange_squash()

Re: [PATCH 1/3] gettext: avoid initialization if the locale dir is not present

2018-04-21 Thread Johannes Schindelin
Hi Ævar, On Sat, 21 Apr 2018, Ævar Arnfjörð Bjarmason wrote: > I still stand by the observation that the "why don't we" isn't clear at > all from your patch's commit message and that should be fixed. It > doesn't mention any of the actual reasons for the change which have been > revealed in this

[PATCH v3 0/4] Colorize push errors

2018-04-21 Thread Johannes Schindelin
ded in 4/4 - renamed color.advice.advice to color.advice.hint in 2/4 and 4/4 Johannes Schindelin (3): color: introduce support for colorizing stderr Add a test to verify that push errors are colorful Document the new color.* settings to colorize push errors/hints Ryan Dammrose (1): push

[PATCH v3 1/4] color: introduce support for colorizing stderr

2018-04-21 Thread Johannes Schindelin
== 2 for stdout and stderr, respectively), and then define the macro `want_color()` to use the want_color_fd() function. And then also add a macro `want_color_stderr()`, for convenience and for documentation. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- color.

[PATCH v3 3/4] Add a test to verify that push errors are colorful

2018-04-21 Thread Johannes Schindelin
. Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- t/t5541-http-push-smart.sh | 12 1 file changed, 12 insertions(+) diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh index 21340e89c96..a2af693068f 100755 --- a/t/t5541-http-push-smart.sh +

<    7   8   9   10   11   12   13   14   15   16   >