Re: [RFC/PATCH] connect: add GIT_SSH_{SEND,RECEIVE}{,_COMMAND} env variables

2018-01-03 Thread Jeff King
On Thu, Jan 04, 2018 at 01:08:28AM +0100, Ævar Arnfjörð Bjarmason wrote: > Hopefully this is clearer, and depending on how the rest of the > discussion goes I'll submit v2 with something like this in the commit > message: > > SSH keys A and B are known to the remote service, and used to identify

Re: Bug report: git clone with dest

2018-01-03 Thread Jeff King
On Wed, Jan 03, 2018 at 02:42:51PM -0800, Isaac Shabtay wrote: > Indeed interesting... this one's for the books... > Thanks for the patches. Any idea when these are going to make it to the > official Git client builds? (specifically the Windows one) They haven't even been reviewed yet. If they

Re: [PATCH] git-archive: accept --owner and --group like GNU tar

2018-01-03 Thread suzuki toshiya
Hi, Hmm, it could be reasonable to assume that --append-file would serve more cases than --uid --gid options. There might be many people who don't care multiple UID/GID in the source tarball, but want to append some files to the archive generated by git-archive. I would take a look how to do

Re: [PATCH] git-archive: accept --owner and --group like GNU tar

2018-01-03 Thread suzuki toshiya
Dear René , By overlooking your response, I was writing a patch to add uid/gid into zip archive X-D (not finished yet) https://github.com/mpsuzuki/git/tree/add-zip-uid-gid However, I found that most unix platforms use infozip's extension to store uid/gid instead of pkzip's extension... So this

Re: [PATCH 20/26] fetch-pack: perform a fetch using v2

2018-01-03 Thread Stefan Beller
On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > When communicating with a v2 server, perform a fetch by requesting the > 'fetch' command. > > Signed-off-by: Brandon Williams > --- > builtin/fetch-pack.c | 2 +- > fetch-pack.c | 267

Re: [PATCH 19/26] upload-pack: introduce fetch server command

2018-01-03 Thread Stefan Beller
On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > Introduce the 'fetch' server command. > > Signed-off-by: Brandon Williams > --- > Documentation/technical/protocol-v2.txt | 14 ++ > serve.c | 2 + > upload-pack.c

Re: [PATCH v5 13/34] directory rename detection: tests for handling overwriting untracked files

2018-01-03 Thread SZEDER Gábor
> --- > t/t6043-merge-rename-directories.sh | 337 > > 1 file changed, 337 insertions(+) > +test_expect_failure '10b-check: Overwrite untracked with dir rename + > delete' ' > + ( > + cd 10b && > + > + git checkout A^0 && > +

Re: [PATCH] git-archive: accept --owner and --group like GNU tar

2018-01-03 Thread René Scharfe
[replying only to the list because emails to per...@pluto.rain.com are rejected by my mail server with the following error message: "Requested action not taken: mailbox unavailable invalid DNS MX or A/ resource record."] Am 02.01.2018 um 01:32 schrieb Perry Hutchison: > Ren?? Scharfe

Re: [PATCH 0/2] Several fixes for the test suite related to spaces in filenames

2018-01-03 Thread Junio C Hamano
Jeff King writes: > On Wed, Jan 03, 2018 at 05:54:44PM +0100, Johannes Schindelin wrote: > >> The second issue was found long ago, and the patch carried in Git for >> Windows, although nothing about it is specific to Windows. >> >> The first patch was developed today, when I

Re: [PATCH 12/26] ls-refs: introduce ls-refs server command

2018-01-03 Thread Stefan Beller
On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > Introduce the ls-refs server command. In protocol v2, the ls-refs > command is used to request the ref advertisement from the server. Since > it is a command which can be requested (as opposed to mandatory in v1), > a

Re: [RFC/PATCH] connect: add GIT_SSH_{SEND,RECEIVE}{,_COMMAND} env variables

2018-01-03 Thread Ævar Arnfjörð Bjarmason
On Wed, Jan 03 2018, Junio C. Hamano jotted: > Ævar Arnfjörð Bjarmason writes: > >> This is useful for talking to systems such as Github or Gitlab that >> identify user accounts (or deploy keys) by ssh keys. Normally, ssh >> could do this itself by supplying multiple keys via

[no subject]

2018-01-03 Thread Jalus Bilieyich

Re: [PATCH] doc/SubmittingPatches: improve text formatting

