Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Sebastian Schuberth
On 10/11/2015 19:55, larsxschnei...@gmail.com wrote: + sudo apt-get update -qq + sudo apt-get install -y apt-transport-https + sudo apt-get install perforce-server git-lfs Why no "-y" also in this line, or append these to the previous line? Or maybe even better, like [1] does,

submodule: allow submodule directory in gitignore

2015-10-12 Thread Aleksey Komarov
Hi all! I'm sorry if the letter came twice. I have troubles with my post client. I want to organize my repository so its submodules would be located at the root of repository. I'm trying to create .gitignore to ignore all files and don't ignore directories at the same time: $ cat .gitignore *

Re: [RFC/PATCH v1] Add Travis CI support

2015-10-12 Thread Sebastian Schuberth
On 10/4/2015 19:46, Junio C Hamano wrote: The very nice thing with Travis-CI is that it does not only test the repository's branches, but also all pull-requests. OK, that is the first real argument I heard for enabling it on git/git that is worth listening to. I was mentioning that very

Re: [PATCH v3 3/3] git-p4: Skip t9819 test case on case insensitive file systems

2015-10-12 Thread Luke Diamand
Looks good to me, Ack. On 11 October 2015 at 18:55, wrote: > From: Lars Schneider > > Windows and OS X file systems are case insensitive by default. > Consequently the "git-p4-case-folding" test case does not apply to > them. > >

Re: Hacking git for managing machine readable "source" files

2015-10-12 Thread Michael J Gruber
Christian Gagneraud venit, vidit, dixit 12.10.2015 05:32: > Hi git hackers, > > I have been scratching my head since quite a few weeks to see if and how > I could hack git to manage non-software-source-code files. Theses files > might be text-based (XML, JSON, custom format, ...) but are not

[PATCH] gitk: Update Russian translation

2015-10-12 Thread Dimitriy Ryazantcev
I updated Russian translation for gitk. Please feel free to add any sugessions on Git Russian Localization Project: https://www.transifex.com/djm00n/git-po-ru/language/ru/ Patch is against current git://ozlabs.org/~paulus/gitk master branch. Dimitriy Ryazantcev (1): gitk: Update Russian

Re: [PATCH 2/2] pull --rebase: reinstate helpful message on abort

2015-10-12 Thread Johannes Schindelin
Hi Junio, On 2015-10-09 20:36, Junio C Hamano wrote: > Johannes Schindelin writes: > >> When calling `git pull --rebase`, things can go wrong. In such a case, >> we want to tell the user about the most common ways out of this fix: >> ... >> builtin/am.c | 1 + >> 1

Re: [PATCH 0/2] Reinstate the helpful message when `git pull --rebase` fails

2015-10-12 Thread Johannes Schindelin
Hi Junio, On 2015-10-09 20:40, Junio C Hamano wrote: > Junio C Hamano writes: > >>> Instead, stepping back a bit, I wonder if we can extend coverage of >>> the helpful message to all die() calls when running git-am. We could >>> just install a die routine with

Re: [PATCH v2 40/43] refs: allow ref backend to be set for clone

2015-10-12 Thread Carlos Martín Nieto
On Tue, 2015-10-06 at 14:09 -0400, David Turner wrote: > On Mon, 2015-10-05 at 21:58 -0400, Jeff King wrote: > > On Mon, Oct 05, 2015 at 09:29:37PM -0400, David Turner wrote: > > > > > > Therefore, I don't think this can be merged without a bump to > > > > core.repositoryformatversion. Such a

Re: [PATCH 0/2] Reinstate the helpful message when `git pull --rebase` fails

2015-10-12 Thread Johannes Schindelin
Hi Junio, On 2015-10-09 20:55, Junio C Hamano wrote: > Junio C Hamano writes: > > I would prefer the endgame to be an efficient implementation of > merge_recursive_generic(), a function that you can call without you > having to worry about it dying. > > But the patch in this

Re: [PATCH 0/2] Reinstate the helpful message when `git pull --rebase` fails

