On 03/02, Junio C Hamano wrote:
> Brandon Williams <bmw...@google.com> writes:
>
> > diff --git a/builtin/fetch.c b/builtin/fetch.c
> > index 850382f55..695fafe06 100644
> > --- a/builtin/fetch.c
> > +++ b/builtin/fetch.c
> > @@ -332,11 +332,25 @@ stati
On 03/01, Junio C Hamano wrote:
> Brandon Williams <bmw...@google.com> writes:
>
> > Documentation/technical/protocol-v2.txt | 171
>
> Unlike other things in Documentation/technical/, this is not listed
> on TECH_DOCS list in Documentation/Makef
On 03/01, Junio C Hamano wrote:
> Brandon Williams <bmw...@google.com> writes:
>
> > +enum packet_read_status packet_reader_read(struct packet_reader *reader)
> > +{
> > + if (reader->line_peeked) {
> > + reader->line_peeked
On 03/02, Johannes Schindelin wrote:
> Hi Brandon,
>
> On Wed, 28 Feb 2018, Brandon Williams wrote:
>
> > diff --git a/remote-curl.c b/remote-curl.c
> > index 66a53f74b..3f882d766 100644
> > --- a/remote-curl.c
> > +++ b/remote-curl.c
> > @@ -188,7 +1
On 03/02, Jeff King wrote:
> On Fri, Feb 23, 2018 at 01:22:31PM -0800, Brandon Williams wrote:
>
> > On 02/22, Stefan Beller wrote:
> > > On Tue, Feb 6, 2018 at 5:12 PM, Brandon Williams <bmw...@google.com>
> > > wrote:
> > >
&g
On 03/02, Jeff King wrote:
> On Fri, Feb 23, 2018 at 01:45:57PM -0800, Brandon Williams wrote:
>
> > I think this is the price of extending the protocol in a backward
> > compatible way. If we don't want to be backwards compatible (allowing
> > for graceful fallback to
On 03/02, Jeff King wrote:
> On Wed, Feb 28, 2018 at 03:22:30PM -0800, Brandon Williams wrote:
>
> > +static void add_pattern(struct pattern_list *patterns, const char *pattern)
> > +{
> > + struct ref_pattern p;
> > + const char *wildcard;
> >
with last year, I'll try to send a written report to the list for
> those who aren't at the summit in person.
Thanks for kicking things off!
Since I've been working on protocol stuff I'd like to spend a bit of
time discussing protocol v2 :)
--
Brandon Williams
On 03/01, Junio C Hamano wrote:
> Junio C Hamano <gits...@pobox.com> writes:
>
> > Brandon Williams <bmw...@google.com> writes:
> >
> >> One of the design goals of protocol-v2 is to improve the semantics of
> >> flush packets. Curre
On 03/01, Junio C Hamano wrote:
> Brandon Williams <bmw...@google.com> writes:
>
> > Lots of changes since v3 (well more than between v2 and v3). Thanks for
> > all of the reviews on the last round, the series is getting more
> > polished.
> >
> &g
ee ' line
> is just part of the commit message, isn't it?
>
> ATB,
> Ramsay Jones
>
Actually it doesn't look like it. The commit msg doesn't start till
after an empty newline so that commit has an empty commit msg. Here's
one which you can see the msg when passed to sh
Construct a list of ref patterns to be passed to
'transport_get_remote_refs()' from the refspec to be used during the
fetch. This list of ref patterns will be used to allow the server to
filter the ref advertisement when communicating using protocol v2.
Signed-off-by: Brandon Williams <
A future patch will need to take advantage of the logic which runs and
processes the response of the connect command on a remote helper so
factor out this logic from 'process_connect_service()' and place it into
a helper function 'run_connect()'.
Signed-off-by: Brandon Williams <bmw...@google.
Instead of always sending the Git-Protocol header with the configured
version with every http request, explicitly send it when discovering
refs and then only send it on subsequent http requests if the server
understood the version requested.
Signed-off-by: Brandon Williams <bmw...@google.
) so that protocol v2 can be used using
the http transport.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
Documentation/gitremote-helpers.txt | 32 +
transport-helper.c | 11 ++
transport.c | 1 +
trans
' endpoint and fall back to
using v0, but when push v2 is rolled out to servers, the 'receive-pack'
endpoint will start responding using v2. So we don't want to get into a
state where a client is requesting to push with v2 before they actually
know how to push using v2.
Signed-off-by: Brandon
Add the 'packet_buf_write_len()' function which allows for writing an
arbitrary length buffer into a 'struct strbuf' and formatting it in
packet-line format.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
pkt-line.c | 16
pkt-line.h | 1 +
2 files chang
Store the protocol version the server responded with when performing
discovery. This will be used in a future patch to either change the
'Git-Protocol' header sent in subsequent requests or to determine if a
client needs to fallback to using a different protocol version.
Signed-off-by: Brandon
Add a way for callers to request that extra headers be included when
making http requests.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
http.c | 8
http.h | 7 +++
2 files changed, 15 insertions(+)
diff --git a/http.c b/http.c
index 597771271..e1757d62b
Introduce the 'fetch' server command.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
Documentation/technical/protocol-v2.txt | 128
serve.c | 2 +
t/t5701-git-serve.sh| 1 +
upload-
Convert 'transport_get_remote_refs()' to optionally take a list of ref
patterns.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
builtin/clone.c | 2 +-
builtin/fetch.c | 4 ++--
builtin/ls-remote.c | 2 +-
builtin/remote.c| 2 +-
transport.c
Construct an argv_array of the ref patterns supplied via the command
line and pass them to 'transport_get_remote_refs()' to be used when
communicating protocol v2 so that the server can limit the ref
advertisement based on the supplied patterns.
Signed-off-by: Brandon Williams <bmw...@google.
necessary but wasn't removed. Clean up 'recvline_fh()'
parameter list by removing the 'name' parameter.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
transport-helper.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/transport-helper.c b/transport-helper.c
in the next patch where we can have centralized
logic which determines if we need to request a different protocol
version than what the user has configured.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
connect.c | 27 +++
1 file changed, 15 insertions(+), 12 del
Enable shallow clones and deepen requests using protocol version 2 if
the server 'fetch' command supports the 'shallow' feature.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
connect.c| 22
connect.h| 2 ++
fetch-pack.
Make a copy of the service name being requested instead of relying on
the buffer pointed to by the passed in 'const char *' to remain
unchanged.
Currently, all service names are string constants, but a subsequent
patch will introduce service names from external sources.
Signed-off-by: Brandon
When communicating with a v2 server, perform a fetch by requesting the
'fetch' command.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
Documentation/technical/protocol-v2.txt | 68 +-
builtin/fetch-pack.c| 2 +-
fetch-pack.c
through to convert requests to http.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
remote-curl.c | 205 -
t/t5702-protocol-v2.sh | 45 +
2 files changed, 249 insertions(+), 1 deletion(-)
diff --git a/remote-curl.c b/remote-
When an http info/refs request is made, requesting that protocol v2 be
used, don't send a "# service" line since this line is not part of the
v2 spec.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
http-backend.c | 8 ++--
remote-curl.c | 3 +++
2 files changed, 9
' endpoint and fall back to
using v0, but when push v2 is rolled out to servers, the 'receive-pack'
endpoint will start responding using v2. So we don't want to get into a
state where a client is requesting to push with v2 before they actually
know how to push using v2.
Signed-off-by: Brandon
on the sent patterns.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
transport-helper.c | 5 +++--
transport-internal.h | 9 -
transport.c | 16 +---
3 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/transport-helper.c b/transport-helper.c
based on provided ref-patterns.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
Documentation/technical/protocol-v2.txt | 36 ++
Makefile| 1 +
ls-refs.c | 144
ls-
Construct a list of ref patterns to be passed to 'get_refs_list()' from
the refspec to be used during the push. This list of ref patterns will
be used to allow the server to filter the ref advertisement when
communicating using protocol v2.
Signed-off-by: Brandon Williams <bmw...@google.
Teach the client to be able to request a remote's refs using protocol
v2. This is done by having a client issue a 'ls-refs' request to a v2
server.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
builtin/upload-pack.c | 10 +--
connect.c
-by: Brandon Williams <bmw...@google.com>
---
builtin/fetch-pack.c | 16 +++-
builtin/send-pack.c | 17 +++--
connect.c| 27 ++-
connect.h| 3 +++
remote-curl.c| 20 ++--
remote.h
. At the completion of a command, a client can request that
another command be executed or can terminate the connection by sending a
flush packet.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
.gitignore | 1 +
Documentation/technical/protocol-v2.txt
Introduce protocol_v2, a new value for 'enum protocol_version'.
Subsequent patches will fill in the implementation of protocol_v2.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
builtin/fetch-pack.c | 2 ++
builtin/receive-pack.c | 6 ++
builtin/send-pack.c| 3 +++
b
Introduce a packet-line test helper which can either pack or unpack an
input stream into packet-lines and writes out the result to stdout.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
Makefile | 1 +
t/helper/test-pkt-line.
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 <bmw...@google.com>
---
transport.c | 18 --
1 file changed, 4 insertions(
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 logic when implementing protocol_v2.
Signed-off-by: Brandon Williams <bmw...@google.
to indicate the end of a response.
Documentation for how this packet will be used in protocol v2 will
included in a future patch.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
pkt-line.c | 17 +
pkt-line.h | 3 +++
2 files changed, 20 insertions(+)
diff --git a/pkt-li
a caller to be able to peek a single line at a time
using 'packet_reader_peek()' and having a caller consume a line by
calling 'packet_reader_read()'.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
pkt-line.c | 59 ++
pkt-line.
-by: Brandon Williams <bmw...@google.com>
---
transport.c | 35 ++-
1 file changed, 26 insertions(+), 9 deletions(-)
diff --git a/transport.c b/transport.c
index 63c3dbab9..2378dcb38 100644
--- a/transport.c
+++ b/transport.c
@@ -118,6 +118,7 @@ struct git_transpor
between special and normal
packets as well as errors. It also enables easily adding a new special
packet in the future.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
pkt-line.c | 55 --
pkt-line.h | 16
2 files c
the first ref sent in the protocol_v0 case so that the
protocol version the server is speaking can be determined outside of
'get_remote_heads()' in a future patch.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
connect.c | 173 ++
In order to allow for code sharing with the server-side of fetch in
protocol-v2 convert upload-pack to be a builtin.
Signed-off-by: Brandon Williams <bmw...@google.com>
---
Makefile | 3 +-
builtin.h | 1 +
builtin/upload-pack.c
jects from configured alternates.
Brandon Williams (35):
pkt-line: introduce packet_read_with_status
pkt-line: allow peeking a packet line without consuming it
pkt-line: add delim packet support
upload-pack: convert to a builtin
upload-pack: factor out processing lines
transport: use get_refs_v
On 02/27, Jonathan Nieder wrote:
> Hi,
>
> Brandon Williams wrote:
>
> > Teach remote-curl the 'stateless-connect' command which is used to
> > establish a stateless connection with servers which support protocol
> > version 2. This allows remote-curl to ac
On 02/27, Jonathan Nieder wrote:
> Brandon Williams wrote:
>
> > Introduce the transport-helper capability 'stateless-connect'. This
> > capability indicates that the transport-helper can be requested to run
> > the 'stateless-connect' command which should attempt
nv(altdb) back to setup_git_env()
> repository: delete ignore_env member
>
> cache.h| 2 +-
> environment.c | 31 +--
> object-store.h | 5 ++-
> object.c | 1 +
> repository.c | 84 --
> repository.h | 21 +++--
> setup.c| 3 +-
> sha1_file.c| 6 +---
> 8 files changed, 87 insertions(+), 66 deletions(-)
>
> --
> 2.16.1.399.g632f88eed1
>
--
Brandon Williams
On 02/28, Duy Nguyen wrote:
> On Wed, Feb 28, 2018 at 8:02 AM, Brandon Williams <bmw...@google.com> wrote:
> > On 02/27, Jonathan Nieder wrote:
> >> If I share my .gitconfig or .git/config file between multiple machines
> >> (or between multiple Git vers
On 02/27, Jonathan Nieder wrote:
> Brandon Williams wrote:
>
> > Add the 'packet_buf_write_len()' function which allows for writing an
> > arbitrary length buffer into a 'struct strbuf' and formatting it in
> > packet-line format.
>
> Makes sense.
>
> [...
rnally for a while,
> since we have been changing the protocol.version number to a new value
> like 20180226 each time a minor tweak to the protocolv2 RFC occured.
>
> The bit I have doubts about is whether to warn. What do you think?
Patch looks good to me. And I don't have a strong preference either way
for whether to warn or not.
--
Brandon Williams
it more
difficult time getting rid of it :)
Thanks!
>
> /* Indicate if a repository has a different 'commondir' from 'gitdir' */
> unsigned different_commondir:1;
> --
> 2.16.1.435.g8f24da2e1a
>
--
Brandon Williams
{
> - const char *alt;
> -
> if (r->objects.alt_odb_tail)
> return;
>
> - alt = getenv(ALTERNATE_DB_ENVIRONMENT);
> -
> r->objects.alt_odb_tail = >objects.alt_odb_list;
> - link_alt_odb_entries(r, alt, PATH_SEP, NULL, 0);
> + link_alt_odb_entries(r, r->objects.alternate_db, PATH_SEP, NULL, 0);
>
> read_info_alternates(r, r->objects.objectdir, 0);
> }
> --
> 2.16.1.435.g8f24da2e1a
>
--
Brandon Williams
const struct set_gitdir_args *optional);
> extern void repo_set_worktree(struct repository *repo, const char *path);
> extern void repo_set_hash_algo(struct repository *repo, int algo);
> extern int repo_init(struct repository *repo, const char *gitdir, const char
> *worktree);
> diff --git a/setup.c b/setup.c
> index c5d55dcee4..6fac1bb58a 100644
> --- a/setup.c
> +++ b/setup.c
> @@ -1116,8 +1116,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
> const char *gitdir = getenv(GIT_DIR_ENVIRONMENT);
> if (!gitdir)
> gitdir = DEFAULT_GIT_DIR_ENVIRONMENT;
> - repo_set_gitdir(the_repository, gitdir);
> - setup_git_env();
> + setup_git_env(gitdir);
> }
> if (startup_info->have_repository)
> repo_set_hash_algo(the_repository, repo_fmt.hash_algo);
> --
> 2.16.1.435.g8f24da2e1a
>
--
Brandon Williams
m_env(INDEX_ENVIRONMENT, repo->gitdir,
> - "index", !repo->ignore_env);
> -}
> -
> static void expand_base_dir(char **out, const char *in,
> const char *base_dir, const char *def_in)
> {
> --
> 2.16.1.435.g8f24da2e1a
>
--
Brandon Williams
On 02/27, Jonathan Nieder wrote:
> Brandon Williams wrote:
> > On 02/26, Jonathan Nieder wrote:
> >> Brandon Williams wrote:
>
> >>> +++ b/transport.c
> >>> @@ -230,12 +230,8 @@ static int fetch_refs_via_pack(struct transport
> >>&
*sought, int nr_sought,
> > + char **pack_lockfile)
> > +{
> > + struct ref *ref = copy_ref_list(orig_ref);
> > + enum fetch_state state = FETCH_CHECK_LOCAL;
> > + struct oidset common = OIDSET_INIT;
> > + struct packet_reader reader;
> > + int in_vain = 0;
> > + packet_reader_init(, fd[0], NULL, 0,
> > + PACKET_READ_CHOMP_NEWLINE);
> > +
> > + while (state != FETCH_DONE) {
> > + switch (state) {
> > + case FETCH_CHECK_LOCAL:
> > + sort_ref_list(, ref_compare_name);
> > + QSORT(sought, nr_sought, cmp_ref_by_name);
> > +
> > + /* v2 supports these by default */
>
> Is there a doc that says what is all on by default?
Yeah protocol-v2.txt should say all of that.
>
> Thanks,
> Stefan
--
Brandon Williams
On 02/26, Jonathan Nieder wrote:
> Brandon Williams wrote:
> > static char *server_capabilities;
> > +static struct argv_array server_capabilities_v2 = ARGV_ARRAY_INIT;
>
> Can a quick doc comment describe these and how they relate?
>
> Is only one of them set, base
struct oid_array haves;
> >
> > + struct object_array shallows;
> > + struct string_list deepen_not;
> > + int depth;
> > + timestamp_t deepen_since;
> > + int deepen_rev_list;
> > + int deepen_relative;
>
> Nice.
>
> Comments describing deepen_Rev_list and deepen_relative would be nice.
>
> Are those boolean? Can they be unsigned:1 to make that
> self-explanatory?
They are boolean but are passed via reference at some points so they
can't be bit flags.
>
> [...]
> > @@ -1080,12 +1101,14 @@ struct upload_pack_data {
> > unsigned done : 1;
> > };
> >
> > -#define UPLOAD_PACK_DATA_INIT { OBJECT_ARRAY_INIT, OID_ARRAY_INIT, 0, 0,
> > 0, 0, 0, 0 }
> > +#define UPLOAD_PACK_DATA_INIT { OBJECT_ARRAY_INIT, OID_ARRAY_INIT,
> > OBJECT_ARRAY_INIT, STRING_LIST_INIT_DUP, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
>
> Long line, "make style" should be able to fix it.
>
I'll fix this.
--
Brandon Williams
On 02/26, Jonathan Nieder wrote:
> Hi,
>
> Brandon Williams wrote:
>
> > Introduce protocol_v2, a new value for 'enum protocol_version'.
> > Subsequent patches will fill in the implementation of protocol_v2.
> >
> > Signed-off-by: Brandon Williams
On 02/27, Jonathan Tan wrote:
> On Fri, 23 Feb 2018 13:33:15 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > On 02/21, Jonathan Tan wrote:
> > > As someone who is implementing the server side of protocol V2 in JGit, I
> > > now have a bit more i
On 02/26, Jonathan Nieder wrote:
> 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:
e
interface as similar as possible to make it easy to convert to using it
as well as having no need to clean anything up (because the struct is
really just a wrapper and doesn't own anything).
--
Brandon Williams
ix matching, or maybe
> we'll never need it. :)
>
> Sincerely,
> Jonathan
>
> [1]
> https://public-inbox.org/git/CAJo=hjszcam9sipdvr7tmd-fd2v2w6_pvmq791egcdsdkq0...@mail.gmail.com/#t
--
Brandon Williams
On 02/23, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:12:58 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > + while ((oid = get_rev())) {
> > + packet_buf_write(req_buf, "have %s\n", oid_to_hex(oid));
> > +
e_init(the_repository);
> > + the_repository->index = _index;
> > + repo_set_hash_algo(the_repository, GIT_HASH_SHA1);
> > +}
>
> I see what you did here, and I like it.
I thought this would be a good idea to do eventually but back when I
first introduced struct repository there wasn't enough to justify it
till now. This definitely makes it much easier to read the
initialization and I prefer this over the initializer. Thanks for
working on this :)
--
Brandon Williams
On 02/22, Brandon Williams wrote:
> On 02/22, Jeff King wrote:
> > On Tue, Feb 06, 2018 at 05:12:50PM -0800, Brandon Williams wrote:
> >
> > > +ls-refs takes in the following parameters wrapped in packet-lines:
> > > +
> > > +symrefs
> > &
itory, assuming SHA-1 hash"));
> > + repo_set_hash_algo(the_repository, GIT_HASH_SHA1);
> > + }
>
> Again, same concern. I can imagine scripts that will blow up loudly if
> git diff --no-index spews things to standard error.
>
> I'm not opposed to making this more visible, but I wonder if maybe it
> should only be visible to developers or such. The only way I can think
> of doing is that is with an advice options, but maybe there's a better
> way.
> --
> brian m. carlson / brian with sandals: Houston, Texas, US
> https://www.crustytoothpaste.net/~bmc | My opinion only
> OpenPGP: https://keybase.io/bk2204
--
Brandon Williams
On 02/23, Stefan Beller wrote:
> On Wed, Feb 21, 2018 at 4:51 PM, Brandon Williams <bmw...@google.com> wrote:
> > On 02/20, Stefan Beller wrote:
> >> Add a repository argument to allow sha1_file_name callers to be more
> >> specific about which repository to h
On 02/23, Stefan Beller wrote:
> On Fri, Feb 23, 2018 at 1:30 PM, Brandon Williams <bmw...@google.com> wrote:
> > On 02/22, Stefan Beller wrote:
> >> > +static enum protocol_version discover_version(struct packet_reader
> >> > *reader)
> >> > +
On 02/22, Jeff King wrote:
> On Tue, Feb 06, 2018 at 05:12:49PM -0800, Brandon Williams wrote:
>
> > +In protocol v2 communication is command oriented. When first contacting a
> > +server a list of capabilities will advertised. Some of these capabilities
> > +will be com
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:12:49 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > .gitignore | 1 +
> > Documentation/technical/protocol-v2.txt | 114 +++
> > Makefile
ie (_("The server uses a different protocol version than we can
> speak: %s\n"),
> reader->line);
> so I would think here it is reasonable to add _(translation).
This should be a BUG as it shouldn't ever be unknown at this point. And
I'll also drop that comment.
--
Brandon Williams
On 02/22, Stefan Beller wrote:
> On Tue, Feb 6, 2018 at 5:12 PM, Brandon Williams <bmw...@google.com> wrote:
>
> > +static void pack_line(const char *line)
> > +{
> > + if (!strcmp(line, "") || !strcmp(line, "\n"))
>
> Fro
e that line. I mean you could
do some complicated advertising of commands based on the endpoint you
hit, but then what does that mean if you're hitting the git-serve
endpoint where you should presumably be able to do any operation.
--
Brandon Williams
On 02/23, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:13:00 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > @@ -1090,6 +1110,10 @@ static int send_fetch_request(int fd_out, const
> > struct fetch_pack_args *args,
> > if (prefer_ofs_delta)
>
On 02/22, Jeff King wrote:
> On Tue, Feb 06, 2018 at 05:12:50PM -0800, Brandon Williams wrote:
>
> > +ls-refs takes in the following parameters wrapped in packet-lines:
> > +
> > +symrefs
> > + In addition to the object pointed by it, show the underlying
On 02/22, Jonathan Tan wrote:
> On Thu, 22 Feb 2018 10:26:47 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > On 02/21, Jonathan Tan wrote:
> > > On Tue, 6 Feb 2018 17:12:53 -0800
> > > Brandon Williams <bmw...@google.co
On 02/22, Stefan Beller wrote:
> On Tue, Feb 6, 2018 at 5:12 PM, Brandon Williams <bmw...@google.com> wrote:
> > Factor out the logic for processing shallow, deepen, deepen_since, and
> > deepen_not lines into their own functions to simplify the
> > 'receive_needs()' fun
On 02/22, Stefan Beller wrote:
> On Tue, Feb 6, 2018 at 5:12 PM, Brandon Williams <bmw...@google.com> wrote:
> > One of the design goals of protocol-v2 is to improve the semantics of
> > flush packets. Currently in protocol-v1, flush packets are used both to
> >
On 02/22, Brandon Williams wrote:
> On 02/21, Jonathan Tan wrote:
> > On Tue, 6 Feb 2018 17:13:12 -0800
> > Brandon Williams <bmw...@google.com> wrote:
> >
> > > +test_expect_success 'push with http:// and a config of v2 does not
> > > request v2' '
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:13:12 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > +test_expect_success 'push with http:// and a config of v2 does not request
> > v2' '
> > + # Till v2 for push is designe
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:13:09 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > @@ -172,6 +172,8 @@ struct http_get_options {
> > * for details.
> > */
> > struct strbuf *base_url;
> > +
> > +
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:13:07 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > Make a copy of the service name being requested instead of relying on
> > the buffer pointed to by the passed in 'const char *' to remain
> &g
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:12:57 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > +want
> > + Indicates to the server an object which the client wants to
> > + retrieve.
>
> Mention that the client can
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:13:05 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > Introduce the transport-helper capability 'stateless-connect'. This
> > capability indicates that the transport-helper can be requested to run
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:12:53 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > -const struct ref *transport_get_remote_refs(struct transport *transport)
> > +const struct ref *transport_get_remote_refs(
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:12:52 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > @@ -21,7 +22,8 @@ struct transport_vtable {
> > * the ref without a huge amount of effort, it should store it
> > * in the ref's ol
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:12:51 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > +extern struct ref **get_remote_refs(int fd_out, struct packet_reader
> > *reader,
> > +
On 02/21, Jonathan Tan wrote:
> On Tue, 6 Feb 2018 17:12:45 -0800
> Brandon Williams <bmw...@google.com> wrote:
>
> > - get_remote_heads(fd[0], NULL, 0, , 0, NULL, );
> > +
> > + packet_reader_init(, fd[0], NULL, 0,
> > +
On 02/22, Jeff King wrote:
> On Wed, Feb 21, 2018 at 01:44:22PM -0800, Jonathan Tan wrote:
>
> > On Tue, 6 Feb 2018 17:12:41 -0800
> > Brandon Williams <bmw...@google.com> wrote:
> >
> > > In order to allow for code sharing with the server-side of fetch i
ush-packet.
>
> I took a traipse through the code and couldn’t determine it one way or
> another, but my money is on that looking something like `000aversion 1\n` on
> the wire.
Yes the version string goes along with the ref_list in v1 like so:
# service=
0000
version 1
ref_list
This is because it is part of the payload which is actually delivered to
the git fetch/push binary where as the "# service" bit is used by the
remote helper to identify smart vs not smart servers.
>
> --
> Dorian Taylor
> Make things. Make sense.
> https://doriantaylor.com
>
--
Brandon Williams
ugh shape?
Yeah the fixup patch looks good to me. I don't think there was anything
else that needed attention so it should be in good shape with the fixup
patch.
--
Brandon Williams
or
something like that at some point as that seems like a better place for
the function than in the object-store.h file?
--
Brandon Williams
tes(struct repository *r,
> + const char *relative_base,
> + int depth)
> {
> char *path;
> struct strbuf buf = STRBUF_INIT;
> @@ -516,7 +512,7 @@ static void read_info_alternates_the_repository(const
> char *relative_base,
> return;
> }
>
> - link_alt_odb_entries(the_repository, buf.buf, '\n', relative_base,
> depth);
> + link_alt_odb_entries(r, buf.buf, '\n', relative_base, depth);
> strbuf_release();
> free(path);
> }
> --
> 2.16.1.291.g4437f3f132-goog
>
--
Brandon Williams
packed_git(void)
> {
> - approximate_object_count_valid = 0;
> + the_repository->objects.approximate_object_count_valid = 0;
> the_repository->objects.packed_git_initialized = 0;
> prepare_packed_git();
> }
> --
> 2.16.1.291.g4437f3f132-goog
>
--
Brandon Williams
> @@ -63,7 +63,7 @@ extern void close_pack_index(struct packed_git *);
>
> extern unsigned char *use_pack(struct packed_git *, struct pack_window **,
> off_t, unsigned long *);
> extern void close_pack_windows(struct packed_git *);
> -extern void close_all_packs(void);
> +extern void close_all_packs(struct raw_object_store *o);
> extern void unuse_pack(struct pack_window **);
> extern void clear_delta_base_cache(void);
> extern struct packed_git *add_packed_git(const char *path, size_t path_len,
> int local);
> --
> 2.16.1.291.g4437f3f132-goog
>
--
Brandon Williams
db_list);
> + o->alt_odb_list = o->alt_odb_list->next;
> + }
> +}
> +
> void raw_object_store_clear(struct raw_object_store *o)
> {
> free(o->objectdir);
> +
> + free_alt_odbs(o);
> + o->alt_odb_tail = NULL;
> }
> --
> 2.16.1.291.g4437f3f132-goog
>
--
Brandon Williams
401 - 500 of 2388 matches
Mail list logo