From: Hui Wang <jason77.wang@gmail.com>
To: Hui Wang <jason77.wang@gmail.com>
Cc: <gitster@pobox.com>, <git@vger.kernel.org>
Subject: Re: [PATCH] sha1_file: Remove relative entries limitation
Date: Fri, 2 Sep 2011 17:49:13 +0800 [thread overview]
Message-ID: <4E60A699.9080302@gmail.com> (raw)
In-Reply-To: <1314772896-22631-1-git-send-email-jason77.wang@gmail.com>
Hi Junio,
Does this patch make sense?
Regards,
Hui Wang.
Hui Wang wrote:
> link_alt_odb_entries() will be called recursively if alternates has
> valid object store paths, and to avoid nesting too deep, the
> recursive depth is limited to 5, this limitation is reasonable and
> safe for dead-loop reference situation.
>
> There is another limitation in this function to only permit the 1st
> level alternates has relative paths, but there is no foreseeable
> greater risk using relative paths in 2nd/3rd... level alternates than
> using absolute paths, in addition to we already have max depth 5
> limitation, we can safely remove this limitation.
>
> Moreover removing this limitation will make below two usage workable.
>
> usage1: base-repos has relative path in the alternates
> %>git clone --reference base-repos src dest
> usage2: src2 has relative path to point src1, src1 has relative path
> to point src
> %>git clone src2 dest
>
> Signed-off-by: Hui Wang <jason77.wang@gmail.com>
> ---
> sha1_file.c | 13 ++++---------
> 1 files changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/sha1_file.c b/sha1_file.c
> index f7c3408..4130ca0 100644
> --- a/sha1_file.c
> +++ b/sha1_file.c
> @@ -332,15 +332,10 @@ static void link_alt_odb_entries(const char *alt, const char *ep, int sep,
> }
> while (cp < ep && *cp != sep)
> cp++;
> - if (last != cp) {
> - if (!is_absolute_path(last) && depth) {
> - error("%s: ignoring relative alternate object store %s",
> - relative_base, last);
> - } else {
> - link_alt_odb_entry(last, cp - last,
> - relative_base, depth);
> - }
> - }
> + if (last != cp)
> + link_alt_odb_entry(last, cp - last,
> + relative_base, depth);
> +
> while (cp < ep && *cp == sep)
> cp++;
> last = cp;
>
next prev parent reply other threads:[~2011-09-02 9:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-31 6:41 [PATCH] sha1_file: Remove relative entries limitation Hui Wang
2011-09-02 9:49 ` Hui Wang [this message]
2011-09-02 16:22 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E60A699.9080302@gmail.com \
--to=jason77.wang@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.