2015-10-12 Thread Johannes Schindelin
Hi Torsten, On 2015-10-10 18:05, Torsten Bögershausen wrote: > On 09.10.15 12:11, Johannes Schindelin wrote: >> Me again, >> >> On 2015-10-09 11:50, Johannes Schindelin wrote: >>> >>> On 2015-10-09 03:40, Paul Tan wrote: On Fri, Oct 9, 2015 at 8:52 AM, Junio C Hamano

[PATCH] gitk: Update Russian translation

2015-10-12 Thread Dimitriy Ryazantcev
Signed-off-by: Dimitriy Ryazantcev --- po/ru.po | 401 +-- 1 file changed, 161 insertions(+), 240 deletions(-) diff --git a/po/ru.po b/po/ru.po index f1bac87..4bec810 100644 --- a/po/ru.po +++ b/po/ru.po

Re: thread-utils: build with NO_PTHREADS fails

2015-10-12 Thread Junio C Hamano
Victor Leschuk writes: > I think that no one tried it for a long time but I needed a > single-threaded git version for debug purpose. I tried to build > with -DNO_PTHREADS and thread-utils.c failed to compile. > > In brief the situation is the following: > > in header

Re: [PATCH v2] filter-branch: remove multi-line headers in msg filter

2015-10-12 Thread Michael J Gruber
Junio C Hamano venit, vidit, dixit 09.10.2015 19:53: > Michael J Gruber writes: > >>> Set IFS to an empty string for the “read” call, thus disabling the word >>> splitting, which causes $header_line to be set to the non-empty value ' >>> '. This allows the loop to

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Junio C Hamano
Sebastian Schuberth writes: > Semantically, it does not seem correct to me that configuarion goes to > the install step. As "make test" will build git anyway, I'd instead > propose to get rid of "install" and just say: > > before_script: make configure && ./configure > >

Re: [PATCH] git-multimail: update to release 1.2.0

