Re: [PATCH] diff: add interhunk context config option

2017-01-02 Thread Pranit Bauva
Hey Vegard, On Tue, Jan 3, 2017 at 5:01 AM, Vegard Nossum wrote: > The --inter-hunk-context= option was added in commit 6d0e674a5754 > ("diff: add option to show context between close hunks"). This patch > allows configuring a default for this option. > > Cc: René

Re: [PATCH 13/17] refs: convert each_reflog_ent_fn to struct object_id

2017-01-02 Thread Jeff King
On Tue, Jan 03, 2017 at 12:30:40AM +0100, Michael Haggerty wrote: > > I think > > my next series is going to include a small sscanf-style parser to parse > > these. Right now, using constants here is going to leave it extremely > > difficult to read. Something like the following for the OIDs: >

[PATCH] diff: add interhunk context config option

2017-01-02 Thread Vegard Nossum
The --inter-hunk-context= option was added in commit 6d0e674a5754 ("diff: add option to show context between close hunks"). This patch allows configuring a default for this option. Cc: René Scharfe Signed-off-by: Vegard Nossum ---

Re: [PATCH 13/17] refs: convert each_reflog_ent_fn to struct object_id

2017-01-02 Thread Michael Haggerty
On 01/02/2017 08:12 PM, brian m. carlson wrote: > On Mon, Jan 02, 2017 at 04:07:16PM +0100, Michael Haggerty wrote: >> On 01/01/2017 08:18 PM, brian m. carlson wrote: >>> /* old SP new SP name SP time TAB msg LF */ >>> if (sb->len < 83 || sb->buf[sb->len - 1] != '\n' || >>> -

[PATCH] archive-zip: load userdiff config

2017-01-02 Thread Jeff King
Since 4aff646d17 (archive-zip: mark text files in archives, 2015-03-05), the zip archiver will look at the userdiff driver to decide whether a file is text or binary. This usually doesn't need to look any further than the attributes themselves (e.g., "-diff", etc). But if the user defines a custom

Re: builtin difftool parsing issue

2017-01-02 Thread Paul Sbarra
> I would have expected `git difftool --submodule=diff ...` to work... What > are the problems? The docs for difftool state... "git difftool is a frontend to git diff and accepts the same options and arguments." which could lead a user to expect passing --submodule=diff to have a similar behavior

Re: [PATCH v3 00/23] Delete directories left empty after ref deletion

2017-01-02 Thread Jacob Keller
On Mon, Jan 2, 2017 at 10:14 AM, Michael Haggerty wrote: > On 01/02/2017 05:19 AM, Jeff King wrote: >> On Sun, Jan 01, 2017 at 12:36:11PM -0800, Jacob Keller wrote: >> >>> But how likely is it to end up with differing binaries running on the >>> exact same repository

[PATCH v2 2/2] t9813: avoid using pipes

2017-01-02 Thread Pranit Bauva
The exit code of the upstream in a pipe is ignored thus we should avoid using it. By writing out the output of the git command to a file, we can test the exit codes of both the commands. Signed-off-by: Pranit Bauva --- t/t9813-git-p4-preserve-users.sh | 8 1

[PATCH v2 1/2] don't use test_must_fail with grep

2017-01-02 Thread Pranit Bauva
test_must_fail should only be used for testing git commands. To test the failure of other commands use `!`. Reported-by: Stefan Beller Signed-off-by: Pranit Bauva --- t/t3510-cherry-pick-sequence.sh | 6 +++--- t/t5504-fetch-receive-strict.sh | 2

Re: [PATCH v3 21/23] try_remove_empty_parents(): don't accommodate consecutive slashes

2017-01-02 Thread Jeff King
On Mon, Jan 02, 2017 at 07:06:32PM +0100, Michael Haggerty wrote: > My assumption was that only valid reference names should ever be allowed > to be inserted into a `ref_transaction` entry. But Peff is right that > sometimes the reference name is checked by `refname_is_safe()` rather > than

Re: [PATCH 14/17] sha1_file: introduce an nth_packed_object_oid function

2017-01-02 Thread Jeff King
On Mon, Jan 02, 2017 at 07:18:58PM +0100, Michael Haggerty wrote: > > Given that this patch only converts one caller, I'd be more inclined to > > just have the caller do its own hashcpy. Like: > > > > diff --git a/sha1_file.c b/sha1_file.c > > index 1173071859..16345688b5 100644 > > ---

Re: [PATCH 14/17] sha1_file: introduce an nth_packed_object_oid function

2017-01-02 Thread Michael Haggerty
On 01/02/2017 06:09 PM, Jeff King wrote: > [...] > But I think the thing that gives me the most pause is that the oid > version of the function feels bolted-on. The nth_packed_object_sha1() > function is there specifically to give access to the mmap'd pack-index > data. And at least for now, that

Re: [PATCH v3 00/23] Delete directories left empty after ref deletion

2017-01-02 Thread Michael Haggerty
On 01/02/2017 05:19 AM, Jeff King wrote: > On Sun, Jan 01, 2017 at 12:36:11PM -0800, Jacob Keller wrote: > >> But how likely is it to end up with differing binaries running on the >> exact same repository concurrently? Basically, I am trying to see >> whether or not we could accidentally end up

Re: [PATCH v3 21/23] try_remove_empty_parents(): don't accommodate consecutive slashes

2017-01-02 Thread Michael Haggerty
On 01/01/2017 06:59 AM, Jeff King wrote: > On Sat, Dec 31, 2016 at 06:30:01PM -0800, Junio C Hamano wrote: > >> Michael Haggerty writes: >> >>> "refname" has already been checked by check_refname_format(), so it >>> cannot have consecutive slashes. >> >> In the endgame

Re: [PATCH v3 20/23] try_remove_empty_parents(): don't trash argument contents

2017-01-02 Thread Jeff King
On Mon, Jan 02, 2017 at 05:27:59PM +0100, Michael Haggerty wrote: > > or something. But I doubt the single allocation is breaking the bank, > > and it has the nice side effect that callers can pass in a const string > > (I didn't check yet whether that enables further cleanups). > > The last

Re: [PATCH 14/17] sha1_file: introduce an nth_packed_object_oid function

2017-01-02 Thread Jeff King
On Mon, Jan 02, 2017 at 04:30:21PM +0100, Michael Haggerty wrote: > On 01/01/2017 08:18 PM, brian m. carlson wrote: > > There are places in the code where we would like to provide a struct > > object_id *, yet read the hash directly from the pack. Provide an > > nth_packed_object_oid function

Re: [PATCH v3 20/23] try_remove_empty_parents(): don't trash argument contents

2017-01-02 Thread Michael Haggerty
On 12/31/2016 07:40 AM, Jeff King wrote: > On Sat, Dec 31, 2016 at 04:13:00AM +0100, Michael Haggerty wrote: > >> It's bad manners and surprising and therefore error-prone. > > Agreed. > > I wondered while reading your earlier patch whether the > safe_create_leading_directories() function had

[PATCH v4 4/4] t7800: run both builtin and scripted difftool, for now

2017-01-02 Thread Johannes Schindelin
This is uglier than a simple touch "$GIT_EXEC_PATH/use-builtin-difftool" of course. But oh well. Signed-off-by: Johannes Schindelin --- This patch implements the good ole' cross-validation technique (also known as "GitHub Scientist") that I

[PATCH v4 3/4] difftool: implement the functionality in the builtin

2017-01-02 Thread Johannes Schindelin
This patch gives life to the skeleton added in the previous patch. The motivation for converting the difftool is that Perl scripts are not at all native on Windows, and that `git difftool` therefore is pretty slow on that platform, when there is no good reason for it to be slow. In addition,

[PATCH v4 1/4] Avoid Coverity warning about unfree()d git_exec_path()

2017-01-02 Thread Johannes Schindelin
Technically, it is correct that git_exec_path() returns a possibly malloc()ed string. Practically, it is *sometimes* not malloc()ed. So let's just use a static variable to make it a singleton. That'll shut Coverity up, hopefully. Signed-off-by: Johannes Schindelin ---

[PATCH v4 2/4] difftool: add a skeleton for the upcoming builtin

2017-01-02 Thread Johannes Schindelin
This adds a builtin difftool that still falls back to the legacy Perl version, which has been renamed to `legacy-difftool`. The idea is that the new, experimental, builtin difftool immediately hands off to the legacy difftool for now, unless the config variable difftool.useBuiltin is set to true.

[PATCH v4 0/4] Show Git Mailing List: a builtin difftool

2017-01-02 Thread Johannes Schindelin
I have been working on the builtin difftool for a while now, for two reasons: 1. Perl is really not native on Windows. Not only is there a performance penalty to be paid just for running Perl scripts, we also have to deal with the fact that users may have different Perl installations, with

Re: builtin difftool parsing issue

2017-01-02 Thread Johannes Schindelin
Hi Paul, On Wed, 21 Dec 2016, Paul Sbarra wrote: > Sadly, I haven't been able to figure out how to get the mbox file from > this tread into gmail, but wanted to report a parsing issue I've found > with the builtin difftool. > > Original Patch: >

[PATCH 2/2] giteveryday: unbreak rendering with AsciiDoctor

2017-01-02 Thread Johannes Schindelin
The "giteveryday" document has a callout list that contains a code block. This is not a problem for AsciiDoc, but AsciiDoctor sadly was explicitly designed *not* to render this correctly [*1*]. The symptom is an unhelpful line 322: callout list item index: expected 1 got 12 line

[PATCH 1/2] asciidoctor: fix user-manual to be built by `asciidoctor`

2017-01-02 Thread Johannes Schindelin
From: =?UTF-8?q?=EB=A7=88=EB=88=84=EC=97=98?= The `user-manual.txt` is designed as a `book` but the `Makefile` wants to build it as an `article`. This seems to be a problem when building the documentation with `asciidoctor`. Furthermore the parts *Git Glossary* and

Re: [PATCH v3 21/21] Documentation/git-update-index: explain splitIndex.*

2017-01-02 Thread Christian Couder
On Tue, Dec 27, 2016 at 8:13 PM, Junio C Hamano wrote: > Christian Couder writes: > >> --split-index:: >> --no-split-index:: >> - Enable or disable split index mode. If enabled, the index is >> - split into two files, $GIT_DIR/index and

[PATCH 0/2] Fix the documentation to build with asciidoctor

2017-01-02 Thread Johannes Schindelin
The first patch in this series has been with Git for Windows for well over a year already, the second one is a replacement for such an old patch. The reason why we use asciidoctor in Git for Windows is easy to see: when building new Git for Windows packages, rendering the documentation dominates

Re: [PATCH 00/17] object_id part 6

2017-01-02 Thread Michael Haggerty
On 01/01/2017 08:18 PM, brian m. carlson wrote: > This is another series in the continuing conversion to struct object_id. > > This series converts more of the builtin directory and some of the > refs code to use struct object_id. Additionally, it implements an > nth_packed_object_oid function

[PATCH v3 37/38] sequencer (rebase -i): write the progress into files

2017-01-02 Thread Johannes Schindelin
For the benefit of e.g. the shell prompt, the interactive rebase not only displays the progress for the user to see, but also writes it into the msgnum/end files in the state directory. Teach the sequencer this new trick. Signed-off-by: Johannes Schindelin ---

[PATCH v3 38/38] sequencer (rebase -i): write out the final message

2017-01-02 Thread Johannes Schindelin
The shell script version of the interactive rebase has a very specific final message. Teach the sequencer to print the same. Signed-off-by: Johannes Schindelin --- sequencer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sequencer.c b/sequencer.c index

[PATCH v3 35/38] sequencer (rebase -i): suggest --edit-todo upon unknown command

2017-01-02 Thread Johannes Schindelin
This is the same behavior as known from `git rebase -i`. Signed-off-by: Johannes Schindelin --- sequencer.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sequencer.c b/sequencer.c index 4f37ba8d33..4792a3de3b 100644 --- a/sequencer.c +++

[PATCH v3 31/38] sequencer: make reading author-script more elegant

2017-01-02 Thread Johannes Schindelin
Rather than abusing a strbuf to come up with an environment block, let's just use the argv_array structure which serves the same purpose much better. While at it, rename the function to reflect the fact that it does not really care exactly what environment variables are defined in said file.

[PATCH v3 34/38] sequencer (rebase -i): show only failed cherry-picks' output

2017-01-02 Thread Johannes Schindelin
This is the behavior of the shell script version of the interactive rebase, by using the `output` function defined in `git-rebase.sh`. Signed-off-by: Johannes Schindelin --- sequencer.c | 4 1 file changed, 4 insertions(+) diff --git a/sequencer.c b/sequencer.c

[PATCH v3 36/38] sequencer (rebase -i): show the progress

2017-01-02 Thread Johannes Schindelin
The interactive rebase keeps the user informed about its progress. If the sequencer wants to do the grunt work of the interactive rebase, it also needs to show that progress. Signed-off-by: Johannes Schindelin --- sequencer.c | 32 1

[PATCH v3 32/38] sequencer: use run_command() directly

2017-01-02 Thread Johannes Schindelin
Instead of using the convenience function run_command_v_opt_cd_env(), we now use the run_command() function. The former function is simply a wrapper of the latter, trying to make it more convenient to use. However, we already have to construct the argv and the env parameters, and we will need

[PATCH v3 33/38] sequencer (rebase -i): show only failed `git commit`'s output

2017-01-02 Thread Johannes Schindelin
This is the behavior of the shell script version of the interactive rebase, by using the `output` function defined in `git-rebase.sh`. Signed-off-by: Johannes Schindelin --- sequencer.c | 18 ++ 1 file changed, 18 insertions(+) diff --git

[PATCH v3 29/38] sequencer (rebase -i): implement the 'drop' command

2017-01-02 Thread Johannes Schindelin
The parsing part of a 'drop' command is almost identical to parsing a 'pick', while the operation is the same as that of a 'noop'. Signed-off-by: Johannes Schindelin --- sequencer.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git

[PATCH v3 30/38] sequencer (rebase -i): differentiate between comments and 'noop'

2017-01-02 Thread Johannes Schindelin
In the upcoming patch, we will support rebase -i's progress reporting. The progress skips comments but counts 'noop's. Signed-off-by: Johannes Schindelin --- sequencer.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sequencer.c

Re: [PATCH 14/17] sha1_file: introduce an nth_packed_object_oid function

2017-01-02 Thread Michael Haggerty
On 01/01/2017 08:18 PM, brian m. carlson wrote: > There are places in the code where we would like to provide a struct > object_id *, yet read the hash directly from the pack. Provide an > nth_packed_object_oid function that mirrors the nth_packed_object_sha1 > function. > > The required cast is

[PATCH v3 23/38] sequencer (rebase -i): copy commit notes at end

2017-01-02 Thread Johannes Schindelin
When rebasing commits that have commit notes attached, the interactive rebase rewrites those notes faithfully at the end. The sequencer must do this, too, if it wishes to do interactive rebase's job. Signed-off-by: Johannes Schindelin --- sequencer.c | 76

[PATCH v3 22/38] sequencer (rebase -i): set the reflog message consistently

2017-01-02 Thread Johannes Schindelin
We already used the same reflog message as the scripted version of rebase -i when finishing. With this commit, we do that also for all the commands before that. Signed-off-by: Johannes Schindelin --- sequencer.c | 4 1 file changed, 4 insertions(+) diff --git

[PATCH v3 21/38] sequencer (rebase -i): refactor setting the reflog message

2017-01-02 Thread Johannes Schindelin
This makes the code DRYer, with the obvious benefit that we can enhance the code further in a single place. We can also reuse the functionality elsewhere by calling this new function. Signed-off-by: Johannes Schindelin --- sequencer.c | 33

[PATCH v3 16/38] sequencer (rebase -i): the todo can be empty when continuing

2017-01-02 Thread Johannes Schindelin
When the last command of an interactive rebase fails, the user needs to resolve the problem and then continue the interactive rebase. Naturally, the todo script is empty by then. So let's not complain about that! To that end, let's move that test out of the function that parses the todo script,

[PATCH v3 17/38] sequencer (rebase -i): update refs after a successful rebase

2017-01-02 Thread Johannes Schindelin
An interactive rebase operates on a detached HEAD (to keep the reflog of the original branch relatively clean), and updates the branch only at the end. Now that the sequencer learns to perform interactive rebases, it also needs to learn the trick to update the branch before removing the directory

[PATCH v3 24/38] sequencer (rebase -i): record interrupted commits in rewritten, too

2017-01-02 Thread Johannes Schindelin
When continuing after a `pick` command failed, we want that commit to show up in the rewritten-list (and its notes to be rewritten), too. Signed-off-by: Johannes Schindelin --- sequencer.c | 8 1 file changed, 8 insertions(+) diff --git a/sequencer.c

[PATCH v3 28/38] sequencer (rebase -i): allow rescheduling commands

2017-01-02 Thread Johannes Schindelin
The interactive rebase has the very special magic that a cherry-pick that exits with a status different from 0 and 1 signifies a failure to even record that a cherry-pick was started. This can happen e.g. when a fast-forward fails because it would overwrite untracked files. In that case, we must

[PATCH v3 25/38] sequencer (rebase -i): run the post-rewrite hook, if needed

2017-01-02 Thread Johannes Schindelin
Signed-off-by: Johannes Schindelin --- sequencer.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/sequencer.c b/sequencer.c index d7273fd1b3..43ced8db31 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1957,6 +1957,8 @@ static int

[PATCH v3 20/38] sequencer (rebase -i): allow fast-forwarding for edit/reword

2017-01-02 Thread Johannes Schindelin
The sequencer already knew how to fast-forward instead of cherry-picking, if possible. We want to continue to do this, of course, but in case of the 'reword' command, we will need to call `git commit` after fast-forwarding. Signed-off-by: Johannes Schindelin ---

[PATCH v3 19/38] sequencer (rebase -i): implement the 'reword' command

2017-01-02 Thread Johannes Schindelin
This is now trivial, as all the building blocks are in place: all we need to do is to flip the "edit" switch when committing. Signed-off-by: Johannes Schindelin --- sequencer.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sequencer.c

[PATCH v3 18/38] sequencer (rebase -i): leave a patch upon error

2017-01-02 Thread Johannes Schindelin
When doing an interactive rebase, we want to leave a 'patch' file for further inspection by the user (even if we never tried to actually apply that patch, since we're cherry-picking instead). Signed-off-by: Johannes Schindelin --- sequencer.c | 4 +++- 1 file

[PATCH v3 26/38] sequencer (rebase -i): respect the rebase.autostash setting

2017-01-02 Thread Johannes Schindelin
Git's `rebase` command inspects the `rebase.autostash` config setting to determine whether it should stash any uncommitted changes before rebasing and re-apply them afterwards. As we introduce more bits and pieces to let the sequencer act as interactive rebase's backend, here is the part that

[PATCH v3 27/38] sequencer (rebase -i): respect strategy/strategy_opts settings

2017-01-02 Thread Johannes Schindelin
The sequencer already has an idea about using different merge strategies. We just piggy-back on top of that, using rebase -i's own settings, when running the sequencer in interactive rebase mode. Signed-off-by: Johannes Schindelin --- sequencer.c | 26

[PATCH v3 07/38] sequencer (rebase -i): implement the 'exec' command

2017-01-02 Thread Johannes Schindelin
The 'exec' command is a little special among rebase -i's commands, as it does *not* have a SHA-1 as first parameter. Instead, everything after the `exec` command is treated as command-line to execute. Let's reuse the arg/arg_len fields of the todo_item structure (which hold the oneline for

[PATCH v3 09/38] sequencer (rebase -i): write the 'done' file

2017-01-02 Thread Johannes Schindelin
In the interactive rebase, commands that were successfully processed are not simply discarded, but appended to the 'done' file instead. This is used e.g. to display the current state to the user in the output of `git status` or the progress. Signed-off-by: Johannes Schindelin

[PATCH v3 13/38] sequencer (rebase -i): allow continuing with staged changes

2017-01-02 Thread Johannes Schindelin
When an interactive rebase is interrupted, the user may stage changes before continuing, and we need to commit those changes in that case. Please note that the nested "if" added to the sequencer_continue() is not combined into a single "if" because it will be extended with an "else" clause in a

[PATCH v3 15/38] sequencer (rebase -i): skip some revert/cherry-pick specific code path

2017-01-02 Thread Johannes Schindelin
When a cherry-pick continues without a "todo script", the intention is simply to pick a single commit. However, when an interactive rebase is continued without a "todo script", it means that the last command has been completed and that we now need to clean up. This commit guards the

[PATCH v3 14/38] sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed

2017-01-02 Thread Johannes Schindelin
The scripted version of the interactive rebase already does that. Signed-off-by: Johannes Schindelin --- sequencer.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sequencer.c b/sequencer.c index 69301fecc6..52e17c8887 100644 ---

[PATCH v3 08/38] sequencer (rebase -i): learn about the 'verbose' mode

2017-01-02 Thread Johannes Schindelin
When calling `git rebase -i -v`, the user wants to see some statistics after the commits were rebased. Let's show some. The strbuf we use to perform that task will be used for other things in subsequent commits, hence it is declared and initialized in a wider scope than strictly needed here.

[PATCH v3 12/38] sequencer (rebase -i): write an author-script file

2017-01-02 Thread Johannes Schindelin
When the interactive rebase aborts, it writes out an author-script file to record the author information for the current commit. As we are about to teach the sequencer how to perform the actions behind an interactive rebase, it needs to write those author-script files, too. Signed-off-by:

[PATCH v3 11/38] sequencer (rebase -i): implement the short commands

2017-01-02 Thread Johannes Schindelin
For users' convenience, most rebase commands can be abbreviated, e.g. 'p' instead of 'pick' and 'x' instead of 'exec'. Let's teach the sequencer to handle those abbreviated commands just fine. Signed-off-by: Johannes Schindelin --- sequencer.c | 35

[PATCH v3 10/38] sequencer (rebase -i): add support for the 'fixup' and 'squash' commands

2017-01-02 Thread Johannes Schindelin
This is a huge patch, and at the same time a huge step forward to execute the performance-critical parts of the interactive rebase in a builtin command. Since 'fixup' and 'squash' are not only similar, but also need to know about each other (we want to reduce a series of fixups/squashes into a

[PATCH v3 00/38] Teach the sequencer to act as rebase -i's backend

2017-01-02 Thread Johannes Schindelin
This marks the count down to '3': two more patch series after this (really tiny ones) and we have a faster rebase -i. The idea of this patch series is to teach the sequencer to understand all of the commands in `git-rebase-todo` scripts, to execute them and to behave pretty much very the same as

[PATCH v3 03/38] sequencer: use a helper to find the commit message

2017-01-02 Thread Johannes Schindelin
It is actually not safe to look for a commit message by looking for the first empty line and skipping it. The find_commit_subject() function looks more carefully, so let's use it. Since we are interested in the entire commit message, we re-compute the string length after verifying that the commit

[PATCH v3 01/38] sequencer: avoid unnecessary curly braces

2017-01-02 Thread Johannes Schindelin
This was noticed while addressing Junio Hamano's concern that some "else" operators were on separate lines than the preceding closing brace. Signed-off-by: Johannes Schindelin --- sequencer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git

[PATCH v3 05/38] sequencer (rebase -i): implement the 'noop' command

2017-01-02 Thread Johannes Schindelin
The 'noop' command is probably the most boring of all rebase -i commands to support in the sequencer. Which makes it an excellent candidate for this first stab to add support for rebase -i's commands to the sequencer. For the moment, let's also treat empty lines and commented-out lines as

[PATCH v3 04/38] sequencer: support a new action: 'interactive rebase'

2017-01-02 Thread Johannes Schindelin
This patch introduces a new action for the sequencer. It really does not do a whole lot of its own right now, but lays the ground work for patches to come. The intention, of course, is to finally make the sequencer the work horse of the interactive rebase (the original idea behind the "sequencer"

[PATCH v3 02/38] sequencer: move "else" keyword onto the same line as preceding brace

2017-01-02 Thread Johannes Schindelin
It is the current coding style of the Git project to write if (...) { ... } else { ... } instead of putting the closing brace and the "else" keyword on separate lines. Pointed out by Junio Hamano. Signed-off-by: Johannes Schindelin

[PATCH v3 06/38] sequencer (rebase -i): implement the 'edit' command

2017-01-02 Thread Johannes Schindelin
This patch is a straight-forward reimplementation of the `edit` operation of the interactive rebase command. Well, not *quite* straight-forward: when stopping, the `edit` command wants to write the `patch` file (which is not only the patch, but includes the commit message and author information).

Re: [PATCH v2 05/34] sequencer (rebase -i): learn about the 'verbose' mode

2017-01-02 Thread Johannes Schindelin
Hi Junio, On Tue, 13 Dec 2016, Junio C Hamano wrote: > Johannes Schindelin writes: > > > @@ -1493,9 +1498,26 @@ static int pick_commits(struct todo_list *todo_list, > > struct replay_opts *opts) > > } > > > > if (is_rebase_i(opts)) { > > +

Re: [PATCH 13/17] refs: convert each_reflog_ent_fn to struct object_id

2017-01-02 Thread Michael Haggerty
On 01/01/2017 08:18 PM, brian m. carlson wrote: > Make each_reflog_ent_fn take two struct object_id pointers instead of > two pointers to unsigned char. Convert the various callbacks to use > struct object_id as well. Also, rename fsck_handle_reflog_sha1 to > fsck_handle_reflog_oid. > >

Re: [PATCH v2 20/34] sequencer (rebase -i): copy commit notes at end

2017-01-02 Thread Johannes Schindelin
Hi Junio, On Fri, 16 Dec 2016, Junio C Hamano wrote: > Johannes Schindelin writes: > > > @@ -1750,6 +1797,17 @@ static int is_final_fixup(struct todo_list > > *todo_list) > > return 1; > > } > > > > +static enum todo_command peek_command(struct todo_list

Re: [PATCH v2 28/34] run_command_opt(): optionally hide stderr when the command succeeds

2017-01-02 Thread Johannes Schindelin
Hi Hannes, On Wed, 14 Dec 2016, Johannes Sixt wrote: > Am 14.12.2016 um 14:06 schrieb Jeff King: > > On Wed, Dec 14, 2016 at 07:53:23AM -0500, Jeff King wrote: > > > > > I don't have a strong opinion on the patches under discussion, but > > > here are a few pointers on the run-command interface:

Re: [PATCH v3 20/21] Documentation/config: add splitIndex.sharedIndexExpire

2017-01-02 Thread Christian Couder
On Tue, Dec 27, 2016 at 8:11 PM, Junio C Hamano wrote: > Christian Couder writes: > >> Signed-off-by: Christian Couder >> --- >> Documentation/config.txt | 11 +++ >> 1 file changed, 11 insertions(+) >> >> diff

Re: [PATCH 09/17] builtin/merge: convert to struct object_id

2017-01-02 Thread Michael Haggerty
On 01/01/2017 08:18 PM, brian m. carlson wrote: > Additionally convert several uses of the constant 40 into > GIT_SHA1_HEXSZ. > > Signed-off-by: brian m. carlson > --- > builtin/merge.c | 136 > > 1 file

Re: [PATCH v3 14/21] read-cache: touch shared index files when used

2017-01-02 Thread Christian Couder
On Tue, Dec 27, 2016 at 8:10 PM, Junio C Hamano wrote: > Christian Couder writes: > >> +/* >> + * Signal that the shared index is used by updating its mtime. >> + * >> + * This way, shared index can be removed if they have not been used >> + * for

Re: [PATCH v3 12/21] Documentation/config: add splitIndex.maxPercentChange

2017-01-02 Thread Christian Couder
On Tue, Dec 27, 2016 at 8:09 PM, Junio C Hamano wrote: > Christian Couder writes: > >> Signed-off-by: Christian Couder >> --- >> Documentation/config.txt | 13 + >> 1 file changed, 13 insertions(+) >> >> diff

Re: [PATCH] don't use test_must_fail with grep

2017-01-02 Thread Pranit Bauva
Hey Johannes, On Sun, Jan 1, 2017 at 8:20 PM, Johannes Sixt wrote: > which makes me wonder: Is the message that we do expect not to occur > actually printed on stdout? It sounds much more like an error message, i.e., > text that is printed on stderr. Wouldn't we need this? > >

[PATCH] connect: handle putty/plink also in GIT_SSH_COMMAND

2017-01-02 Thread Johannes Schindelin
From: Segev Finer Git for Windows has special support for the popular SSH client PuTTY: when using PuTTY's non-interactive version ("plink.exe"), we use the -P option to specify the port rather than OpenSSH's -p option. TortoiseGit ships with its own, forked version of

Re: [PATCH v3 10/21] read-cache: regenerate shared index if necessary

2017-01-02 Thread Christian Couder
On Tue, Dec 27, 2016 at 8:08 PM, Junio C Hamano wrote: > Christian Couder writes: > >> + case 0: >> + return 1; /* 0% means always write a new shared index */ >> + case 100: >> + return 0; /* 100% means never write a

[RFC PATCH 1/5] error/warning framework: prepare for l10n

2017-01-02 Thread Michael J Gruber
Currently, errors, warnings etc. are output with a fixed prefix "error: " etc. that is not subject to l10n. Change the call signatures of error_routine() etc. so that they receive the prefix as first argument. Signed-off-by: Michael J Gruber --- apply.c |

[RFC PATCH 0/5] Localise error headers

2017-01-02 Thread Michael J Gruber
Currently, the headers "error: ", "warning: " etc. - generated by die(), warning() etc. - are not localized, but we feed many localized error messages into these functions so that we produce error messages with mixed localisation. This series introduces variants of die() etc. that use localised

[RFC PATCH 3/5] error/warning framework framework: coccinelli rules

2017-01-02 Thread Michael J Gruber
Provide coccinelli rules which check for error(), warning() etc. with localised argument and create a patch to replace them with error_(), warning_() etc. in order to fully localize them. Signed-off-by: Michael J Gruber --- contrib/coccinelle/errorl10n.cocci | 47

[RFC PATCH 2/5] error/warn framework: provide localized variants

2017-01-02 Thread Michael J Gruber
Provide localized variants of error(), warning(), die() etc. to go along with localized messages. Signed-off-by: Michael J Gruber --- git-compat-util.h | 8 ++ usage.c | 74 +++ 2 files changed, 82

Re: Error: could not fork child process: Resource temporarily unavailable (-1)

2017-01-02 Thread Johannes Schindelin
Hi, On Mon, 2 Jan 2017, M. Abuhena Sobuj wrote: > My Git Bash was perfect but suddenly It stooped work for me. > > I just got message > "Error: could not fork child process: Resource temporarily unavailable (-1). > DLL rebasing may be required. See 'rebaseall / rebase --help'." Is this a

[PATCH v2] mingw: add a regression test for pushing to UNC paths

2017-01-02 Thread Johannes Schindelin
On Windows, there are "UNC paths" to access network (AKA shared) folders, of the form \\server\sharename\directory. This provides a convenient way for Windows developers to share their Git repositories without having to have a dedicated server. Git for Windows v2.11.0 introduced a regression

Re: [PATCH] mingw: add a regression test for pushing to UNC paths

2017-01-02 Thread Johannes Schindelin
Hi Hannes, On Fri, 23 Dec 2016, Johannes Sixt wrote: > Am 23.12.2016 um 18:11 schrieb Johannes Schindelin: > > > +test_expect_success setup ' > > + test_commit initial > > +' > > + > > +test_expect_success clone ' > > + git clone "file://$UNCPATH" clone > > +' > > + > > +test_expect_success

Error: could not fork child process: Resource temporarily unavailable (-1)

2017-01-02 Thread M. Abuhena Sobuj
Hello sir, Good day. My Git Bash was perfect but suddenly It stooped work for me. I just got message "Error: could not fork child process: Resource temporarily unavailable (-1). DLL rebasing may be required. See 'rebaseall / rebase --help'." Please help me to resolve this issue. Thank you.

Re: [PATCH v3 08/21] Documentation/git-update-index: talk about core.splitIndex config var

2017-01-02 Thread Christian Couder
On Tue, Dec 27, 2016 at 8:07 PM, Junio C Hamano wrote: > Christian Couder writes: > >> Signed-off-by: Christian Couder >> --- >> Documentation/git-update-index.txt | 6 ++ >> 1 file changed, 6 insertions(+) >> >> diff

[PATCH] completion: complete git submodule subcommands

2017-01-02 Thread Denton Liu
Allow git submodule subcommands to be completed. This allows the '--remote' in the command 'git submodule update --remote', for example, to be fully completed. Signed-off-by: Denton Liu --- Hi Shawn, sorry this is my first contribution to a mailing-list based project. If

Re: [PATCH v3 06/21] t1700: add tests for core.splitIndex

2017-01-02 Thread Christian Couder
On Tue, Dec 27, 2016 at 8:04 PM, Junio C Hamano wrote: > Christian Couder writes: > >> +test_expect_success 'set core.splitIndex config variable to true' ' >> + git config core.splitIndex true && >> + : >three && >> + git update-index