2018-01-03 Thread brian m. carlson
On Tue, Jan 02, 2018 at 10:33:50AM -0500, Todd Zullinger wrote: > 049e64aa50 ("Documentation: convert SubmittingPatches to AsciiDoc", > 2017-11-12) changed the `git blame` and `git shortlog` examples given in > the section on sending your patches. > > In order to italicize the `$path` argument

Re: Misleading documentation for git-diff-files (diff-filter)

2018-01-03 Thread Junio C Hamano
John Cheng writes: > I wanted to know if git diff-files shows files that are not in the > index but are in the working tree. At least in the original design of Git, that would fundamentally be impossible, as Git _only_ cares about paths that are in the index, so a new

Re: [RFC/PATCH] connect: add GIT_SSH_{SEND,RECEIVE}{,_COMMAND} env variables

2018-01-03 Thread Junio C Hamano
Ævar Arnfjörð Bjarmason writes: > This is useful for talking to systems such as Github or Gitlab that > identify user accounts (or deploy keys) by ssh keys. Normally, ssh > could do this itself by supplying multiple keys via -i, but that trick > doesn't work on these systems

Re: Bug report: git clone with dest

2018-01-03 Thread Isaac Shabtay
Indeed interesting... this one's for the books... Thanks for the patches. Any idea when these are going to make it to the official Git client builds? (specifically the Windows one) On 3 January 2018 at 14:28, Jeff King wrote: > On Wed, Jan 03, 2018 at 12:59:48PM -0800, Isaac

Re: Bug report: git clone with dest

2018-01-03 Thread Jeff King
On Wed, Jan 03, 2018 at 12:59:48PM -0800, Isaac Shabtay wrote: > Target directory is deleted on clone failures. > > Steps to reproduce, for example on Windows: > > cd /d %TEMP% > mkdir dest > git clone https://some-fake-url/whatever-makes-git-clone-fail dest > > Of course, the clone will fail

Re: [PATCH v5 00/34] Add directory rename detection to git

2018-01-03 Thread Johannes Sixt
Am 03.01.2018 um 22:02 schrieb Elijah Newren: On Wed, Jan 3, 2018 at 2:57 AM, Johannes Sixt wrote: I tested the series on Windows recently. It requires the patch below. I don't know whether this is indicating some portability issues of grep (^ being used in the middle of a RE

Re: [PATCH 5/5] diff: properly error out when combining multiple pickaxe options

2018-01-03 Thread Stefan Beller
On Wed, Jan 3, 2018 at 2:08 PM, Junio C Hamano wrote: > Stefan Beller writes: > > ; >> + count = 0; >> + >> + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_S) >> + count++; >> + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_G) >> +

Re: [PATCH v2 2/3] prune: fix pruning with multiple worktrees and split index

2018-01-03 Thread Thomas Gummerer
[sorry for the late reply. I was on Christmas holidays until today and am still catching up on the mailing list. It will probably take me untill the weekend to send a re-roll] On 12/18, Brandon Williams wrote: > On 12/17, Thomas Gummerer wrote: > > be489d02d2 ("revision.c: --indexed-objects add

Re: [PATCH 5/5] diff: properly error out when combining multiple pickaxe options

2018-01-03 Thread Junio C Hamano
Stefan Beller writes: ; > + count = 0; > + > + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_S) > + count++; > + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_G) > + count++; > + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_OBJFIND) >

Re: [PATCH 3/5] diff: introduce DIFF_PICKAXE_KINDS_MASK

2018-01-03 Thread Junio C Hamano
Stefan Beller writes: > Currently the check whether to perform pickaxing is done via checking > `diffopt->pickaxe`, which contains the command line argument that we > want to pickaxe for. Soon we'll introduce a new type of pickaxing, that > will not store anything in the

Re: [PATCH 1/5] diff.h: Make pickaxe_opts an unsigned bit field

2018-01-03 Thread Junio C Hamano
Stefan Beller writes: > This variable is used as a bit field[1], and as we are about to add more > fields, indicate its usage as a bit field by making it unsigned. > > [1] containing the bits > > #define DIFF_PICKAXE_ALL 1 > #define DIFF_PICKAXE_REGEX2 >

[PATCH v3 4/5] status: support --no-ahead-behind in long format

2018-01-03 Thread Jeff Hostetler
From: Jeff Hostetler Teach long (normal) status format to respect the --no-ahead-behind parameter and skip the possibly expensive ahead/behind computation between the branch and the upstream. Long status also respects "status.aheadBehind" config setting. Signed-off-by:

[PATCH v3 5/5] status: add status.aheadBehind value for porcelain output

2018-01-03 Thread Jeff Hostetler
From: Jeff Hostetler Add status.aheadBehind=2 value to enable --no-ahead-behind for all formats (both porcelain and non-porcelain). The current boolean values only affect non-porcelain formats. Signed-off-by: Jeff Hostetler ---

[PATCH v3 2/5] status: add --[no-]ahead-behind to status and commit for V2 format.

2018-01-03 Thread Jeff Hostetler
From: Jeff Hostetler Teach "git status" and "git commit" to accept "--no-ahead-behind" and "--ahead-behind" arguments to request quick or full ahead/behind reporting. When "--no-ahead-behind" is given, the existing porcelain V2 line "branch.ab x y" is replaced with a new

[PATCH v3 3/5] status: update short status to respect --no-ahead-behind

2018-01-03 Thread Jeff Hostetler
From: Jeff Hostetler Teach "git status --short --branch" to respect "--no-ahead-behind" parameter to skip computing ahead/behind counts for the branch and its upstream and just report '[different]'. Short status also respect the "status.aheadBehind" config setting.

[PATCH v3 0/5] Add --no-ahead-behind to status

2018-01-03 Thread Jeff Hostetler
From: Jeff Hostetler This is version 3 of my patch series to avoid expensive ahead/behind calculations in status. This version tries to address most of the comments in V2. I've switched back to a "status.aheadBehind" config setting rather than in "core.*". This has

[PATCH v3 1/5] stat_tracking_info: return +1 when branches not equal

2018-01-03 Thread Jeff Hostetler
From: Jeff Hostetler Extend stat_tracking_info() to return +1 when branches are not equal and to take a new "enum ahead_behind_flags" argument to allow skipping the (possibly expensive) ahead/behind computation. This will be used in the next commit to allow "git status"

Hay

2018-01-03 Thread Financial Services
Loan Offer at 3% Lowest Rate Get Now.

Re: [PATCH 06/26] transport: use get_refs_via_connect to get refs

2018-01-03 Thread Stefan Beller
On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > Remove code duplication and use the existing 'get_refs_via_connect()' > function to retrieve a remote's heads in 'fetch_refs_via_pack()' and > 'git_transport_push()'. > > Signed-off-by: Brandon Williams

Re: [PATCHv3 0/5] Fix --recurse-submodules for submodule worktree changes

2018-01-03 Thread Stefan Beller
On Wed, Jan 3, 2018 at 12:49 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> Thanks Junio for review of this series! >> The only change in this version of the series is >> >> --- a/unpack-trees.c >> +++ b/unpack-trees.c >> @@ -2140,7 +2140,7 @@ int

Re: [ANNOUNCE] Git v2.16.0-rc0

2018-01-03 Thread Junio C Hamano
Jonathan Nieder writes: > It's good you caught this flaw in the detection. Would something like > the following make sense? If so, I can resend with a commit message > and tests tomorrow or the day after. So the idea is to keep the 'simple' for implementations that do not

Re: [PATCH v5 00/34] Add directory rename detection to git

2018-01-03 Thread Elijah Newren
On Wed, Jan 3, 2018 at 2:57 AM, Johannes Sixt wrote: > I tested the series on Windows recently. It requires the patch below. > I don't know whether this is indicating some portability issues of grep > (^ being used in the middle of a RE instead of at the very beginning) or > just

Bug report: git clone with dest

2018-01-03 Thread Isaac Shabtay
Hello, Target directory is deleted on clone failures. Steps to reproduce, for example on Windows: cd /d %TEMP% mkdir dest git clone https://some-fake-url/whatever-makes-git-clone-fail dest Of course, the clone will fail as it should. But looks like the Git client also ends up deleting the

[PATCH v2 4/5] update-index doc: note a fixed bug in the untracked cache

2018-01-03 Thread Ævar Arnfjörð Bjarmason
Document the bug tested for in my "status: add a failing test showing a core.untrackedCache bug" and fixed in Duy's "dir.c: fix missing dir invalidation in untracked code". Since this is very likely something others will encounter in the future on older versions, and it's not obvious how to fix

Re: [PATCHv3 0/5] Fix --recurse-submodules for submodule worktree changes