2015-10-12 Thread Junio C Hamano
Matthieu Moy writes: > The changes are described in CHANGES. > > Contributions-by: Matthieu Moy > Contributions-by: Elijah Newren > Contributions-by: Edward d'Auvergne > Contributions-by: Vadim Zeitlin

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Lars Schneider
>> + brew_force_set_latest_binary_hash () { >> +FORUMULA=$1 > > Is this spelling intentional or is it a misspelling of "formula"? This is a misspelling. I will fix it. Thanks, Lars -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to

Re: [PATCH v2] filter-branch: remove multi-line headers in msg filter

2015-10-12 Thread Junio C Hamano
Michael J Gruber writes: > Yep, I'm fine with "mini-mentoring", and just to be safe, the 7 new > characters in git-filter-branch.sh are (also) > > Signed-off-by: Michael J Gruber > > in case that is needed or preferred. I was wondering if

Re: [PATCH v3 0/3] Add Travis CI support

2015-10-12 Thread Junio C Hamano
larsxschnei...@gmail.com writes: > Lars Schneider (3): > Add Travis CI support > git-p4: Improve test case portability for t9815 git-p4-submit-fail > git-p4: Skip t9819 test case on case insensitive file systems Can you make this two separate series? It seems Luke is happy with the p4

Re: [PATCH v3 0/3] Add Travis CI support

2015-10-12 Thread Junio C Hamano
larsxschnei...@gmail.com writes: > Lars Schneider (3): > Add Travis CI support > git-p4: Improve test case portability for t9815 git-p4-submit-fail > git-p4: Skip t9819 test case on case insensitive file systems Can you split this into two separate series? It seems Luke is happy with the

[PATCH] git-gui: Update Russian translation

2015-10-12 Thread Dimitriy Ryazantcev
I updated Russian translation for git-gui. Please feel free to add any sugessions on Git Russian Localization Project: https://www.transifex.com/djm00n/git-po-ru/language/ru/ Patch is against current git://repo.or.cz/git-gui.git master branch. Dimitriy Ryazantcev (1): git-gui: Update Russian

Re: thread-utils: build with NO_PTHREADS fails

2015-10-12 Thread Junio C Hamano
Junio C Hamano writes: > Victor Leschuk writes: > >> I think that no one tried it for a long time but I needed a >> single-threaded git version for debug purpose. I tried to build >> with -DNO_PTHREADS and thread-utils.c failed to compile. >> >> In

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Lars Schneider
On 12 Oct 2015, at 01:05, Sebastian Schuberth wrote: > On 10/11/2015 19:55, larsxschnei...@gmail.com wrote: > >> + sudo apt-get update -qq >> + sudo apt-get install -y apt-transport-https >> + sudo apt-get install perforce-server git-lfs > > Why no "-y"

[PATCH] submodule-config: Untangle logic in parse_config

2015-10-12 Thread Stefan Beller
This improves readability of the parse_config logic by making it more concise. CC: Eric Sunshine CC: Heiko Voigt Signed-off-by: Stefan Beller --- Eric commented on this during the long series for parallelizing fetching

[PATCH v1 2/2] git-p4: Skip t9819 test case on case insensitive file systems

2015-10-12 Thread larsxschneider
From: Lars Schneider Windows and OS X file systems are case insensitive by default. Consequently the "git-p4-case-folding" test case does not apply to them. Signed-off-by: Lars Schneider Acked-by: Luke Diamand ---

[PATCH v1 0/2] git-p4: Fix tests on OS X

2015-10-12 Thread larsxschneider
From: Lars Schneider I extracted this patch series from "[PATCH v3 0/3] Add Travis CI support" as suggested by Junio. Thanks, Lars Lars Schneider (2): git-p4: Improve test case portability for t9815 git-p4-submit-fail git-p4: Skip t9819 test case on case

[PATCH v1 1/2] git-p4: Improve test case portability for t9815 git-p4-submit-fail

2015-10-12 Thread larsxschneider
From: Lars Schneider Replace the stats command with the ls command to check file mode bits. The stats command is not available on Windows and has different command line options on OS X. Signed-off-by: Lars Schneider ---

Re: [PATCH 1/3] fixup: use xstrfmt instead of fixed-size buf + sprintf + xstrdup

2015-10-12 Thread Junio C Hamano
Matthieu Moy writes: > The char buf[40] is safe (at least while the strings are not > translated), but I'd rather avoid magic numbers like this 40 in the > code, and use a construct that does not have this size limitation. > Especially if it makes the code shorter. > >

Re: [PATCH 1/3] fixup: use xstrfmt instead of fixed-size buf + sprintf + xstrdup

2015-10-12 Thread Karthik Nayak
On Mon, Oct 12, 2015 at 11:15 PM, Junio C Hamano wrote: > Matthieu Moy writes: > >> The char buf[40] is safe (at least while the strings are not >> translated), but I'd rather avoid magic numbers like this 40 in the >> code, and use a construct that does

Re: [PATCH v2 00/10] port branch.c to use ref-filter's printing options

2015-10-12 Thread Karthik Nayak
On Mon, Oct 12, 2015 at 6:06 AM, Junio C Hamano wrote: > Karthik Nayak writes: > >> On Fri, Oct 9, 2015 at 11:59 PM, Junio C Hamano wrote: >> ... >> Also does it make sense to integrate these changes here? Or would you like to >> have

Re: [PATCH v2 00/10] port branch.c to use ref-filter's printing options

2015-10-12 Thread Matthieu Moy
Karthik Nayak writes: > On Mon, Oct 12, 2015 at 6:06 AM, Junio C Hamano wrote: >> Karthik Nayak writes: >> >>> On Fri, Oct 9, 2015 at 11:59 PM, Junio C Hamano wrote: >>> ... >>> Also does it make sense to

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Sebastian Schuberth
On Mon, Oct 12, 2015 at 6:02 PM, Junio C Hamano wrote: >> Semantically, it does not seem correct to me that configuarion goes to >> the install step. As "make test" will build git anyway, I'd instead >> propose to get rid of "install" and just say: >> >> before_script: make

Re: [PATCH v2 00/10] port branch.c to use ref-filter's printing options

2015-10-12 Thread Matthieu Moy
Junio C Hamano writes: > If you design a new infrastructure to help refactoring early > (i.e. before adding many copies of code that need to be cleaned up > later), it would make the work of reviewing of the design of the > helper and refactoring using that helper smaller, not

[PATCHv7 2/8] xread: poll on non blocking fds

2015-10-12 Thread Stefan Beller
>From the man page: EAGAIN The file descriptor fd refers to a file other than a socket and has been marked nonblocking (O_NONBLOCK), and the read would block. EAGAIN or EWOULDBLOCK The file descriptor fd refers to a socket and has been marked nonblocking (O_NONBLOCK),

[PATCHv7 6/8] run-command: add an asynchronous parallel child processor

2015-10-12 Thread Stefan Beller
This allows to run external commands in parallel with ordered output on stderr. If we run external commands in parallel we cannot pipe the output directly to the our stdout/err as it would mix up. So each process's output will flow through a pipe, which we buffer. One subprocess can be directly

[PATCHv7 1/8] submodule.c: write "Fetching submodule " to stderr

2015-10-12 Thread Stefan Beller
From: Jonathan Nieder The "Pushing submodule " progress output correctly goes to stderr, but "Fetching submodule " is going to stdout by mistake. Fix it to write to stderr. Noticed while trying to implement a parallel submodule fetch. When this particular output line went

[PATCHv7 5/8] sigchain: add command to pop all common signals

2015-10-12 Thread Stefan Beller
The new method removes all common signal handlers that were installed by sigchain_push. CC: Jeff King Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- sigchain.c | 9 + sigchain.h | 1 + 2 files changed, 10

[PATCHv7 7/8] fetch_populated_submodules: use new parallel job processing

2015-10-12 Thread Stefan Beller
In a later patch we enable parallel processing of submodules, this only adds the possibility for it. So this change should not change any user facing behavior. Signed-off-by: Stefan Beller --- submodule.c | 145 ++-- 1

[PATCHv7 8/8] submodules: allow parallel fetching, add tests and documentation

2015-10-12 Thread Stefan Beller
This enables the work of the previous patches. Signed-off-by: Stefan Beller --- Documentation/fetch-options.txt | 7 +++ builtin/fetch.c | 6 +- builtin/pull.c | 6 ++ submodule.c | 3 +-- submodule.h

[PATCHv7 3/8] xread_nonblock: add functionality to read from fds without blocking

2015-10-12 Thread Stefan Beller
Provide a wrapper to read(), similar to xread(), that restarts on EINTR but not EAGAIN (or EWOULDBLOCK). This enables the caller to handle polling itself, possibly polling multiple sockets or performing some other action. Helped-by: Jacob Keller Helped-by: Jeff King

[PATCHv7 0/8] fetch submodules in parallel

2015-10-12 Thread Stefan Beller
fixing two smaller nits noticed by Ramsay * make struct parallel_processes static * omit the forward declaration of get_next_submodule by reordering. Jonathan Nieder (1): submodule.c: write "Fetching submodule " to stderr Stefan Beller (7): xread: poll on non blocking fds xread_nonblock:

[PATCHv7 4/8] strbuf: add strbuf_read_once to read without blocking

2015-10-12 Thread Stefan Beller
The new call will read from a file descriptor into a strbuf once. The underlying call xread_nonblock is meant to execute without blocking if the file descriptor is set to O_NONBLOCK. It is a bug to call strbuf_read_once on a file descriptor which would block. Signed-off-by: Stefan Beller

Re: [PATCH] submodule-config: Untangle logic in parse_config

2015-10-12 Thread Junio C Hamano
Stefan Beller writes: > This improves readability of the parse_config logic by making it more concise. This does make it shorter, but "improve readability" is highly subjective and "untangle logic" is content-free without explaining what aspect of the logic is being

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Lars Schneider
On 12 Oct 2015, at 12:37, Sebastian Schuberth wrote: > On Mon, Oct 12, 2015 at 7:12 PM, Lars Schneider > wrote: > +install: make configure && ./configure + +before_script: make + +script: make --quiet test >>> >>>

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Sebastian Schuberth
On Mon, Oct 12, 2015 at 9:43 PM, Lars Schneider wrote: >> Reading through Travis' docs [3] again, "before_script" is documented >> to "return a non-zero exit code, the build is errored and stops >> immediately", while "script" is documented as "returns a non-zero exit

How to rebase when some commit hashes are in some commit messages

2015-10-12 Thread Francois-Xavier Le Bail
Hello, [I try some search engines without success, perhaps I have missed something]. For example, if I rebase the following commits, I would want that if the commit hash 222... become 777..., the message "Update test output for " become "Update

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Matthieu Moy
larsxschnei...@gmail.com writes: > --- /dev/null > +++ b/.travis.yml > @@ -0,0 +1,46 @@ > +language: c > + > +os: > + - linux > + - osx > + > +compiler: > + - clang > + - gcc > + > +before_install: > + - > > +export GIT_TEST_OPTS=" --quiet"; > +case "${TRAVIS_OS_NAME:-linux}" in > +

Re: How to rebase when some commit hashes are in some commit messages

2015-10-12 Thread Matthieu Moy
Francois-Xavier Le Bail writes: > Hello, > > [I try some search engines without success, perhaps I have missed something]. > > For example, if I rebase the following commits, I would want that if > the commit hash 222... become 777..., > the message > "Update

Re: [PATCH 0/2] Reinstate the helpful message when `git pull --rebase` fails

2015-10-12 Thread Junio C Hamano
Johannes Schindelin writes: >> I think the most sensible regression fix as the first step at this >> point is to call it as a separate process, just like the code calls >> "apply" as a separate process for each patch. Optimization can come >> later when it is shown

Re: [PATCH 2/2] pull --rebase: reinstate helpful message on abort

2015-10-12 Thread Junio C Hamano
Johannes Schindelin writes: > Hi Junio, > > On 2015-10-09 20:36, Junio C Hamano wrote: >> Johannes Schindelin writes: >> >>> When calling `git pull --rebase`, things can go wrong. In such a case, >>> we want to tell the user about the

Re: [PATCHv7 0/8] fetch submodules in parallel

2015-10-12 Thread Junio C Hamano
Thanks; will replace. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Sebastian Schuberth
On Mon, Oct 12, 2015 at 7:12 PM, Lars Schneider wrote: >>> +install: make configure && ./configure >>> + >>> +before_script: make >>> + >>> +script: make --quiet test >> >> Semantically, it does not seem correct to me that configuarion goes to the >> install step. As

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Lars Schneider
On 12 Oct 2015, at 09:02, Junio C Hamano wrote: > Sebastian Schuberth writes: > >> Semantically, it does not seem correct to me that configuarion goes to >> the install step. As "make test" will build git anyway, I'd instead >> propose to get rid of

Add submodule specifying depth and branch at the same time won't work

2015-10-12 Thread Carlos Pita
For example, I can do: git clone --depth 1 --branch devel g...@gitlab.com:memeplex/bash.git But if I try: git submodule add --depth 1 -b devel g...@gitlab.com:memeplex/bash.git I get: fatal: Cannot update paths and switch to branch 'devel' at the same time. Did you intend to checkout

Re: [PATCH v3 1/3] Add Travis CI support

2015-10-12 Thread Matthieu Moy
Lars Schneider writes: > {Linux | OSX} * {gcc | clang} * {Default, NO_PTHREAD, NO_CURL, NO_OPENSSL, > NO_MMAP, NO_IPV6, NO_PERL} Another option would be to have a single "NO_*" build, that would activate all NO_PTHREAD, NO_CURL, NO_OPENSSL, NO_MMAP, NO_IPV6, NO_PERL

Re: [PATCH] Add fetch.recurseSubmoduleParallelism config option

2015-10-12 Thread Stefan Beller
On Mon, Oct 12, 2015 at 4:14 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> This allows to configure fetching in parallel without having the annoying >> command line option. > > s/annoying//; > > I think this is a sane thing to do, but the name of

[PATCH] submodule: Test a shallow branch

2015-10-12 Thread Stefan Beller
Instead of tracking the submodule at the specified branch, using a shallow clone, we get the following error: fatal: Cannot update paths and switch to branch 'anotherbranch' at the same time. Did you intend to checkout 'origin/anotherbranch' which can not be resolved as commit? Unable to

[PATCH v3 01/44] refs.c: create a public version of verify_refname_available

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Create a public version of verify_refname_available that backends can provide. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs.c | 65

[PATCH v3 05/44] refs.c: move update_ref to refs.c

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Move update_ref() to the refs.c file since this function does not contain any backend specific code. Move the ref classifier functions as well, since update_ref depends on them. Based on Ronnie Sahlberg's patch Signed-off-by: Ronnie Sahlberg

[PATCH v3 10/44] refs.c: move warn_if_dangling_symref* to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg These functions do not use any backend specific code so we move them to the common code. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 52

[PATCH v3 18/44] refs: move transaction functions into common code

2015-10-12 Thread David Turner
The common ref code will build up a ref transaction. Backends will then commit it. So the transaction creation and update functions should be in the common code. We also need to move the ref structs into the common code so that alternate backends can access them. Later, we will modify struct

[PATCH v3 20/44] refs-be-files.c: add methods for misc ref operations

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Add ref backend methods for: resolve_ref_unsafe, verify_refname_available, pack_refs, peel_ref, create_symref, resolve_gitlink_ref. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner ---

[PATCH v3 32/44] initdb: move safe_create_dir into common code

2015-10-12 Thread David Turner
In a moment, we'll create initdb functions for ref backends, and code from initdb that calls this function needs to move into the files backend. So this function needs to be public. Signed-off-by: David Turner --- builtin/init-db.c | 12 cache.h

[PATCH v3 26/44] refs.c: move copy_msg to the common code

2015-10-12 Thread David Turner
Rename copy_msg to copy_reflog_msg and make it public. Signed-off-by: David Turner --- refs-be-files.c | 28 +--- refs.c | 26 ++ refs.h | 2 ++ 3 files changed, 29 insertions(+), 27 deletions(-) diff

[PATCH v3 06/44] refs.c: move delete_ref and delete_refs to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Move delete_pseudoref, delete_ref() and delete_refs() to the refs.c file since these functions do not contain any backend specific code. Based on a patch by Ronnie Sahlberg. Signed-off-by: David Turner Signed-off-by: Ronnie

[PATCH v3 21/44] refs-be-files.c: add methods for the ref iterators

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 41 -- refs.c | 69 ++---

[PATCH v3 19/44] refs-be-files.c: add a backend method structure with transaction functions

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Add a ref structure for backend methods. Start by adding a method pointer for the transaction commit function. Add a function set_refs_backend to switch between backends. The files based backend is the default. Signed-off-by: Ronnie Sahlberg

[PATCH v3 03/44] refs-be-files.c: rename refs to refs-be-files

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Rename refs.c to refs-be-files.c to indicate that this file now holds the implementation for the files based refs backend. A smaller portion of the code in this file is backend agnostic and will be moved to a a new refs.c file that will hold all the

[PATCH v3 19/44] refs: add a backend method structure with transaction functions

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Add a ref structure for backend methods. Start by adding a method pointer for the transaction commit function. Add a function set_refs_backend to switch between backends. The files based backend is the default. Signed-off-by: Ronnie Sahlberg

[PATCH v3 07/44] refs.c: move read_ref_at to the common refs file

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Move read_ref_at() to the refs.c file since this function does not contain any backend specific code. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 118

[PATCH v3 23/44] refs-be-files.c: add do_for_each_per_worktree_ref

2015-10-12 Thread David Turner
Alternate refs backends might still use files to store per-worktree refs. So the files backend's ref-loading infrastructure should be available to those backends, just for use on per-worktree refs. Add do_for_each_per_worktree_ref, which iterates over per-worktree refs. Signed-off-by: David

[PATCH v3 28/44] refs.c: move should_autocreate_reflog to common code

2015-10-12 Thread David Turner
Signed-off-by: David Turner --- refs-be-files.c | 10 -- refs.c | 10 ++ refs.h | 2 ++ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/refs-be-files.c b/refs-be-files.c index bf2fd7a..73111e7 100644 ---

[PATCH v3 30/44] refs.c: add methods for reflog

2015-10-12 Thread David Turner
In the file-based backend, the reflog piggybacks on the ref lock. Since other backends won't have the same sort of ref lock, ref backends must also handle reflogs. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c |

[PATCH v3 27/44] refs.c: move peel_object to the common code

2015-10-12 Thread David Turner
This function does not contain any backend specific code so we move it to the common code. Signed-off-by: David Turner --- refs-be-files.c | 53 - refs.c | 31 +++ refs.h

[PATCH v3 34/44] refs-be-files.c: add method to rename refs

2015-10-12 Thread David Turner
We also have to make rename_ref_available public, since alternate backends for rename_ref will need it. Signed-off-by: David Turner --- refs-be-files.c | 20 +++- refs.c | 21 + refs.h | 7 ++- 3 files changed,

[PATCH v3 11/44] refs.c: move read_ref, read_ref_full and ref_exists to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg These functions do not depend on the backend implementation so we move them to the common code. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 18 --

[PATCH v3 14/44] refs.c: move is_branch to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 5 - refs.c | 5 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/refs-be-files.c

Re: [PATCH v3 19/44] refs-be-files.c: add a backend method structure with transaction functions

2015-10-12 Thread David Turner
Please disregard this one; I rewrorded the commit message and forgot to delete this patch. On Mon, 2015-10-12 at 17:51 -0400, David Turner wrote: > From: Ronnie Sahlberg > > Add a ref structure for backend methods. Start by adding a method pointer > for the transaction

[PATCH v3 13/44] refs.c: move check_refname_format to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg This function does not contain any backend specific code so we move it to the common code. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 109

[PATCH v3 08/44] refs.c: move the hidden refs functions to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Move the hidden refs functions to the refs.c file since these functions do not contain any backend specific code. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 51

[PATCH v3 04/44] refs.c: add a new refs.c file to hold all common refs code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Create a new refs.c file that will be used to hold all the refs code that is backend agnostic and will be shared across all backends. Signed-off-by: Ronnie Sahlberg --- Makefile | 1 + refs.c | 3 +++ 2 files changed, 4

[PATCH v3 15/44] refs.c: move prettify_refname to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Signed-off-by: Ronnie Sahlberg --- refs-be-files.c | 9 - refs.c | 9 + 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/refs-be-files.c b/refs-be-files.c index 1214d9e..ecf2b33 100644 ---

[PATCH v3 17/44] refs.c: move head_ref_namespaced to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Signed-off-by: Ronnie Sahlberg --- refs-be-files.c | 15 --- refs.c | 15 +++ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/refs-be-files.c b/refs-be-files.c index

[PATCH v3 00/44] alternate refs backends

2015-10-12 Thread David Turner
This version of the patch set includes the following changes: 1. Numerous formatting and style updates. Thanks for Michael Haggerty to pointing these out; remaining errors are of course my own. 2. Fixed warnings. Thanks to Michael Haggerty, Michael Blume, and Torsten Bögershausen for pointing

[PATCH v3 16/44] refs.c: move ref iterators to the common code

2015-10-12 Thread David Turner
From: Ronnie Sahlberg Signed-off-by: Ronnie Sahlberg --- refs-be-files.c | 82 - refs.c | 81 2 files changed, 81 insertions(+),

[PATCH v3 02/44] refs: make repack_without_refs and is_branch public

2015-10-12 Thread David Turner
is_branch was already non-static, but this patch declares it in the header. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs.c | 9 + refs.h | 13 + 2 files changed, 14 insertions(+), 8 deletions(-) diff

Re: [PATCH] Add fetch.recurseSubmoduleParallelism config option

2015-10-12 Thread Junio C Hamano
Stefan Beller writes: > This allows to configure fetching in parallel without having the annoying > command line option. s/annoying//; I think this is a sane thing to do, but the name of the variable may want to be bikeshedded a bit. > This moved the responsibility to

[PATCHv2] submodule-config: Shorten logic in parse_config

2015-10-12 Thread Stefan Beller
This makes the parsing more concise by removing the forward goto as well as unifying the structure of parsing the {ignore, url, path} options. By unifying we introduce subtle changes in the error cases. We notice non-boolean variables before noticing duplicate variables now. CC: Eric Sunshine

[PATCH v3 43/44] refs: add LMDB refs backend

2015-10-12 Thread David Turner
Add a database backend for refs using LMDB. This backend runs git for-each-ref about 30% faster than the files backend with fully-packed refs on a repo with ~120k refs. It's also about 4x faster than using fully-unpacked refs. In addition, and perhaps more importantly , it avoids case-conflict

[PATCH v3 22/44] refs-be-files.c: add method for for_each_reftype_...

2015-10-12 Thread David Turner
Add method for for_each_reftype_fullpath. Signed-off-by: David Turner --- refs-be-files.c | 11 +++ refs.c | 7 +++ refs.h | 3 +++ 3 files changed, 21 insertions(+) diff --git a/refs-be-files.c b/refs-be-files.c index 2e2399e..c99319f

[PATCH v3 36/44] refs: make files_log_ref_write functions public

2015-10-12 Thread David Turner
Because HEAD and stash are per-worktree, refs.c needs to go through the files backend to write these refs. In this patch, we make one files backend internal functions public. Later, we will use this to handle reflog updates for per-worktree symbolic refs (HEAD). Signed-off-by: David Turner

[PATCH v3 29/44] refs.c: add ref backend init function

2015-10-12 Thread David Turner
The file backend doesn't need this function, but other backends might. Signed-off-by: David Turner Signed-off-by: Ronnie Sahlberg --- refs-be-files.c | 6 ++ refs.c | 3 ++- refs.h | 4 +++- 3 files changed, 11

[PATCH v3 31/44] refs.c: add method for initial ref transaction commit

2015-10-12 Thread David Turner
Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 5 +++-- refs.c | 6 ++ refs.h | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/refs-be-files.c b/refs-be-files.c index

[PATCH v3 40/44] refs: allow ref backend to be set for clone

2015-10-12 Thread David Turner
Add a new option, --refs-backend-type, to allow the ref backend type to be set on new clones. Submodules must use the same ref backend as the parent repository, so we also pass the --refs-backend-type option option when cloning submodules. Signed-off-by: David Turner

[PATCH v3 44/44] refs: tests for db backend

2015-10-12 Thread David Turner
Add tests for the database backend. Signed-off-by: David Turner Helped-by: Dennis Kaarsemaker --- t/t1460-refs-be-db.sh| 1109 ++ t/t1470-refs-be-db-reflog.sh | 359 ++ t/test-lib.sh

[PATCH v3 24/44] refs.c: move refname_is_safe to the common code

2015-10-12 Thread David Turner
This function does not contain any backend specific code so we move it to the common code. Signed-off-by: Ronnie Sahlberg Signed-off-by: David Turner --- refs-be-files.c | 33 - refs.c | 24

[PATCH v3 38/44] refs: move duplicate check to common code

2015-10-12 Thread David Turner
The check for duplicate refnames in a transaction is needed for all backends, so move it to the common code. ref_transaction_commit_fn gains a new argument, the sorted string_list of affected refnames. Signed-off-by: David Turner --- refs-be-files.c | 57

[PATCH v3 39/44] refs: always handle non-normal refs in files backend

2015-10-12 Thread David Turner
Always handle non-normal (per-worktree or pseudo) refs in the files backend instead of alternate backends. Sometimes a ref transaction will update both a per-worktree ref and a normal ref. For instance, an ordinary commit might update refs/heads/master and HEAD (or at least HEAD's reflog). We

[PATCH v3 41/44] refs: add register_refs_backend

2015-10-12 Thread David Turner
Add register_refs_backend, to allow refs backends to be registered. Signed-off-by: David Turner --- refs.c | 6 ++ refs.h | 1 + 2 files changed, 7 insertions(+) diff --git a/refs.c b/refs.c index 901558d..534d12e 100644 --- a/refs.c +++ b/refs.c @@ -23,6 +23,12

[PATCH v3 42/44] introduce "extensions" form of core.repositoryformatversion

2015-10-12 Thread David Turner
From: Jeff King Normally we try to avoid bumps of the whole-repository core.repositoryformatversion field. However, it is unavoidable if we want to safely change certain aspects of git in a backwards-incompatible way (e.g., modifying the set of ref tips that we must traverse to

  1   2   >