Teach the patience diff to support prohibiting a user-specified line
from appearing as a deletion or addition in the end result.
Signed-off-by: Jonathan Tan <jonathanta...@google.com>
---
I'm sending this out to see if a change similar to this would be
welcome. It is useful to me as a re
On Tue, 21 Nov 2017 20:58:46 +
Jeff Hostetler wrote:
> From: Jeff Hostetler
>
> Here is V5 of the list-object filtering, rev-list, and pack-objects.
>
> This version addresses comments on the V4 series. I removed the
> questionable
On Thu, 16 Nov 2017 18:07:42 +
Jeff Hostetler wrote:
> From: Jeff Hostetler
>
> Teach rev-list to use the filtering provided by the
> traverse_commit_list_filtered() interface to omit
> unwanted objects from the result. This feature is
>
On Thu, 16 Nov 2017 18:07:41 +
Jeff Hostetler wrote:
> +/*
> + * Return 1 if the given string needs armoring because of "special"
> + * characters that may cause injection problems when a command passes
> + * the argument to a subordinate command (such as when
I patched both this series and the first 9 patches of mine [1] on part 1
of the entire partial clone implementation [2], and then
diffed them. I'll review just the differences between the two.
You can see the entire diff below (minus means in my patch set but not
in Jeff's, plus means the
On Mon, 13 Nov 2017 12:15:58 -0800
Elijah Newren wrote:
> The possibility of setting merge.renameLimit beyond 2^16 raises the
> possibility that the values passed to progress can exceed 2^32.
> Use uint64_t, because it "ought to be enough for anybody". :-)
>
> Signed-off-by:
On Mon, 13 Nov 2017 12:15:58 -0800
Elijah Newren wrote:
> -static int display(struct progress *progress, unsigned n, const char *done)
> +static int display(struct progress *progress, uint64_t n, const char *done)
> {
> const char *eol, *tp;
>
> @@ -106,7 +106,7 @@
On Fri, 3 Nov 2017 09:57:18 -0400
Jeff Hostetler <g...@jeffhostetler.com> wrote:
> On 11/2/2017 6:24 PM, Jonathan Tan wrote:
> > On Thu, 2 Nov 2017 20:20:44 +
> > Jeff Hostetler <g...@jeffhostetler.com> wrote:
> >
> >> From: Jeff Hostetler &l
On Mon, 6 Nov 2017 12:32:45 -0500
Jeff Hostetler wrote:
> >> Yes, that is a point I wanted to ask about. I renamed the
> >> extensions.partialclone that you created and then I moved your
> >> remote..blob-max-bytes setting to be in extensions too.
> >> Moving it to
On Mon, 6 Nov 2017 12:51:52 -0500
Jeff Hostetler wrote:
> Jonathan and I were talking off-list about the performance
> effects of inspecting the pathnames to identify the ".git*"
> special files. I added it in my first draft back in the spring,
> thinking that even if you
test_submodule_forced_switch() do not correctly handle the situation in
which a submodule is replaced with an ordinary directory.
Signed-off-by: Jonathan Tan <jonathanta...@google.com>
---
I find tests that use lib-submodule-update.sh difficult to understand
due to the lack of clarity o
On Thu, 2 Nov 2017 17:50:11 +
Jeff Hostetler wrote:
> +int parse_list_objects_filter(struct list_objects_filter_options
> *filter_options,
> + const char *arg)
Returning void is fine, I think. It seems that all your code paths
either
On Thu, 2 Nov 2017 17:50:07 +
Jeff Hostetler wrote:
> From: Jeff Hostetler
>
> Here is V2 of the list-object filtering. It replaces [1]
> and reflect a refactoring and simplification of the original.
Thanks, overall this looks quite good. I
On Thu, 2 Nov 2017 20:31:15 +
Jeff Hostetler wrote:
> From: Jeff Hostetler
>
> This is part 3 of 3 for partial clone.
> It assumes that part 1 [1] and part 2 [2] are in place.
>
> Part 3 is concerned with the commands: clone, fetch,
On Thu, 2 Nov 2017 20:20:44 +
Jeff Hostetler wrote:
> From: Jeff Hostetler
>
> Introduce the ability to have missing objects in a repo. This
> functionality is guarded by new repository extension options:
>
On Tue, 7 Nov 2017 19:35:46 +
Jeff Hostetler wrote:
> +--filter-ignore-missing:
> + Ignore missing objects without error. This may be used with
> + or without and of the above filtering.
There is a discussion about this parameter (and the corresponding ones
On Tue, 7 Nov 2017 19:35:44 +
Jeff Hostetler wrote:
> +/*
> + * Reject the arg if it contains any characters that might
> + * require quoting or escaping when handing to a sub-command.
> + */
> +static int reject_injection_chars(const char *arg)
> +{
[snip]
> +}
On Fri, 3 Nov 2017 14:34:39 -0400
Jeff Hostetler wrote:
> > Assuming we eventually get promisor support working, would there be
> > any use case where "any missing is OK" mode would be useful in a
> > sense more reasonable than "because we could have such a mode" and
> >
On Wed, 8 Nov 2017 15:32:21 -0500
Jeff Hostetler wrote:
> Thanks Jonathan.
>
> I moved my version of part 2 on top of yesterday's part 1.
> There are a few changes between my version and yours. Could
> you take a quick look at them and see if they make sense?
> (I'll
On Wed, 8 Nov 2017 11:55:05 -0800
Stefan Beller wrote:
> $ git -c status.superprojectinfo status
> HEAD detached at v2.15-rc2
> superproject is 6 commits behind HEAD 7070ce2..5e6d0fb
> nothing to commit, working tree clean
>
> How cool is that?
>
> This series side
On Wed, 8 Nov 2017 16:10:07 -0800
Stefan Beller wrote:
I thought of a possible alternative and how it would work.
> Possible data models and workflow implications
> ==
> In the following different data models are presented, which
On Wed, 01 Nov 2017 10:21:20 +0900
Junio C Hamano wrote:
> Jeff Hostetler writes:
>
> >> Yes, that, together with the expectation that I will hear from both you
> >> and JTan
> >> once the result of combined effort becomes ready to replace
On Thu, 2 Nov 2017 20:31:17 +
Jeff Hostetler wrote:
> From: Jeff Hostetler
>
> Signed-off-by: Jeff Hostetler
> ---
> builtin/clone.c | 9 +
> builtin/fetch-pack.c | 4
> builtin/index-pack.c | 10
I did some of my own investigation and have a working (i.e. passing
tests) version of this patch here:
https://github.com/jonathantanmy/git/commits/pc20171103
If you want, you can use that, or incorporate the changes therein here.
I'll also remark on my findings inline.
On Thu, 2 Nov 2017
test_submodule_forced_switch() do not correctly handle the situation in
which a submodule is replaced with an ordinary directory.
Signed-off-by: Jonathan Tan <jonathanta...@google.com>
---
Thanks for the review.
Change from v1:
- changed commit message title
- moved a test to the common functi
Improve the names of the identifiers in decorate.h, document them, and
add an example of how to use these functions.
The example is compiled and run as part of the test suite.
Signed-off-by: Jonathan Tan <jonathanta...@google.com>
---
This patch contains some example code in a test
er effect than merely suppressing "have" lines. This
setting is described in patch 7 ("introduce fetch-object: fetch one
promisor object").
> Part 2 is concerned with fsck, gc, initial support for dynamic
> object fetching, and tracking promisor objects. Jonathan Tan
> or
On Thu, 7 Dec 2017 11:18:52 -0800
Brandon Williams wrote:
> Instead of requiring that every test first removes 'repo', maybe you
> want to have each test do its own cleanup by adding in
> 'test_when_finished' lines to do the removals? Just a thought.
If "test_when_finished"
On Fri, 8 Dec 2017 04:55:11 -0500
Jeff King wrote:
> I have mixed feelings. On the one hand, compiling and running the code
> ensures that those things actually work. On the other hand, I expect you
> can make a much clearer example if instead of having running code, you
> show
On Fri, 8 Dec 2017 14:30:10 -0800
Brandon Williams wrote:
> I just finished reading through parts 1-3. Overall I like the series.
> There are a few point's that I'm not a big fan of but i wasn't able to
> come up with a better alternative. One of these being the need for a
>
also describes what happens when the submodule attempts to write to
any "refs/..." ref.
For those interested, here's what such an implementation might look
like, and a test to demonstrate such functionality. I have partial
read-only functionality - a lot of it still remains to be done.
[1]
h
Signed-off-by: Jonathan Tan <jonathanta...@google.com>
---
submodule.c | 76 +
submodule.h | 3 +++
2 files changed, 49 insertions(+), 30 deletions(-)
diff --git a/submodule.c b/submodule.c
index bb531e0e5..ce511180e
Note that a few major parts are still missing:
- special handling of the current branch of the superproject
- writing (whether "refs/..." to the superproject as an index change or
a commit, or non-"refs/..." directly to the subproject like usual)
Signed-off-by: Jona
On Tue, Oct 24, 2017 at 11:53 AM, Jeff Hostetler wrote:
> +enum list_objects_filter_result {
> + LOFR_ZERO = 0,
> + LOFR_MARK_SEEN = 1<<0,
Probably worth documenting, something like /* Mark this object so that
it is skipped for the rest of the traversal.
On Tue, Oct 24, 2017 at 11:53 AM, Jeff Hostetler wrote:
> + * ::= blob:none
> + * blob:limit:[kmg]
> + * sparse:oid:
> + * sparse:path:
I notice in the code below that there are some usages of "=" instead
of ":" - could you clarify which one
On Tue, Oct 24, 2017 at 11:53 AM, Jeff Hostetler wrote:
> +void traverse_commit_list_filtered(
> + struct list_objects_filter_options *filter_options,
> + struct rev_info *revs,
> + show_commit_fn show_commit,
> + show_object_fn show_object,
> +
On Tue, Oct 24, 2017 at 11:53 AM, Jeff Hostetler <g...@jeffhostetler.com> wrote:
> From: Jeff Hostetler <jeffh...@microsoft.com>
>
> I've been working with Jonathan Tan to combine our partial clone
> proposals. This patch series represents a first step in that effort
&g
On Tue, Oct 24, 2017 at 11:53 AM, Jeff Hostetler wrote:
> static void finish_object(struct object *obj, const char *name, void
> *cb_data)
> {
> struct rev_list_info *info = cb_data;
> - if (obj->type == OBJ_BLOB && !has_object_file(>oid))
> + if
On Tue, Oct 24, 2017 at 10:00 PM, Junio C Hamano wrote:
> OK, thanks for working well together. So does this (1) build on
> Jonathan's fsck-squelching series, or (2) ignores that and builds
> filtering first, potentially leaving the codebase to a broken state
> where it can
On Fri, 04 May 2018 11:24:39 +0900
Junio C Hamano wrote:
> Hmm, when somebody breaks "git server serve", we probably would not
> want to see the binary spewed to the output while debugging it. So
> I'd probably keep the redirection---it may be an improvement to use
> ">out"
On Thu, 3 May 2018 11:12:27 -0700
Stefan Beller wrote:
> >> There are three different possible solutions that have more value:
> >> (a) The path value is documented as the path from the toplevel of the
> >> superproject to the mount point of the submodule. If 'the' refers
On Tue, 8 May 2018 12:37:36 -0700
Stefan Beller wrote:
> +void clear_alloc_state(struct alloc_state *s)
> +{
> + while (s->slab_nr > 0) {
> + s->slab_nr--;
> + free(s->slabs[s->slab_nr]);
> + }
I should have caught this earlier, but you need
On Tue, 8 May 2018 17:29:48 -0700
Stefan Beller wrote:
> v2:
> * rebased onto origin/master
> * dropped leftover "toplevel" variable from experimentation
> * reworded the commit message for the first patch extensively
> * dropped the third patch
> * see "branch-diff" below.
On Wed, 9 May 2018 17:40:11 -0700
Stefan Beller wrote:
> if (obj->type == OBJ_TREE)
> - release_tree_node((struct tree*)obj);
> + free_tree_buffer((struct tree*)obj);
> else if (obj->type == OBJ_COMMIT)
> -
On Thu, 10 May 2018 10:32:09 -0700
Stefan Beller wrote:
> > - I would call them release_commit() and release_tag(), to match
> >strbuf_release().
>
> Why not commit_release and tag_release to also have the same order
> of words as in strbuf_release ?
At this point in
On Mon, 7 May 2018 15:59:04 -0700
Stefan Beller wrote:
> /*
> - * Holds any information related to accessing the raw object content.
> + * Holds any information needed to retrieve the raw content
> + * of objects. The object_parser uses this to get
On Mon, 7 May 2018 15:59:16 -0700
Stefan Beller wrote:
> + for (i = 0; i < o->obj_hash_size; i++) {
> + struct object *obj = o->obj_hash[i];
> +
> + if (!obj)
> + continue;
> +
> + if (obj->type == OBJ_TREE) {
> +
e corresponding remote-tracking
tips.
This can be done simultaneously with the approach in this patch, but if
we were to evaluate only one first, the
ancestor-or-descendant-of-remote-tracking-tip approach might be the
better one to do first.
Signed-off-by: Jonathan Tan <jonathanta
te submodule
changes only)", 2017-06-23), which also introduced this feature.
This is because cmd_pull() in builtin/pull.c thus invokes
submodule_touches_in_range() with a null OID as the first parameter.
Ensure that this case works, and document what happens in this case.
Signed-of
On Thu, 24 May 2018 16:07:49 -0700
Stefan Beller <sbel...@google.com> wrote:
> Hi Jonathan,
>
> On Thu, May 24, 2018 at 1:47 PM, Jonathan Tan <jonathanta...@google.com>
> wrote:
> > If "git pull --recurse-submodules --rebase" is invoked when the current
On Thu, 17 May 2018 12:46:45 -0700
Stefan Beller wrote:
> Stefan Beller (8):
> xdiff/xdiff.h: remove unused flags
> xdiff/xdiffi.c: remove unneeded function declarations
> diff.c: do not pass diff options as keydata to hashmap
> diff.c: adjust hash function signature
On Mon, 21 May 2018 15:57:18 -0700
Stefan Beller wrote:
> In an ideal world, the server and client would both estimate the potential
> reduction of the packfile to send, and base the decision if to continue
> negotiating on the trade off if the packfile reduction savings are
reduced.
Jonathan Tan (2):
pack-bitmap: remove bitmap_git global variable
pack-bitmap: add free function
builtin/pack-objects.c | 7 +-
builtin/rev-list.c | 13 +-
pack-bitmap-write.c| 10 +-
pack-bitmap.c | 344 -
pack-bitmap.h
if an unnecessarily long-lived "pack" field in struct
bitmap_index still points to it.
The bitmap API is also clearer in that we need to first obtain a struct
bitmap_index, then we use it.
Helped-by: Stefan Beller
Signed-off-by: Jonathan Tan
---
builtin/pack-objects.c | 6 +-
builtin/rev-list.c
to another field within the same struct. The documentation for
that field has been updated to clarify that.
Signed-off-by: Jonathan Tan
---
builtin/pack-objects.c | 1 +
builtin/rev-list.c | 2 ++
pack-bitmap-write.c| 4
pack-bitmap.c | 35
> okay. Thinking long term, we may want to introduce a capability that
> can filter the tag space, e.g. "want-refs-since refs/tags/*"
> as a client directive as then the client only asks for new (newly
> created/appearing) tags instead of all tags.
I don't think refs normally have a
On Mon, Jun 18, 2018 at 11:30 AM, Stefan Beller wrote:
>> +test_expect_success 'fetch supports various ways of have lines' '
>> + rm -rf server client trace &&
>
> Can we move these deletions to test_when_finished of the previous(?) test
> as well as have them here in a test_when_finished
> Jonathan Tan writes:
>
> > When performing tag following, in addition to using the server's
> > "include-tag" capability to send tag objects (and emulating it if the
> > server does not support that capability), "git fetch" relies upon the
> >
> Jonathan Tan writes:
>
> >> Wouldn't that allow us not having to advertise the whole tags
> >> namespace only to implement the tag following?
> >
> > Yes, it would, but as far as I can tell, it would add an extra burden on
> > the server to walk all re
when using a transport that
does not support tag following), in that different priority queues will
now be used in each invocation, instead of reusing the possibly
non-empty one.
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 116 ++-
1 file changed
one before any marking
(whether by rev_list_insert_ref_oid() or
mark_complete_and_common_ref()).
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fetch-pack.c b/fetch-pack.c
index 5c87bb8bb..2812499a5 100644
--- a/fetch-pa
unconditionally.
[1] The rationale is further described in the originating commit
f2cba9299b ("fetch-pack: Finish negotation if remote replies "ACK %s
ready"", 2011-03-14).
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 9 +
1 file changed, 5 insertions(+), 4 deletio
to negotiator/default.c, and it can be
seen that the lines replaced by negotiator->X() calls are present in the
X() functions respectively.
Signed-off-by: Jonathan Tan
---
Makefile | 2 +
fetch-negotiator.c | 8 ++
fetch-negotiator.h | 57
fetch-pack.c |
enqueue it with COMMON_REF | SEEN. The addition of COMMON_REF
ensures that its parents are not sent as "have" lines.
Change the order in do_fetch_pack_v2() to be consistent with
do_fetch_pack(), and to avoid sending unnecessary "have" lines.
Signed-off-by: Jonathan Tan
---
fetch-
patch 8 into patch 7; this means that the comments are not
moved verbatim, but for the reviewer, verbatim-ness of comments is
probably not that important anyway
Jonathan Tan (7):
fetch-pack: split up everything_local()
fetch-pack: clear marks before re-marking
fetch-pack: directly en
was introduced in a1c6d7c1a7
("fetch-pack: restore save_commit_buffer after use", 2017-12-08), is a
concern of the parse_object() call in mark_complete_and_common_ref(), so
it has been moved from the end of everything_local() to the end of
mark_complete_and_common_ref().
Signed-off-by: Jonathan Tan
-by: Jonathan Tan
---
fetch-pack.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fetch-pack.c b/fetch-pack.c
index 473e415c5..fb76d4017 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -505,11 +505,14 @@ static int find_common(struct negotiation_state *ns
> @@ -1122,6 +1124,7 @@ static int do_fetch(struct transport *transport,
> int autotags = (transport->remote->fetch_tags == 1);
> int retcode = 0;
> const struct ref *remote_refs;
> + struct ref *new_remote_refs = NULL;
Above, you use the name "updated_remote_refs" - it's
(replying to the original since my e-mail is about design)
> This version of ref-in-want is a bit more restrictive than what Jonathan
> originally proposed (only full ref names are allowed instead of globs
> and OIDs), but it is meant to accomplish the same goal (solve the issues
> of refs
On Sat, 9 Jun 2018 02:04:38 -0400
Jeff King wrote:
> This function used to be idempotent, so any code which wanted to use the
> global bitmap_git could call it "just in case". After your patch, it's
> not. I think it's probably OK, since such functions would generally now
> take a bitmap_git
In partial_clone_get_default_filter_spec(), the
core_partial_clone_filter_default variable may be NULL; ensure that it
is not NULL before using it.
Signed-off-by: Jonathan Tan
---
This was noticed by someone else at $DAY_JOB when trying to use a
partial clone with no core.partialclonefilter set
[snip]
> > in which we have rarely-updated branches that we still want to fetch
> > (e.g. an annotated tag when we fetch refs/tags/* or a Gerrit
> > refs/changes/* branch), having the ref advertisement first means that we
> > can omit them from our "want" or "want-ref" list. But not having them
>
> Here are the topics that have been cooking. Commits prefixed with
> '-' are only in 'pu' (proposed updates) while commits prefixed with
> '+' are in 'next'. The ones marked with '.' do not appear in any of
> the integration branches, but I am still holding onto them.
Would it be possible to
> Floating on the mailing list, not cooking yet:
One more is my bitmap one here:
https://public-inbox.org/git/cover.1528397984.git.jonathanta...@google.com/
It's not in any branch yet, as far as I can tell, so I've just sent out
an e-mail letting Junio know [1].
[1]
> On 06/15, Jonathan Tan wrote:
> >
> > Supporting patterns would mean that we would possibly be able to
> > eliminate the ls-refs step, thus saving at least a RTT. (Originally I
> > thought that supporting patterns would also allow us to tolerate refs
> > being
ith ref-in-want (for example, in your latest
series [1]) we might be able to restore performance, because the server
can send refs/tags/X with the packfile instead of sending all
refs/tags/X refs initially to the client.
[1] https://public-inbox.org/git/20180605175144.4225-1-bmw...@google.com/
uations.
This also necessitates a change another test which tested ref
advertisement filtering using tag refs - since tag refs are sent by
default now, the test has been switched to using branch refs instead.
Signed-off-by: Jonathan Tan
---
builtin/fetch.c| 2 +-
t/t5702-protocol-v2.sh |
Extend the protocol v2 tests to also test fetches with multiple refspecs
specified. This also covers the previously uncovered cases of fetching
with prefix matching and fetching by SHA-1.
Signed-off-by: Jonathan Tan
---
t/t5702-protocol-v2.sh | 47 ++
1
e ref-prefixes when using a configured
refspec", 2018-05-18) ensured that "refs/tags/" is always sent as a ref
prefix when "git fetch" is invoked with no refspecs, but not when "git
fetch" is invoked with refspecs. Extend that functionality to make it
work in both si
]
https://public-inbox.org/git/20180531072339.ga43...@aiede.svl.corp.google.com/
Jonathan Tan (2):
t5702: test fetch with multiple refspecs at a time
fetch: send "refs/tags/" prefix upon CLI refspecs
builtin/fetch.c| 2 +-
t/t5702-protocol-
Extend the protocol v2 tests to also test fetches with multiple refspecs
specified. This also covers the previously uncovered cases of fetching
with prefix matching and fetching by SHA-1.
Signed-off-by: Jonathan Tan
---
t/t5702-protocol-v2.sh | 47 ++
1
On Tue, 5 Jun 2018 16:08:21 -0700
Jonathan Nieder wrote:
> Hi,
>
> Jonathan Tan wrote:
>
> > If tag following is required when using a transport that does not
> > support tag following, fetch_pack() will be invoked twice in the same
> > process, necessitating
On Tue, Jun 5, 2018 at 4:35 PM, Jonathan Nieder wrote:
> Jonathan Tan wrote:
>
>> Reduce the number of global variables by making the priority queue and
>> the count of non-common commits in it local, passing them as a struct to
>> various functions where necessary.
>
On Tue, Jun 5, 2018 at 5:01 PM, Jonathan Nieder wrote:
> I like it. I think it should be possible to describe the benefit of
> this patch without reference to the specifics of the subsequent one.
> Maybe something like:
>
> When receiving 'ACK continue' for a common commit,
>
On Tue, Jun 5, 2018 at 5:37 PM, Jonathan Nieder wrote:
>> This patch is written to be more easily reviewed: static functions are
>> moved verbatim from fetch-pack.c to negotiator/default.c, and it can be
>> seen that the lines replaced by negotiator->X() calls are present in the
>> X() functions
On Tue, Jun 5, 2018 at 4:30 PM, Jonathan Nieder wrote:
> I get lost in the above description. I suspect it's doing a good job
> of describing the code, instead of answering the question I really
> have about what is broken and what behavior we want instead.
>
> E.g. are there some commands that
On Tue, 5 Jun 2018 16:16:34 -0700
Jonathan Nieder wrote:
> Hi,
>
> Jonathan Tan wrote:
>
> > When "ACK %s ready" is received, find_common() clears rev_list in an
> > attempt to stop further "have" lines from being sent [1]. This appears
> &
one before any marking
(whether by rev_list_insert_ref_oid() or
mark_complete_and_common_ref()).
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fetch-pack.c b/fetch-pack.c
index 5c87bb8bb..2812499a5 100644
--- a/fetch-pa
Signed-off-by: Jonathan Tan
---
negotiator/default.c | 14 ++
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/negotiator/default.c b/negotiator/default.c
index b8f45cf78..a9e52c943 100644
--- a/negotiator/default.c
+++ b/negotiator/default.c
@@ -46,11 +46,10 @@ static
ge: comments should have ' *' at the start of each
> > line (could do in a preparatory patch or a followup).
>
> I'll add a followup.
I'm now not sure of the value of making a change just to update
formatting, but I added the followup commit anyway - it can be easily
dropped if we deci
rationale is further described in the originating commit
f2cba9299b ("fetch-pack: Finish negotation if remote replies "ACK %s
ready"", 2011-03-14).
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/fetch-pack.
was introduced in a1c6d7c1a7
("fetch-pack: restore save_commit_buffer after use", 2017-12-08), is a
concern of the parse_object() call in mark_complete_and_common_ref(), so
it has been moved from the end of everything_local() to the end of
mark_complete_and_common_ref().
Signed-off-by: Jonathan Tan
of COMMON_REF ensures that its parents
are not sent as "have" lines.
Change the order in do_fetch_pack_v2() to be consistent with
do_fetch_pack(), and to avoid sending unnecessary "have" lines.
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 6 +++---
t/t550
that patch, this struct
definition and several functions will be moved to a negotiation-specific
file, and this allows the move to be verbatim.
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 104 +--
1 file changed, 59 insertions(+), 45 deletions(-)
to negotiator/default.c, and it can be
seen that the lines replaced by negotiator->X() calls are present in the
X() functions respectively.
Signed-off-by: Jonathan Tan
---
Makefile | 2 +
fetch-negotiator.c | 8 ++
fetch-negotiator.h | 57
fetch-pack.c |
-by: Jonathan Tan
---
fetch-pack.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fetch-pack.c b/fetch-pack.c
index c31644bb9..4a4ec4da3 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -499,11 +499,14 @@ static int find_common(struct data *data, struct
fetch_pack_args *args
On Wed, 23 May 2018 12:42:10 +0900
Junio C Hamano wrote:
> Somehow this feels more like a WIP than RFC, primarily for two
> reasons. It was unclear what "edge" computation is trying to do; it
> seems way under-explained, especially the part that takes min-max
> while. merging two candidates.
that patch, this struct
definition and several functions will be moved to a negotiation-specific
file, and this allows the move to be verbatim.
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 104 +--
1 file changed, 59 insertions(+), 45 deletions(-)
to negotiator/default.c, and it can be
seen that the lines replaced by negotiator->X() calls are present in the
X() functions respectively.
Signed-off-by: Jonathan Tan
---
Makefile | 2 +
fetch-negotiator.c | 7 ++
fetch-negotiator.h | 45 ++
fetch-pack.c |
This enables the calculation of was_common and the invocation to
mark_common() to be abstracted into a single call to the negotiator API
(to be introduced in a subsequent patch).
Signed-off-by: Jonathan Tan
---
fetch-pack.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git
601 - 700 of 1061 matches
Mail list logo