[PATCH v9 00/41] libify apply and use lib in am, part 2

2016-07-30 Thread Christian Couder
bian laptop with SSD. - Around mid April I tested rebasing 13 commits in Booking.com's monorepo on a Red Hat 6.5 server with split-index and GIT_TRACE_PERFORMANCE=1. With Git v2.8.0, the rebase took 6.375888383 s, with the git am command launched by the rebase command taking 3.705677431 s

Re: [PATCH v8 32/41] environment: add set_index_file()

2016-07-29 Thread Christian Couder
On Fri, Jul 29, 2016 at 5:34 PM, Duy Nguyen wrote: > > Yeah. If the libification movement is going strong, we can start > converting and at some point should be able to define > NO_THE_INDEX_COMPATIBILITY_MACROS globally (and avoid the_index along > the way) > > Without that,

Re: [PATCH v8 32/41] environment: add set_index_file()

2016-07-29 Thread Christian Couder
On Wed, Jul 27, 2016 at 5:14 PM, Duy Nguyen <pclo...@gmail.com> wrote: > On Tue, Jul 26, 2016 at 9:28 PM, Junio C Hamano <gits...@pobox.com> wrote: >> Christian Couder <christian.cou...@gmail.com> writes: >> >>> Introduce set_index_file() to be

Re: Small trivial annoyance with the nice new builtin "git am"

2016-07-29 Thread Christian Couder
On Fri, Jul 29, 2016 at 2:32 AM, Linus Torvalds wrote: > On Thu, Jul 28, 2016 at 5:21 PM, Jeff King wrote: >> >> I do wonder if you would be happier giving each commit a "fake" >> monotonically increasing time, so they are correctly ordered by commit

Re: [PATCH v8 00/41] libify apply and use lib in am, part 2

2016-07-27 Thread Christian Couder
On Tue, Jul 26, 2016 at 11:18 PM, Junio C Hamano <gits...@pobox.com> wrote: > Christian Couder <christian.cou...@gmail.com> writes: > >> Sorry if this patch series is still long. I can split it into two or >> more series if it is prefered. >> ... >> Ch

Re: [PATCH v10 12/12] bisect--helper: `get_terms` & `bisect_terms` shell function in C

2016-07-25 Thread Christian Couder
On Mon, Jul 25, 2016 at 6:53 PM, Junio C Hamano wrote: > Pranit Bauva writes: > >>> And why are the defines 1,2,4,8 ? >>> It looks as if a #define bitmap may be a better choice here ? >>> How do we do these kind of bit-wise opions otherwise ? > > We

Re: [RFC/PATCH 0/8] Add configuration options for split-index

2016-07-25 Thread Christian Couder
On Mon, Jul 25, 2016 at 6:04 PM, Duy Nguyen wrote: > > Hmm.. can you do the counting separately? A shared cache_entry must > have its field "index" greater than zero. By counting the number of > entries whose index is zero (i.e. not shared) against the total number > of real

Re: [RFC/PATCH 0/8] Add configuration options for split-index

2016-07-23 Thread Christian Couder
On Tue, Jul 12, 2016 at 6:01 PM, Duy Nguyen <pclo...@gmail.com> wrote: > On Mon, Jul 11, 2016 at 7:22 PM, Christian Couder > <christian.cou...@gmail.com> wrote: >> Future work >> ~~~ >> >> One thing that is probably missing is a mechanism to avo

Re: [ANNOUNCE] GitRev News edition 17

2016-07-20 Thread Christian Couder
On Wed, Jul 20, 2016 at 10:40 PM, Junio C Hamano <gits...@pobox.com> wrote: > On Wed, Jul 20, 2016 at 1:38 PM, Christian Couder > <christian.cou...@gmail.com> wrote: >>> Micronit. 2.9.1 (or 2.9.2) would not be a "major release". 2.9.0 was, >>&g

Re: [ANNOUNCE] GitRev News edition 17

2016-07-20 Thread Christian Couder
On Wed, Jul 20, 2016 at 8:05 PM, Junio C Hamano <gits...@pobox.com> wrote: > On Wed, Jul 20, 2016 at 5:58 AM, Christian Couder > <christian.cou...@gmail.com> wrote: >> Hi everyone, >> >> I'm happy announce that the 17th edition of Git Rev News is now published:

