All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH] perf: work around the tested repo having an index.lock
Date: Sun, 04 Jun 2017 11:04:50 +0900	[thread overview]
Message-ID: <xmqqwp8sv77h.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20170602184506.x2inwswmcwafyvfy@sigill.intra.peff.net> (Jeff King's message of "Fri, 2 Jun 2017 14:45:07 -0400")

Jeff King <peff@peff.net> writes:

> But I think a more compelling case is that there may be an ongoing
> operation in the original repo (e.g., say you are in the middle of
> writing a commit message) when we do a blind copy of the filesystem
> contents. You might racily pick up a lockfile.
>
> Should we find and delete all *.lock files in the copied directory? That
> would get ref locks, etc. Half-formed object files are OK. Technically
> if you want to get an uncorrupted repository you'd also want to copy
> refs before objects (in case somebody makes a new object and updates a
> ref while you're copying).

Or "git branch -m A B" is in progress.

I think it all depends on what your "threat" model is ;-).  Do we
assume that many users are "time-sharing" a box and a repository?
If not, i.e. if you are the sole user of a box and a repository on
it, such a concurrent access to make the result of git-unaware copy
problematic will not be in index.lock (after all you are now doing
the perf thing, not editing a commit log message in the repository
used for testing Git), but will be in ref locks (somebody else
pushing into the repository you are *not* currently using from
sideways).

  parent reply	other threads:[~2017-06-04  2:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-02 10:33 [PATCH] perf: work around the tested repo having an index.lock Ævar Arnfjörð Bjarmason
2017-06-02 18:45 ` Jeff King
2017-06-02 20:12   ` Ævar Arnfjörð Bjarmason
2017-06-02 23:52   ` Junio C Hamano
2017-06-03 16:24     ` Ævar Arnfjörð Bjarmason
2017-06-04  0:00       ` Junio C Hamano
2017-06-04  0:51         ` Junio C Hamano
2017-06-04  7:37         ` Christian Couder
2017-06-04  7:55           ` Ævar Arnfjörð Bjarmason
2017-06-04  8:23             ` Jeff King
2017-06-05  2:02           ` Junio C Hamano
2017-06-05  6:25             ` Christian Couder
2017-06-04  8:29         ` Jeff King
2017-06-05  2:04           ` Junio C Hamano
2017-06-04  2:04   ` Junio C Hamano [this message]
2017-06-04  8:37     ` Jeff King

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=xmqqwp8sv77h.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    /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.