Nguyễn Thái Ngọc Duy <[email protected]> writes:
> The shallow repo could be deepened or shortened when then user gives
> --depth. But in future that won't be the only way to deepen/shorten a
> repo. Stop relying on args->depth in this mode. Future deepening
> methods can simply set this flag on instead of updating all these if
> expressions.
>
> The new name "deepen" was chosen after the command to define shallow
> boundary in pack protocol. New commands also follow this tradition.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
> ---
OK. Up to here things look more-or-less sensible overall.
Thanks.
> fetch-pack.c | 14 ++++++++------
> fetch-pack.h | 1 +
> 2 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/fetch-pack.c b/fetch-pack.c
> index 16917f9..e947514 100644
> --- a/fetch-pack.c
> +++ b/fetch-pack.c
> @@ -197,7 +197,7 @@ enum ack_type {
>
> static void consume_shallow_list(struct fetch_pack_args *args, int fd)
> {
> - if (args->stateless_rpc && args->depth > 0) {
> + if (args->stateless_rpc && args->deepen) {
> /* If we sent a depth we will get back "duplicate"
> * shallow and unshallow commands every time there
> * is a block of have lines exchanged.
> @@ -348,7 +348,7 @@ static int find_common(struct fetch_pack_args *args,
> packet_buf_flush(&req_buf);
> state_len = req_buf.len;
>
> - if (args->depth > 0) {
> + if (args->deepen) {
> char *line;
> const char *arg;
> unsigned char sha1[20];
> @@ -557,7 +557,7 @@ static void filter_refs(struct fetch_pack_args *args,
> }
>
> if (!keep && args->fetch_all &&
> - (!args->depth || !starts_with(ref->name, "refs/tags/")))
> + (!args->deepen || !starts_with(ref->name, "refs/tags/")))
> keep = 1;
>
> if (keep) {
> @@ -627,7 +627,7 @@ static int everything_local(struct fetch_pack_args *args,
> }
> }
>
> - if (!args->depth) {
> + if (!args->deepen) {
> for_each_ref(mark_complete_oid, NULL);
> for_each_alternate_ref(mark_alternate_complete, NULL);
> commit_list_sort_by_date(&complete);
> @@ -813,6 +813,8 @@ static struct ref *do_fetch_pack(struct fetch_pack_args
> *args,
>
> if ((args->depth > 0 || is_repository_shallow()) &&
> !server_supports("shallow"))
> die("Server does not support shallow clients");
> + if (args->depth > 0)
> + args->deepen = 1;
> if (server_supports("multi_ack_detailed")) {
> print_verbose(args, "Server supports multi_ack_detailed");
> multi_ack = 2;
> @@ -873,7 +875,7 @@ static struct ref *do_fetch_pack(struct fetch_pack_args
> *args,
>
> if (args->stateless_rpc)
> packet_flush(fd[1]);
> - if (args->depth > 0)
> + if (args->deepen)
> setup_alternate_shallow(&shallow_lock, &alternate_shallow_file,
> NULL);
> else if (si->nr_ours || si->nr_theirs)
> @@ -940,7 +942,7 @@ static void update_shallow(struct fetch_pack_args *args,
> int *status;
> int i;
>
> - if (args->depth > 0 && alternate_shallow_file) {
> + if (args->deepen && alternate_shallow_file) {
> if (*alternate_shallow_file == '\0') { /* --unshallow */
> unlink_or_warn(git_path_shallow());
> rollback_lock_file(&shallow_lock);
> diff --git a/fetch-pack.h b/fetch-pack.h
> index bb7fd76..4d0adb0 100644
> --- a/fetch-pack.h
> +++ b/fetch-pack.h
> @@ -25,6 +25,7 @@ struct fetch_pack_args {
> unsigned self_contained_and_connected:1;
> unsigned cloning:1;
> unsigned update_shallow:1;
> + unsigned deepen:1;
> };
>
> /*
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html