[ANNOUNCE] GitRev News edition 17

2016-07-20 Thread Christian Couder
Hi everyone, I'm happy announce that the 17th edition of Git Rev News is now published: https://git.github.io/rev_news/2016/07/20/edition-17/ Thanks a lot to all the contributors and helpers, especially Jakub and Dscho! Enjoy, Christian, Thomas and Nicola. -- To unsubscribe from this list:

Draft of Git Rev News edition 17

2016-07-17 Thread Christian Couder
Hi, A draft of a new Git Rev News edition is available here: https://github.com/git/git.github.io/blob/master/rev_news/drafts/edition-17.md Everyone is welcome to contribute in any section either by editing the above page on GitHub and sending a pull request, or by commenting on this GitHub

Plugin mechanism(s) for Git?

2016-07-15 Thread Christian Couder
Hi, It seems to me that there are many current topics/patch series in flight that are about making Git interact with external code/processes and that it could be interesting to step back a bit and see if we could find a common approach/mechanism for at least some of these current topics. (This

Re: [RFC/PATCH 8/8] read-cache: unlink old sharedindex files

2016-07-13 Thread Christian Couder
On Wed, Jul 13, 2016 at 5:16 PM, Duy Nguyen <pclo...@gmail.com> wrote: > On Tue, Jul 12, 2016 at 9:45 PM, Christian Couder > <christian.cou...@gmail.com> wrote: >> On Tue, Jul 12, 2016 at 5:12 PM, Duy Nguyen <pclo...@gmail.com> wrote: >>> >>>

Re: [PATCH 0/9] Resend of gitster/pb/bisect

2016-07-13 Thread Christian Couder
Hi Pranit, On Wed, Jul 13, 2016 at 12:35 AM, Pranit Bauva wrote: > Hey Junio, > > A small mistake got unnoticed by me which Lars recently pointed out. > The naming convention is "git_path_" and underscore > instead of spaces. It's a good thing to resend when you find

Re: [RFC/PATCH 8/8] read-cache: unlink old sharedindex files

2016-07-12 Thread Christian Couder
On Tue, Jul 12, 2016 at 5:12 PM, Duy Nguyen wrote: > > No. People could create an index file anywhere in theory. So you don't > know how many index files there are. Maybe when an index file is created, its path and its sharedindex file could be appended into a log file. We

Re: [RFC/PATCH 8/8] read-cache: unlink old sharedindex files

2016-07-12 Thread Christian Couder
On Mon, Jul 11, 2016 at 8:27 PM, Duy Nguyen <pclo...@gmail.com> wrote: > On Mon, Jul 11, 2016 at 7:22 PM, Christian Couder > <christian.cou...@gmail.com> wrote: >> Everytime split index is turned on, it creates a "sharedindex." >> file in the git directo

[RFC/PATCH 8/8] read-cache: unlink old sharedindex files

2016-07-11 Thread Christian Couder
Everytime split index is turned on, it creates a "sharedindex." file in the git directory. This makes sure that old sharedindex files are removed after a new one has been created. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- read-cache.

[RFC/PATCH 4/8] update-index: warn in case of split-index incoherency

2016-07-11 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/update-index.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/builtin/update-index.c b/builtin/update-index.c index f06fe80..2b8aaa6 100644 --- a/builtin/update-index.c +++ b/builtin/

[RFC/PATCH 1/8] config: add git_config_get_split_index()

2016-07-11 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- cache.h | 1 + config.c | 10 ++ 2 files changed, 11 insertions(+) diff --git a/cache.h b/cache.h index f1dc289..5296a50 100644 --- a/cache.h +++ b/cache.h @@ -1695,6 +1695,7 @@ extern int git_config_get_bool_or_int

[RFC/PATCH 7/8] t1700: add tests for core.splitIndex

2016-07-11 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- t/t1700-split-index.sh | 37 + 1 file changed, 37 insertions(+) diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh index 8aef49f..f1af0d5 100755 --- a/t/t1700-split-index.sh +++ b/t

[RFC/PATCH 6/8] Documentation/git-update-index: talk about core.splitIndex config var

2016-07-11 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- Documentation/git-update-index.txt | 6 ++ 1 file changed, 6 insertions(+) diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt index c6cbed1..2293140 100644 --- a/Documentation/git-

[RFC/PATCH 5/8] Documentation/config: add information for core.splitIndex

2016-07-11 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- Documentation/config.txt | 4 1 file changed, 4 insertions(+) diff --git a/Documentation/config.txt b/Documentation/config.txt index e208af1..aec8ecb 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@

[RFC/PATCH 3/8] read-cache: add and then use tweak_split_index()

2016-07-11 Thread Christian Couder
This will make us use the split-index feature or not depending on the value of the core.splitIndex config variable. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- read-cache.c | 17 + 1 file changed, 17 insertions(+) diff --git a/read-cache.c b/read-cache.c

[RFC/PATCH 0/8] Add configuration options for split-index

2016-07-11 Thread Christian Couder
l.git/298344/ This patch series is also available here: https://github.com/chriscool/git/commits/config-split-index Christian Couder (8): config: add git_config_get_split_index() split-index: add {add,remove}_split_index() functions read-cache: add and then use tweak_split_index() update-index:

[RFC/PATCH 2/8] split-index: add {add,remove}_split_index() functions

2016-07-11 Thread Christian Couder
Also use the functions in cmd_update_index() in builtin/update-index.c. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/update-index.c | 17 - split-index.c | 18 ++ split-index.h | 2 ++ 3 files changed, 24 inse

Re: [RFC/PATCH v2 00/10] Add initial experimental external ODB support

2016-06-30 Thread Christian Couder
On Wed, Jun 29, 2016 at 10:01 PM, Eric Wong <e...@80x24.org> wrote: > Christian Couder <christian.cou...@gmail.com> wrote: >> Design discussion about performance >> ~~~ >> >> Yeah, it is not efficient to fork/exec a comm

Re: [PATCH v8 33/41] write_or_die: use warning() instead of fprintf(stderr, ...)

2016-06-30 Thread Christian Couder
On Tue, Jun 28, 2016 at 11:39 PM, Junio C Hamano <gits...@pobox.com> wrote: > Christian Couder <christian.cou...@gmail.com> writes: > >> @@ -98,8 +97,7 @@ int write_or_whine_pipe(int fd, const void *buf, size_t >> count, const char *msg) >> int write_or_w

Re: [PATCH] builtin/apply: include declaration of cmd_apply()

2016-06-30 Thread Christian Couder
Hi Ramsay, On Thu, Jun 30, 2016 at 3:47 AM, Ramsay Jones wrote: > > Hi Christian, > > If you need to re-roll your 'cc/apply-am' branch, could you please > squash this into the relevant patch. Commit 95a3b0ba ("apply: move > libified code from builtin/apply.c to

[RFC/PATCH v2 10/10] Add t0410 to test external ODB transfer

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- t/t0410-transfer-e-odb.sh | 136 ++ 1 file changed, 136 insertions(+) create mode 100755 t/t0410-transfer-e-odb.sh diff --git a/t/t0410-transfer-e-odb.sh b/t/t0410-transfer-e-odb.

[RFC/PATCH v2 05/10] t0400: add test for 'put' command

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- t/t0400-external-odb.sh | 9 + 1 file changed, 9 insertions(+) diff --git a/t/t0400-external-odb.sh b/t/t0400-external-odb.sh index 0f1bb97..6c6da5c 100755 --- a/t/t0400-external-odb.sh +++ b/t/t0400-external-odb.sh @@

[RFC/PATCH v2 04/10] t0400: add 'put' command to odb-helper script

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- t/t0400-external-odb.sh | 14 ++ 1 file changed, 14 insertions(+) diff --git a/t/t0400-external-odb.sh b/t/t0400-external-odb.sh index fe85413..0f1bb97 100755 --- a/t/t0400-external-odb.sh +++ b/t/t0400-external-

[RFC/PATCH v2 06/10] external odb: add write support

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- external-odb.c | 15 +++ external-odb.h | 2 ++ odb-helper.c | 41 + odb-helper.h | 3 +++ sha1_file.c| 2 ++ 5 files changed, 59 insertions(+), 4 deletions(-) diff

[RFC/PATCH v2 09/10] Add GIT_NO_EXTERNAL_ODB env variable

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- cache.h| 9 + environment.c | 4 external-odb.c | 6 ++ sha1_file.c| 3 +++ 4 files changed, 22 insertions(+) diff --git a/cache.h b/cache.h index cc0a934..b0fe2bc 100644 --- a/cache.h +++ b/c

[RFC/PATCH v2 00/10] Add initial experimental external ODB support

2016-06-28 Thread Christian Couder
/288151/focus=295160 Version 1 of this RFC/PATCH series is here: http://thread.gmane.org/gmane.comp.version-control.git/297164 Links ~ This patch series is available here: https://github.com/chriscool/git/commits/external-odb Version 1 is here: https://github.com/chriscool/git/commits/gl-exter

[RFC/PATCH v2 02/10] external odb foreach

2016-06-28 Thread Christian Couder
From: Jeff King --- external-odb.c | 14 ++ external-odb.h | 6 ++ odb-helper.c | 15 +++ odb-helper.h | 4 4 files changed, 39 insertions(+) diff --git a/external-odb.c b/external-odb.c index 1ccfa99..42978a3 100644 --- a/external-odb.c

[RFC/PATCH v2 03/10] t0400: use --batch-all-objects to get all objects

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- t/t0400-external-odb.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/t/t0400-external-odb.sh b/t/t0400-external-odb.sh index 2b01617..fe85413 100755 --- a/t/t0400-external-odb.sh +++ b/t/t0400-external-

[RFC/PATCH v2 01/10] Add initial external odb support

2016-06-28 Thread Christian Couder
From: Jeff King <p...@peff.net> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- Makefile| 2 + cache.h | 9 ++ external-odb.c | 115 +++ external-odb.h | 8 ++ odb-helper.c

[RFC/PATCH v2 07/10] external-odb: accept only blobs for now

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- external-odb.c | 4 1 file changed, 4 insertions(+) diff --git a/external-odb.c b/external-odb.c index bb70fe3..6dd7b25 100644 --- a/external-odb.c +++ b/external-odb.c @@ -133,6 +133,10 @@ int external_odb_write_object

[RFC/PATCH v2 08/10] t0400: add test for external odb write support

2016-06-28 Thread Christian Couder
Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- t/t0400-external-odb.sh | 8 1 file changed, 8 insertions(+) diff --git a/t/t0400-external-odb.sh b/t/t0400-external-odb.sh index 6c6da5c..3c868ca 100755 --- a/t/t0400-external-odb.sh +++ b/t/t0400-external-odb.sh @@

Re: [RFC] Native access to Git LFS cache

2016-06-28 Thread Christian Couder
On Tue, Jun 28, 2016 at 3:22 PM, Lars Schneider wrote: > > @Christian/Peff: > Is there a place to look for more info about your remote-object-store idea? You may want to take a look at: https://github.com/chriscool/git/commits/external-odb I just updated it and I may

Re: [PATCH v8 00/41] libify apply and use lib in am, part 2

2016-06-27 Thread Christian Couder
On Mon, Jun 27, 2016 at 8:23 PM, Christian Couder <christian.cou...@gmail.com> wrote: > > I will send a diff between this version and the previous one, as a > reply to this email. Here is the diff: diff --git a/apply.c b/apply.c index 98a..2ac22d3 100644 --- a/apply.

[PATCH v8 17/41] builtin/apply: make gitdiff_*() return -1 on error

2016-06-27 Thread Christian Couder
m> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 40 +--- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index 0bed352..b48b526 100644 --- a/builtin/apply.c +++ b/builtin/appl

[PATCH v8 10/41] builtin/apply: move init_apply_state() to apply.c

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we must make init_apply_state() usable outside "builtin/apply.c". Let's do that by moving it into a new "apply.c". Helped-by: Eric Sunshine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> ---

[PATCH v8 18/41] builtin/apply: change die_on_unsafe_path() to check_unsafe_path()

2016-06-27 Thread Christian Couder
that let's change its name to check_unsafe_path(). Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 32 +--- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index b48b526..d3a9da2 1006

[PATCH v8 05/41] builtin/apply: make find_header() return -128 instead of die()ing

2016-06-27 Thread Christian Couder
find_header() already returns -1 when no header is found. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 40 t/t4254-am-corrupt.sh | 2 +- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/builtin/app

[PATCH v8 07/41] builtin/apply: make parse_single_patch() return -1 on error

2016-06-27 Thread Christian Couder
() and let's adjust the related test cases accordingly. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c| 17 + t/t4012-diff-binary.sh | 4 ++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/builtin/apply.c b/builtin/a

[PATCH v8 21/41] builtin/apply: make add_conflicted_stages_file() return -1 on error

2016-06-27 Thread Christian Couder
ine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 20 +--- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index cb3ef1c..b0fd5f7 100644 --- a/builtin/apply.c

[PATCH v8 11/41] apply: make init_apply_state() return -1 instead of exit()ing

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of exit()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", init_apply_state() should return -1 instead of calling exit(). Signed-off-by: Christian Coud

[PATCH v8 34/41] apply: add 'be_silent' variable to 'struct apply_state'

2016-06-27 Thread Christian Couder
This variable should prevent anything to be printed on both stderr and stdout. Let's not take care of stdout and apply_verbosely for now though, as that will be taken care of in following patches. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- apply.

[PATCH v8 09/41] builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", parse_ignorewhitespace_option() should return -1 instead of calling die(). Signed-off-by: Christ

[PATCH v8 39/41] apply: change error_routine when be_silent is set

2016-06-27 Thread Christian Couder
To avoid printing anything when applying with be_silent set, let's save the existing warn and error routines before applying and replace them with a routine that does nothing. Then after applying, let's restore the saved routines. Signed-off-by: Christian Couder <chrisc...@tuxfamily.

[PATCH v8 38/41] usage: add get_error_routine() and get_warn_routine()

2016-06-27 Thread Christian Couder
Let's make it possible to get the current error_routine and warn_routine, so that we can store them before using set_error_routine() or set_warn_routine() to use new ones. This way we will be able put back the original routines, when we are done with using new ones. Signed-off-by: Christian

[PATCH v8 35/41] apply: make 'be_silent' incompatible with 'apply_verbosely'

2016-06-27 Thread Christian Couder
It should be an error to have both be_silent and apply_verbosely set, so let's check that in check_apply_state(). And by the way let's not automatically set apply_verbosely when be_silent is set. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- apply.c | 9 +++-- 1 file c

[PATCH v8 26/41] builtin/apply: make try_create_file() return -1 on error

2016-06-27 Thread Christian Couder
returns -1 to signal a recoverable error. To fix that, let's make it return 1 in case of a recoverable error and -1 in case of an unrecoverable error. Helped-by: Eric Sunshine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> ---

[PATCH v8 23/41] builtin/apply: make create_file() return -1 on error

2016-06-27 Thread Christian Couder
returning instead of calling exit(). Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index eadff4d..bce3988 100644 --- a/builtin/apply

[PATCH v8 40/41] builtin/am: use apply api in run_apply()

2016-06-27 Thread Christian Couder
ot; with split index: 1m22.476s This series on top of "next" without split index: 1m12.034s This series on top of "next" with split index: 0m15.678s (using branch "next" from mid April 2016.) Benchmarked-by: Ævar Arnfjörð Bjarmason <ava...@gmail.com>

[PATCH v8 32/41] environment: add set_index_file()

2016-06-27 Thread Christian Couder
*/ ... /* When finished reset the index file */ set_index_file(old_index_file); Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- cache.h | 1 + environment.c | 10 ++ 2 files changed, 11 insertions(+) diff --git a/cache.h b/cache.h index c73becb..8854365

[PATCH v8 33/41] write_or_die: use warning() instead of fprintf(stderr, ...)

2016-06-27 Thread Christian Couder
-by: Christian Couder <chrisc...@tuxfamily.org> --- write_or_die.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/write_or_die.c b/write_or_die.c index 49e80aa..c29f677 100644 --- a/write_or_die.c +++ b/write_or_die.c @@ -87,8 +87,7 @@ int write_or_whine_pipe(int fd,

[PATCH v8 15/41] builtin/apply: make parse_traditional_patch() return -1 on error

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", parse_traditional_patch() should return -1 instead of calling die(). Signed-off-by: Christian Coud

[PATCH v8 04/41] builtin/apply: read_patch_file() return -1 instead of die()ing

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. Let's do that by returning -1 instead of die()ing in read_patch_file(). Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 8 +--- 1 file changed, 5 insertions

[PATCH v8 29/41] apply: rename and move opt constants to apply.h

2016-06-27 Thread Christian Couder
The constants for the "inaccurate-eof" and the "recount" options will be used in both "apply.c" and "builtin/apply.c", so they need to go into "apply.h", and therefore they need a name that is more specific to the API they belong to. Signed

[PATCH v8 31/41] apply: make some parsing functions static again

2016-06-27 Thread Christian Couder
Some parsing functions that were used in both "apply.c" and "builtin/apply.c" are now only used in the former, so they can be made static to "apply.c". Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- apply.c | 6 +++--- apply.h | 5 -

[PATCH v8 37/41] usage: add set_warn_routine()

2016-06-27 Thread Christian Couder
There are already set_die_routine() and set_error_routine(), so let's add set_warn_routine() as this will be needed in a following commit. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- git-compat-util.h | 1 + usage.c | 5 + 2 files changed, 6 insertions(+)

[PATCH v8 13/41] builtin/apply: move check_apply_state() to apply.c

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we must make check_apply_state() usable outside "builtin/apply.c". Let's do that by moving it into "apply.c". Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- apply.c | 32 apply

[PATCH v8 36/41] apply: don't print on stdout when be_silent is set

2016-06-27 Thread Christian Couder
This variable should prevent anything to be printed on both stderr and stdout. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- apply.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apply.c b/apply.c index 1435f85..e2acc18 100644 --- a/apply.c

[PATCH v8 24/41] builtin/apply: make write_out_one_result() return -1 on error

2016-06-27 Thread Christian Couder
ng instead of calling exit(). Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 38 -- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index bce3988..6ec87e6 100644 --- a/builtin/apply

[PATCH v8 27/41] builtin/apply: make create_one_file() return -1 on error

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of exit()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", create_one_file() should return -1 instead of calling exit(). Signed-off-by: Christian Coud

[PATCH v8 25/41] builtin/apply: make write_out_results() return -1 on error

2016-06-27 Thread Christian Couder
ine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 27 +-- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index 6ec87e6..f54b8c5 100644 --- a/builtin/apply.c

[PATCH v8 20/41] builtin/apply: make remove_file() return -1 on error

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", remove_file() should return -1 instead of calling die(). Signed-off-by: Christian Coud

[PATCH v8 41/41] apply: use error_errno() where possible

2016-06-27 Thread Christian Couder
To avoid possible mistakes and to uniformly show the errno related messages, let's use error_errno() where possible. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- apply.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/apply.c b/a

[PATCH v8 08/41] builtin/apply: make parse_whitespace_option() return -1 instead of die()ing

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. To do that in a compatible manner with the rest of the error handling in builtin/apply.c, parse_whitespace_option() should return -1 instead of calling die(). Signed-off-by: Christian Couder <chr

[PATCH v8 16/41] builtin/apply: make gitdiff_*() return 1 at end of header

2016-06-27 Thread Christian Couder
ase of a real error. This will be done in a following patch. Helped-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/builtin/ap

[PATCH v8 28/41] builtin/apply: rename option parsing functions

2016-06-27 Thread Christian Couder
As these functions are going to be part of the libified apply api, let's give them a name that is more specific to the apply api. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 40 1 file changed, 20 insertions(

[PATCH v8 14/41] builtin/apply: make apply_all_patches() return 128 or 1 on error

2016-06-27 Thread Christian Couder
to init_apply_state() many times to be reused by series of calls to the apply lib functions. Helped-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com> Helped-by: Johannes Schindelin <johannes.schinde...@gmx.de> Helped-by: Eric Sunshine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder <ch

[PATCH v8 12/41] builtin/apply: make check_apply_state() return -1 instead of die()ing

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", check_apply_state() should return -1 instead of calling die(). Signed-off-by: Christian Coud

[PATCH v8 01/41] apply: make some names more specific

2016-06-27 Thread Christian Couder
To prepare for some structs and constants being moved from builtin/apply.c to apply.h, we should give them some more specific names to avoid possible name collisions in th global namespace. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 20 ++---

[PATCH v8 19/41] builtin/apply: make build_fake_ancestor() return -1 on error

2016-06-27 Thread Christian Couder
ine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 41 ++--- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index d3a9da2..bb1dffa 100644 --- a/builtin

[PATCH v8 22/41] builtin/apply: make add_index_file() return -1 on error

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we have to signal errors to the caller instead of die()ing. To do that in a compatible manner with the rest of the error handling in "builtin/apply.c", add_index_file() should return -1 instead of calling die(). Signed-off-by: Christian Coud

[PATCH v8 02/41] apply: move 'struct apply_state' to apply.h

2016-06-27 Thread Christian Couder
To libify `git apply` functionality we must make 'struct apply_state' usable outside "builtin/apply.c". Let's do that by creating a new "apply.h" and moving 'struct apply_state' there. Signed-off-by: Christian Couder <chrisc...@tuxfamily.org>

[PATCH v8 03/41] builtin/apply: make apply_patch() return -1 or -128 instead of die()ing

2016-06-27 Thread Christian Couder
-128 and it will exit(1) when it returns -1. We exit() with code 128 because that was what die() was doing and we want to keep the distinction between exiting with code 1 and exiting with code 128. Helped-by: Eric Sunshine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder &

[PATCH v8 06/41] builtin/apply: make parse_chunk() return a negative integer on error

2016-06-27 Thread Christian Couder
() is called only by apply_patch() which already returns either -1 or -128 when an error happened, let's make it also return -1 or -128. This makes it compatible with what find_header() and parse_binary() already return. Helped-by: Eric Sunshine <sunsh...@sunshineco.com> Signed-off-by: Chr

[PATCH v8 00/41] libify apply and use lib in am, part 2

2016-06-27 Thread Christian Couder
d by the rebase command taking 3.705677431 s. With this series on top of next, the rebase took 3.044529494 s, with the git am command launched by the rebase command taking 0.583521168 s. Christian Couder (41): apply: make some names more specific apply: move 'struct apply_state' to apply.h

Re: git-svn aborts with "Use of uninitialized value $u" when a non-svn-backed branch is present in remote

2016-06-25 Thread Christian Couder
On Fri, Jun 24, 2016 at 10:06 PM, Eric Wong wrote: > Please don't drop Cc:, re-adding git@vger and Christian > > Jacob Godserv wrote: >> > Christian (Cc-ed) also noticed the problem a few weeks ago >> > and took a more drastic approach by having git-svn

Re: [PATCH v12 04/20] index-helper: new daemon for caching index and related stuff

2016-06-17 Thread Christian Couder
On Thu, May 19, 2016 at 11:45 PM, David Turner wrote: > From: Nguyễn Thái Ngọc Duy > > +static void loop(int fd, int idle_in_seconds) > +{ > + assert(idle_in_seconds < INT_MAX / 1000); This assert may not be very nice to users setting the value

Re: [PATCH v12 16/20] index-helper: don't run if already running

2016-06-17 Thread Christian Couder
On Thu, May 19, 2016 at 11:45 PM, David Turner wrote: > > diff --git a/index-helper.c b/index-helper.c > index 4a171e6..ddc641a 100644 > --- a/index-helper.c > +++ b/index-helper.c > @@ -438,6 +438,13 @@ int main(int argc, char **argv) > return 0; >

Re: [PATCH v12 10/20] watchman: support watchman to reduce index refresh cost

2016-06-17 Thread Christian Couder
On Thu, May 19, 2016 at 11:45 PM, David Turner wrote: > From: Nguyễn Thái Ngọc Duy > > The previous patch has the logic to clear bits in 'WAMA' bitmap. This > patch has logic to set bits as told by watchman. The missing bit, > _using_ these bits, are

Re: [PATCH v2 5/6] bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C

2016-06-16 Thread Christian Couder
On Thu, Jun 16, 2016 at 9:25 PM, Pranit Bauva wrote: > Hey Eric, > > On Fri, Jun 17, 2016 at 12:46 AM, Eric Sunshine > wrote: >> On Thu, Jun 16, 2016 at 3:05 PM, Pranit Bauva wrote: >>> On Thu, Jun 16, 2016 at 2:44 AM,

Re: [PATCH v2 6/6] bisect--helper: `bisect_write` shell function in C

2016-06-16 Thread Christian Couder
On Thu, Jun 16, 2016 at 9:01 PM, Pranit Bauva wrote: > Hey Eric, > > On Fri, Jun 17, 2016 at 12:25 AM, Eric Sunshine > wrote: >> On Wed, Jun 15, 2016 at 10:00 AM, Pranit Bauva >> wrote: >>> >>> Note: bisect_write() uses

[ANNOUNCE] Git Rev News edition 16

2016-06-15 Thread Christian Couder
Hi everyone, I'm happy announce that the 16th edition of Git Rev News is now published: http://git.github.io/rev_news/2016/06/15/edition-16/ Thanks a lot to all the contributors and helpers, especially Duy and the Ensimag students! Enjoy, Christian, Thomas and Nicola. -- To unsubscribe from

Re: [ANNOUNCE] Sharness v1.0.0

2016-06-14 Thread Christian Couder
On Tue, Jun 14, 2016 at 9:48 PM, Stefan Beller <sbel...@google.com> wrote: > On Tue, Jun 14, 2016 at 12:34 PM, Christian Couder > <christian.cou...@gmail.com> wrote: >> >> Sharness was first announced on this list in July 2012 [4]. It was >> created from Git

[ANNOUNCE] Sharness v1.0.0

2016-06-14 Thread Christian Couder
Hi, Version 1.0.0 of Sharness [1] -- the test harness library derived from Git's test lib -- is released. This release contains many upstream fixes and improvements from Git and a lot of specific user contributed features [2]. It's the first release since v0.3.0 in April 2013 [3]. Sharness was

Re: [PATCH v7 01/40] apply: move 'struct apply_state' to apply.h

2016-06-14 Thread Christian Couder
On Tue, Jun 14, 2016 at 12:49 AM, Junio C Hamano <gits...@pobox.com> wrote: > Christian Couder <christian.cou...@gmail.com> writes: > >> To libify `git apply` functionality we must make 'struct apply_state' >> usable outside "builtin/apply.c". >&g

Re: [PATCH v7 02/40] builtin/apply: make apply_patch() return -1 instead of die()ing

2016-06-14 Thread Christian Couder
On Tue, Jun 14, 2016 at 12:55 AM, Junio C Hamano <gits...@pobox.com> wrote: > Christian Couder <christian.cou...@gmail.com> writes: > >> +/* >> + * Try to apply a patch. >> + * >> + * Returns: >> + * -1 if an error happened >> + * 0 if t

Re: [PATCH v7 00/40] libify apply and use lib in am, part 2

2016-06-13 Thread Christian Couder
On Mon, Jun 13, 2016 at 6:09 PM, Christian Couder <christian.cou...@gmail.com> wrote: > > I will send a diff between this version and the previous one, as a > reply to this email. Here is the diff: diff --git a/apply.c b/apply.c index cd4cd01..98a 100644 --- a/apply.

[PATCH v7 22/40] builtin/apply: make create_file() return -1 on error

2016-06-13 Thread Christian Couder
returning instead of calling exit(). Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index 005ba78..76d473c 100644 --- a/builtin/apply

[PATCH v7 15/40] builtin/apply: make gitdiff_*() return 1 at end of header

2016-06-13 Thread Christian Couder
ase of a real error. This will be done in a following patch. Helped-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/builtin/ap

[PATCH v7 38/40] apply: change error_routine when be_silent is set

2016-06-13 Thread Christian Couder
To avoid printing anything when applying with be_silent set, let's save the existing warn and error routines before applying and replace them with a routine that does nothing. Then after applying, let's restore the saved routines. Signed-off-by: Christian Couder <chrisc...@tuxfamily.

[PATCH v7 28/40] apply: rename and move opt constants to apply.h

2016-06-13 Thread Christian Couder
The constants for the "inaccurate-eof" and the "recount" options will be used in both "apply.c" and "builtin/apply.c", so they need to go into "apply.h", and therefore they need a name that is more specific to the API they belong to. Signed

[PATCH v7 18/40] builtin/apply: make build_fake_ancestor() return -1 on error

2016-06-13 Thread Christian Couder
ine <sunsh...@sunshineco.com> Signed-off-by: Christian Couder <chrisc...@tuxfamily.org> --- builtin/apply.c | 41 ++--- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index 429fddd..e74b068 100644 --- a/builtin

<    9   10   11   12   13   14   15   16   17   18   >