git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Alex Riesen <raa.lkml@gmail.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Junio C Hamano <gitster@pobox.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Robin Rosenberg <robin.rosenberg@dewire.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: [JGIT PATCH 2/2] Make Repository.isValidRefName compatible with Git 1.6.3
Date: Fri, 8 May 2009 07:34:36 -0700	[thread overview]
Message-ID: <20090508143436.GX30527@spearce.org> (raw)
In-Reply-To: <81b0412b0905080445j6d91f05jb13169ebd0245935@mail.gmail.com>

Alex Riesen <raa.lkml@gmail.com> wrote:
> 2009/5/8 Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> > On Fri, 8 May 2009, Junio C Hamano wrote:
> >>
> >> Could there be people with slightly older git and shiny new jgit (or the
> >> other combination) working on the same repository?

Yes, Gerrit Code Review runs a JGit daemon 24/7.  I have a lot
of folks running Gerrit servers inside their company networks,
and two running them on the public internet.  Gerrit runs bleeding
edge JGit, and would most certainly pick up a "..lck" patch there
before they upgrade their git-core package.

This is one of those cases where the locking is really important,
because you should be able to concurrently access the same git
repository from the command line with git-core utilities while
Gerrit's daemon process is servicing network based user requests.

> > You mean concurrently? ??Sure, but do we have to care? ??People doing this
> > certainly know what they are doing, and live happily even with a 0.5"
> > hole in their foot.

Yes, dammit, we should care.

> Of course people run git concurrently on the same repo. Even from different
> machines.

Even ignoring JGit and Gerrit's daemon process entirely as "useless
stupid projects that never should have happened", _this_ is enough
of a reason to care.  People use Git on NFS all of the time.
With different machines.  Accessing the same repo.  Those different
machines most likely have different versions of Git installed.

> That's _why_ we have the locking in the first place.

Yes.

I've actually thought about this "fix.vm.lock" being invalid for
quite a while now, and wanted to change lockfile.c to use another
pattern that was already an invalid ref name, like Junio's "..lck"
proposal does.  But I've never been able to come up with a sane way
to deal with the transition.  So I never brought the topic up before.

I still don't have a sane way to deal with the transition.

The only thing I can think of is:

  - grab ".lock"
  - grab "..lck"
  - do stuff
  - commit by link("..lck", orig)
  - ulink ".lock"

And maybe in a year we stop writing ".lock".

But, here's news for you, *#@!#@@!$@!*&@! distributions are still
shipping 1.5.0-1.5.0.3.  In particular I've spent the better part
of this past two weeks telling new Git users to upgrade off of these
versions due to the pread() bug introduced in [1] and fixed in [2].

I've seen WAAAAY too many "fatal: cannot pread pack file:" errors.
Enough for a lifetime.

[1] http://repo.or.cz/w/git.git?a=commit;h=6d2fa7f1b489c65e677c18eda5c144dbc5d614ab
[2] http://repo.or.cz/w/git.git?a=commit;h=a91d49cd369ac5fc8e1a17357a975d09cf6c8cb3

-- 
Shawn.

  reply	other threads:[~2009-05-08 14:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-07 15:05 [JGIT PATCH 1/2] Add support for boolean config values "yes", "no" Shawn O. Pearce
2009-05-07 15:05 ` [JGIT PATCH 2/2] Make Repository.isValidRefName compatible with Git 1.6.3 Shawn O. Pearce
2009-05-07 23:02   ` Robin Rosenberg
2009-05-07 23:29     ` Linus Torvalds
2009-05-08  0:32       ` Junio C Hamano
2009-05-08  0:47         ` Shawn O. Pearce
2009-05-08  7:24           ` Alex Riesen
2009-05-08  8:04             ` Johannes Schindelin
2009-05-08  8:43               ` Junio C Hamano
2009-05-08  9:54                 ` Johannes Schindelin
2009-05-08 11:45                   ` Alex Riesen
2009-05-08 14:34                     ` Shawn O. Pearce [this message]
     [not found]         ` <7viqkcbenb.fsf_-_@alter.siamese.dyndns.org>
2009-05-08  0:54           ` [PATCH] Allow branch names that end with ".lock" Shawn O. Pearce
2009-05-08  0:57             ` Junio C Hamano
2009-05-08  1:01               ` Shawn O. Pearce
2009-05-08  1:25                 ` Junio C Hamano
2009-05-07 17:56 ` [JGIT PATCH 1/2] Add support for boolean config values "yes", "no" Brandon Casey
2009-05-07 18:01   ` [JGIT PATCH v2 1/2] Add support for boolean config values "on", "off" Shawn O. Pearce

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090508143436.GX30527@spearce.org \
    --to=spearce@spearce.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=raa.lkml@gmail.com \
    --cc=robin.rosenberg@dewire.com \
    --cc=torvalds@linux-foundation.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).