2018-01-03 Thread Junio C Hamano
Stefan Beller writes: > Thanks Junio for review of this series! > The only change in this version of the series is > > --- a/unpack-trees.c > +++ b/unpack-trees.c > @@ -2140,7 +2140,7 @@ int oneway_merge(const struct cache_entry * const *src, >

[PATCH v2 2/5] dir.c: avoid stat() in valid_cached_dir()

2018-01-03 Thread Ævar Arnfjörð Bjarmason
From: Nguyễn Thái Ngọc Duy stat() may follow a symlink and return stat data of the link's target instead of the link itself. We are concerned about the link itself. It's kind of hard to demonstrate the bug. I think when path->buf is a symlink, we most likely find that its

[PATCH v2 5/5] dir.c: stop ignoring opendir() error in open_cached_dir()

2018-01-03 Thread Ævar Arnfjörð Bjarmason
From: Nguyễn Thái Ngọc Duy A follow-up to the recently fixed bugs in the untracked invalidation. If opendir() fails it should show a warning, perhaps this should die, but if this ever happens the error is probably recoverable for the user, and dying would just make things

[PATCH v2 1/5] status: add a failing test showing a core.untrackedCache bug

2018-01-03 Thread Ævar Arnfjörð Bjarmason
The untracked cache gets confused when a directory is swapped out for a file. It is easiest to reproduce this by swapping out a directory with a symlink to another directory, and as the tests show the symlink case is the only case we've found where "git status" will subsequently report incorrect

[PATCH v2 3/5] dir.c: fix missing dir invalidation in untracked code

2018-01-03 Thread Ævar Arnfjörð Bjarmason
From: Nguyễn Thái Ngọc Duy Let's start with how create a new directory cache after the last one becomes invalid (e.g. because its dir mtime has changed...). In open_cached_dir(): 1. We start out with valid_cached_dir() returning false, which should call

[PATCH v2 0/5] untracked cache bug fixes

2018-01-03 Thread Ævar Arnfjörð Bjarmason
Took me a while to get around to this. This is a replacement for the patches Duy and I have floating around on the list so far related to the untracked cache bugs raised recently. Part of this has been me incorporating Duy's work and writing commit messages etc. for him. Nguyễn Thái Ngọc Duy

Re: [PATCH v1] convert: add support for 'encoding' attribute

2018-01-03 Thread Lars Schneider
On 03 Jan 2018, at 20:15, Junio C Hamano wrote: > Torsten Bögershausen writes: > >> May be. >> Originally utf8.c was about encoding and all kind of UTF-8 related stuff. >> Especially it didn't know anything about strbuf. >> I don't know why strbuf.h and other

Re: [PATCH 04/26] upload-pack: convert to a builtin

2018-01-03 Thread Brandon Williams
On 01/03, Stefan Beller wrote: > On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > > In order to allow for code sharing with the server-side of fetch in > > protocol-v2 convert upload-pack to be a builtin. > > What is the security aspect of this patch? > > By making

Re: [PATCH 05/26] upload-pack: factor out processing lines

2018-01-03 Thread Stefan Beller
On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > Factor out the logic for processing shallow, deepen, deepen_since, and > deepen_not lines into their own functions to simplify the > 'receive_needs()' function in addition to making it easier to reuse some > of this

Re: [PATCH 04/26] upload-pack: convert to a builtin

2018-01-03 Thread Stefan Beller
On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > In order to allow for code sharing with the server-side of fetch in > protocol-v2 convert upload-pack to be a builtin. What is the security aspect of this patch? By making upload-pack builtin, it gains additional

Re: [PATCH 01/26] pkt-line: introduce packet_read_with_status

2018-01-03 Thread Stefan Beller
On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > The current pkt-line API encodes the status of a pkt-line read in the > length of the read content. An error is indicated with '-1', a flush > with '0' (which can be confusing since a return value of '0' can also >

Re: [PATCH] Add shell completion for git remote rm

2018-01-03 Thread Junio C Hamano
Ævar Arnfjörð Bjarmason writes: > On Sat, Dec 30 2017, Todd Zullinger jotted: > >> And I think that should also apply to >> not offering completion for commands/subcommands/options >> which are only kept for backward compatibility. > > Yeah I think it makes sense to at some

Re: [PATCH v2 7/7] wildmatch test: create & test files on disk in addition to in-memory

2018-01-03 Thread Ævar Arnfjörð Bjarmason
On Wed, Jan 03 2018, Adam Dinwoodie jotted: > On Wednesday 03 January 2018 at 02:31 pm +0100, Ævar Arnfjörð Bjarmason wrote: >> >> On Wed, Jan 03 2018, Adam Dinwoodie jotted: >> >> > On Monday 25 December 2017 at 12:28 am +, Ævar Arnfjörð Bjarmason >> > wrote: >> >> There has never been any

Re: [PATCH v1] convert: add support for 'encoding' attribute

2018-01-03 Thread Junio C Hamano
Torsten Bögershausen writes: > May be. > Originally utf8.c was about encoding and all kind of UTF-8 related stuff. > Especially it didn't know anything about strbuf. > I don't know why strbuf.h and other functions had been added here, > > I once moved them into strbuf.c without

Re: [PATCH 0/2] Several fixes for the test suite related to spaces in filenames

2018-01-03 Thread Jeff King
On Wed, Jan 03, 2018 at 05:54:44PM +0100, Johannes Schindelin wrote: > The second issue was found long ago, and the patch carried in Git for > Windows, although nothing about it is specific to Windows. > > The first patch was developed today, when I tried to verify that Git's > test suite passes

[PATCH] bisect: fix a regression causing a segfault

2018-01-03 Thread Ævar Arnfjörð Bjarmason
In 7c117184d7 ("bisect: fix off-by-one error in `best_bisection_sorted()`", 2017-11-05) the more careful logic dealing with freeing p->next in 50e62a8e70 ("rev-list: implement --bisect-all", 2007-10-22) was removed. Restore the more careful check to avoid segfaulting. Ideally this would come with

Re: [BUG] v2.16.0-rc0 seg faults when git bisect skip

2018-01-03 Thread Martin Ågren
On 3 January 2018 at 15:21, Ævar Arnfjörð Bjarmason wrote: > > On Wed, Jan 03 2018, Yasushi SHOJI jotted: > >> Hi, >> >> git version 2.16.0.rc0 seg faults on my machine when I >> [...] >> Program terminated with signal SIGSEGV, Segmentation fault. >> #0 0x55a73107f900 in

[PATCH 1/2] Allow the test suite to pass in a directory whose name contains spaces

2018-01-03 Thread Johannes Schindelin
It is totally legitimate to clone Git's source code anywhere, including into, say, directories whose name (or the name of its absolute path) contains spaces. However, a couple of tests failed to anticipate this, for lack of quoting (or in one instance, for failure to expect more than one space in

[PATCH 0/2] Several fixes for the test suite related to spaces in filenames

2018-01-03 Thread Johannes Schindelin
The second issue was found long ago, and the patch carried in Git for Windows, although nothing about it is specific to Windows. The first patch was developed today, when I tried to verify that Git's test suite passes if Git is cloned to a directory called `with spaces/`. Johannes Schindelin

[PATCH 2/2] t0302 & t3900: add forgotten quotes

2018-01-03 Thread Johannes Schindelin
When cleaning up files in the $HOME directory, it really makes sense to quote the path, especially in Git's test suite, where the HOME directory is *guaranteed* to contain spaces in its name. It would appear that those two tests pass even without cleaning up the files, but really more by pure

[PATCH 04/40] fsck: introduce promisor objects

2018-01-03 Thread Christian Couder
From: Jonathan Tan Currently, Git does not support repos with very large numbers of objects or repos that wish to minimize manipulation of certain blobs (for example, because they are very large) very well, even if the user operates mostly on part of the repo, because

[PATCH 05/40] fsck: support refs pointing to promisor objects

2018-01-03 Thread Christian Couder
From: Jonathan Tan Teach fsck to not treat refs referring to missing promisor objects as an error when extensions.partialclone is set. For the purposes of warning about no default refs, such refs are still treated as legitimate refs. Signed-off-by: Jonathan Tan

[PATCH 02/40] Add GIT_NO_EXTERNAL_ODB env variable

2018-01-03 Thread Christian Couder
This new environment variable will be used to perform git commands without involving any external odb mechanism. This makes it possible for example to create new blobs that will not be sent to an external odb even if the external odb supports "put_*" instructions. Signed-off-by: Christian Couder

[PATCH 06/40] fsck: support referenced promisor objects

2018-01-03 Thread Christian Couder
From: Jonathan Tan Teach fsck to not treat missing promisor objects indirectly pointed to by refs as an error when extensions.partialclone is set. Signed-off-by: Jonathan Tan Signed-off-by: Junio C Hamano ---

[PATCH 03/40] external-odb: add has_external_odb()

2018-01-03 Thread Christian Couder
This function will be used to check if the external odb mechanism is actually used. Signed-off-by: Christian Couder --- external-odb.c | 7 +++ external-odb.h | 1 + 2 files changed, 8 insertions(+) diff --git a/external-odb.c b/external-odb.c index

[PATCH 15/40] external-odb: add script mode support

2018-01-03 Thread Christian Couder
This adds support for the script command mode where an helper script or command is called to retrieve or manage objects. This implements the 'have' and 'get_git_obj' instructions for the script mode. Signed-off-by: Christian Couder --- external-odb.c | 51

[PATCH 01/40] Add initial external odb support

2018-01-03 Thread Christian Couder
The external-odb.{c,h} files will contain the functions that are called by the rest of Git mostly from "sha1_file.c" to access the objects managed by the external odbs. The odb-helper.{c,h} files will contain the functions to actually implement communication with either the internal functions or

[PATCH 16/40] odb-helper: add 'enum odb_helper_type'

2018-01-03 Thread Christian Couder
As there will be different kinds of helpers, let's add an "enum odb_helper_type" to tell between the different kinds. Let's add a field with this type in "struct odb_helper", and set it when reading the config file. Signed-off-by: Christian Couder --- odb-helper.h | 9

[PATCH 07/40] fsck: support promisor objects as CLI argument

2018-01-03 Thread Christian Couder
From: Jonathan Tan Teach fsck to not treat missing promisor objects provided on the CLI as an error when extensions.partialclone is set. Signed-off-by: Jonathan Tan Signed-off-by: Junio C Hamano --- builtin/fsck.c

[PATCH 17/40] odb-helper: add odb_helper_init() to send 'init' instruction

2018-01-03 Thread Christian Couder
Let's add an odb_helper_init() function to send an 'init' instruction to the helpers. This 'init' instruction is especially useful to get the capabilities that are supported by the helpers. So while at it, let's also add a parse_capabilities() function to parse them and a supported_capabilities

[PATCH 14/40] sha1_file: prepare for external odbs

2018-01-03 Thread Christian Couder
In the following commits we will need some functions that were internal to sha1_file.c, so let's first make them non static and declare them in "cache.h". While at it, let's rename 'create_tmpfile()' to 'create_object_tmpfile()' to make its name less generic. Let's also split out

[PATCH 13/40] gc: do not repack promisor packfiles

2018-01-03 Thread Christian Couder
From: Jonathan Tan Teach gc to stop traversal at promisor objects, and to leave promisor packfiles alone. This has the effect of only repacking non-promisor packfiles, and preserves the distinction between promisor packfiles and non-promisor packfiles. Signed-off-by:

[PATCH 00/40] Promisor remotes and external ODB support

2018-01-03 Thread Christian Couder
This is an early patch series that start to merge the jh/fsck-promisors patch series (which is currently in pu) with the external odb patch series. The merge is not complete and there is still work needed, but all the tests pass and in my opinion this shows that it is a good way forward to share

[PATCH 39/40] external-odb: use 'odb=magic' attribute to mark odb blobs

2018-01-03 Thread Christian Couder
To tell which blobs should be sent to the "magic" external odb, let's require that the blobs be marked using the 'odb=magic' attribute. Signed-off-by: Christian Couder --- external-odb.c | 25 ++--- external-odb.h

[PATCH 20/40] external-odb: accept only blobs for now

2018-01-03 Thread Christian Couder
The mechanism to decide which blobs should be sent to which external object database will be very simple for now. If the external odb helper support any "put_*" instruction all the new blobs will be sent to it. Signed-off-by: Christian Couder --- external-odb.c | 4

[PATCH 22/40] Add t0410 to test external ODB transfer

2018-01-03 Thread Christian Couder
Signed-off-by: Christian Couder --- t/t0410-transfer-e-odb.sh | 144 ++ 1 file changed, 144 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.sh new

[PATCH 19/40] external odb: add 'put_raw_obj' support

2018-01-03 Thread Christian Couder
Add support for a 'put_raw_obj' capability/instruction to send new objects to an external odb. Objects will be sent as they are (in their 'raw' format). They will not be converted to Git objects. For now any new Git object (blob, tree, commit, ...) would be sent if 'put_raw_obj' is supported by

[PATCH 10/40] external-odb: implement external_odb_get_direct

2018-01-03 Thread Christian Couder
This is implemented only in the promisor remote mode for now by calling fetch_object(). Signed-off-by: Christian Couder --- external-odb.c | 15 +++ external-odb.h | 1 + odb-helper.c | 13 + odb-helper.h | 3 ++- 4 files changed, 31

[PATCH 36/40] Add t0470 to test passing raw objects

2018-01-03 Thread Christian Couder
Signed-off-by: Christian Couder --- t/t0470-read-object-http-e-odb.sh | 109 ++ t/t0470/read-object-plain | 83 + 2 files changed, 192 insertions(+) create mode 100755

[PATCH 40/40] Add Documentation/technical/external-odb.txt

2018-01-03 Thread Christian Couder
This describes the external odb mechanism's purpose and how it works. Helped-by: Ben Peart Signed-off-by: Christian Couder --- Documentation/technical/external-odb.txt | 342 +++ 1 file changed, 342 insertions(+)

[PATCH 38/40] Add t0480 to test "have" capability and raw objects

2018-01-03 Thread Christian Couder
Signed-off-by: Christian Couder --- t/t0480-read-object-have-http-e-odb.sh | 109 + t/t0480/read-object-plain-have | 103 +++ 2 files changed, 212 insertions(+) create mode 100755

[PATCH 37/40] odb-helper: add have_object_process()

2018-01-03 Thread Christian Couder
This adds the infrastructure to handle 'have' instructions in process mode. The answer from the helper sub-process should be like the output in script mode, that is lines like this: sha1 SPACE size SPACE type NEWLINE Signed-off-by: Christian Couder --- odb-helper.c |

[PATCH 35/40] odb-helper: add put_object_process()

2018-01-03 Thread Christian Couder
This adds the infrastructure to send objects to a sub-process handling the communication with an external odb. For now we only handle sending raw blobs using the 'put_raw_obj' instruction. Signed-off-by: Christian Couder --- odb-helper.c | 75

[PATCH 34/40] Add t0460 to test passing git objects

2018-01-03 Thread Christian Couder
Signed-off-by: Christian Couder --- t/t0460-read-object-git.sh | 28 + t/t0460/read-object-git| 78 ++ 2 files changed, 106 insertions(+) create mode 100755 t/t0460-read-object-git.sh create mode 100755

[PATCH 33/40] Add t0450 to test 'get_direct' mechanism

2018-01-03 Thread Christian Couder
From: Ben Peart Signed-off-by: Ben Peart Signed-off-by: Christian Couder --- t/t0450-read-object.sh | 28 + t/t0450/read-object| 68 ++ 2 files

[PATCH 26/40] lib-httpd: add apache-e-odb.conf

2018-01-03 Thread Christian Couder
This is an apache config file to test external object databases. It uses the upload.sh and list.sh cgi that have been added previously to make apache store external objects. Signed-off-by: Christian Couder --- t/lib-httpd/apache-e-odb.conf | 214

[PATCH 31/40] odb-helper: add 'script_mode' to 'struct odb_helper'

2018-01-03 Thread Christian Couder
to prepare for having a long running odb helper sub-process handling the communication between Git and an external odb. We introduce "odb..subprocesscommand" to make it possible to define such a sub-process, and we mark such odb helpers with the new 'script_mode' field set to 0. Helpers defined

[PATCH 23/40] lib-httpd: pass config file to start_httpd()

2018-01-03 Thread Christian Couder
This makes it possible to start an apache web server with different config files. This will be used in a later patch to pass a config file that makes apache store external objects. Signed-off-by: Christian Couder --- t/lib-httpd.sh | 6 -- 1 file changed, 4

[PATCH 09/40] introduce fetch-object: fetch one promisor object

2018-01-03 Thread Christian Couder
From: Jonathan Tan Introduce fetch-object, providing the ability to fetch one object from a promisor remote. This uses fetch-pack. To do this, the transport mechanism has been updated with 2 flags, "from-promisor" to indicate that the resulting pack comes from a

[PATCH 11/40] sha1_file: support lazily fetching missing objects

2018-01-03 Thread Christian Couder
From: Jonathan Tan Teach sha1_file to fetch objects from the remote configured in extensions.partialclone whenever an object is requested but missing. The fetching of objects can be suppressed through a global variable. This is used by fsck and index-pack. However, by

[PATCH 28/40] pack-objects: don't pack objects in external odbs

2018-01-03 Thread Christian Couder
Objects managed by an external ODB should not be put into pack files. They should be transfered using other mechanism that can be specific to the external odb. Signed-off-by: Christian Couder --- builtin/pack-objects.c | 4 1 file changed, 4 insertions(+) diff

[PATCH 30/40] external-odb: add 'get_direct' support

2018-01-03 Thread Christian Couder
This implements the 'get_direct' capability/instruction that makes it possible for external odb helper scripts to pass blobs to Git by directly writing them as loose objects files. It is better to call this a "direct" mode rather than a "fault-in" mode as we could have the same kind of mechanism

[PATCH 24/40] lib-httpd: add upload.sh

2018-01-03 Thread Christian Couder
This cgi will be used to upload objects to, or to delete objects from, an apache web server. This way the apache server can work as an external object database. Signed-off-by: Christian Couder --- t/lib-httpd.sh| 1 + t/lib-httpd/upload.sh | 45

[PATCH 25/40] lib-httpd: add list.sh

2018-01-03 Thread Christian Couder
This cgi script can list Git objects that have been uploaded as files to an apache web server. This script can also retrieve the content of each of these files. This will help make apache work as an external object database. Signed-off-by: Christian Couder ---

[PATCH 12/40] rev-list: support termination at promisor objects

2018-01-03 Thread Christian Couder
From: Jonathan Tan Teach rev-list to support termination of an object traversal at any object from a promisor remote (whether one that the local repo also has, or one that the local repo knows about because it has another promisor object that references it). This will

[PATCH 08/40] index-pack: refactor writing of .keep files

2018-01-03 Thread Christian Couder
From: Jonathan Tan In a subsequent commit, index-pack will be taught to write ".promisor" files which are similar to the ".keep" files it knows how to write. Refactor the writing of ".keep" files, so that the implementation of writing ".promisor" files becomes easier.

[PATCH 32/40] odb-helper: add init_object_process()

2018-01-03 Thread Christian Couder
This adds the infrastructure to launch and use long running sub-processes as external odb helpers. For now only the 'init' and 'get_direct' capabilities are supported with sub-processes. Signed-off-by: Christian Couder --- external-odb.c | 46 +++--- odb-helper.c |

[PATCH 29/40] Add t0420 to test transfer to HTTP external odb

2018-01-03 Thread Christian Couder
This tests that an apache web server can be used as an external object database and store files in their native format instead of converting them to a Git object. Signed-off-by: Christian Couder --- t/t0420-transfer-http-e-odb.sh | 142

[PATCH 18/40] t0400: add 'put_raw_obj' instruction to odb-helper script

2018-01-03 Thread Christian Couder
To properly test passing objects from Git to an external odb we need an odb-helper script that supports a 'put' capability/instruction. For now we will support only sending raw blobs, so the supported capability/instruction will be 'put_raw_obj'. While at it let's add a test to check that our

[PATCH 27/40] odb-helper: add odb_helper_get_raw_object()

2018-01-03 Thread Christian Couder
The existing odb_helper_get_object() is renamed odb_helper_get_git_object() and a new odb_helper_get_raw_object() is introduced to deal with external objects that are not in Git format. Signed-off-by: Christian Couder --- odb-helper.c | 113

[PATCH 21/40] t0400: add test for external odb write support

2018-01-03 Thread Christian Couder
Signed-off-by: Christian Couder --- 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 4ccca1e965..f924de870f 100755 --- a/t/t0400-external-odb.sh +++ b/t/t0400-external-odb.sh @@

Re: [PATCH] http: fix v1 protocol tests with apache httpd < 2.4

2018-01-03 Thread Todd Zullinger
Jeff King wrote: > On Tue, Jan 02, 2018 at 07:39:46PM -0500, Todd Zullinger wrote: >> I don't know if there's a clean way to do that >> automatically, short of parsing the output of 'httpd -v' >> should we ever need to add such a prereq. > > In the general case, we could probably define an

Misleading documentation for git-diff-files (diff-filter)

2018-01-03 Thread John Cheng
I originally asked this question on stackoverflow (https://stackoverflow.com/q/48039277). I wanted to know if git diff-files shows files that are not in the index but are in the working tree. The documentation says you can supply --diff-filter=A, which will select file "that are added". However,

Re: [PATCH v2 7/7] wildmatch test: create & test files on disk in addition to in-memory

2018-01-03 Thread Adam Dinwoodie
On Wednesday 03 January 2018 at 02:31 pm +0100, Ævar Arnfjörð Bjarmason wrote: > > On Wed, Jan 03 2018, Adam Dinwoodie jotted: > > > On Monday 25 December 2017 at 12:28 am +, Ævar Arnfjörð Bjarmason wrote: > >> There has never been any full roundtrip testing of what git-ls-files > >> and

  1   2   >