Git development
 help / color / mirror / Atom feed
* Re: GCC Git mirror no longer updating
       [not found]                   ` <4A82C786.5060602@redhat.com>
@ 2009-08-13  0:28                     ` Bernie Innocenti
  2009-08-13  3:37                       ` Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Bernie Innocenti @ 2009-08-13  0:28 UTC (permalink / raw)
  To: Jason Merrill; +Cc: Daniel Berlin, Frank Ch. Eigler, overseers, git

El Wed, 12-08-2009 a las 09:45 -0400, Jason Merrill escribió:
> On 08/12/2009 06:56 AM, Bernie Innocenti wrote:
> > The git repository format should support concurrent access, but perhaps
> > it only applies to git-receive-pack, not fancy operations such as
> > repacking.
> 
> The git repository format, yes, but maybe not the stuff in .git/svn.  It 
> seems like a temporary index file was referring to an object that got 
> garbage collected away.  Or maybe the index file was left over from the 
> initial import, and not there due to a collision; there don't seem to be 
> index files there normally.

git-svn might be keeping extra information in files that the other git
tools don't know about.  This would explain why some objects looked
like orphans and were thus culled.  [cc'ing the git list to catch the
attention of the git-svn maintainer(s)].

Ah, and I just fixed a problem I have introduced myself while fiddling
to recover the repository: HEAD should point at "refs/remotes/trunk",
otherwise new commits won't show up in gitweb.

-- 
   // Bernie Innocenti - http://codewiz.org/
 \X/  Sugar Labs       - http://sugarlabs.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GCC Git mirror no longer updating
  2009-08-13  0:28                     ` GCC Git mirror no longer updating Bernie Innocenti
@ 2009-08-13  3:37                       ` Eric Wong
       [not found]                         ` <4aca3dc20908130743g28a32229s194e9caa7a44fa2@mail.gmail.com>
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Wong @ 2009-08-13  3:37 UTC (permalink / raw)
  To: Bernie Innocenti
  Cc: Jason Merrill, Daniel Berlin, Frank Ch. Eigler, overseers, git

Bernie Innocenti <bernie@codewiz.org> wrote:
> El Wed, 12-08-2009 a las 09:45 -0400, Jason Merrill escribió:
> > On 08/12/2009 06:56 AM, Bernie Innocenti wrote:
> > > The git repository format should support concurrent access, but perhaps
> > > it only applies to git-receive-pack, not fancy operations such as
> > > repacking.
> > 
> > The git repository format, yes, but maybe not the stuff in .git/svn.  It 
> > seems like a temporary index file was referring to an object that got 
> > garbage collected away.  Or maybe the index file was left over from the 
> > initial import, and not there due to a collision; there don't seem to be 
> > index files there normally.
> 
> git-svn might be keeping extra information in files that the other git
> tools don't know about.  This would explain why some objects looked
> like orphans and were thus culled.  [cc'ing the git list to catch the
> attention of the git-svn maintainer(s)].

Hi,

As far as I can remember, no version of git svn has ever relied on
orphanable objects.

Of course there are unavoidable race conditions that happen while git
svn is running.  It is never safe to run repack concurrently while git
svn is running (I wouldn't repack/gc simultaneously with _any_ write
activity on the repo).   git svn itself can/will run "git gc" in-between
revisions if needed.  You can safely repack manually whenever git svn is
not running.

-- 
Eric Wong

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GCC Git mirror no longer updating
       [not found]                         ` <4aca3dc20908130743g28a32229s194e9caa7a44fa2@mail.gmail.com>
@ 2009-08-13 21:51                           ` Eric Wong
  0 siblings, 0 replies; 3+ messages in thread
From: Eric Wong @ 2009-08-13 21:51 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Bernie Innocenti, Jason Merrill, Daniel Berlin, Frank Ch. Eigler,
	git

Daniel Berlin <dberlin@dberlin.org> wrote:
> On Wed, Aug 12, 2009 at 11:37 PM, Eric Wong<normalperson@yhbt.net> wrote:
> > Bernie Innocenti <bernie@codewiz.org> wrote:
> >> El Wed, 12-08-2009 a las 09:45 -0400, Jason Merrill escribió:
> >> > On 08/12/2009 06:56 AM, Bernie Innocenti wrote:
> >> > > The git repository format should support concurrent access, but perhaps
> >> > > it only applies to git-receive-pack, not fancy operations such as
> >> > > repacking.
> >> >
> >> > The git repository format, yes, but maybe not the stuff in .git/svn.  It
> >> > seems like a temporary index file was referring to an object that got
> >> > garbage collected away.  Or maybe the index file was left over from the
> >> > initial import, and not there due to a collision; there don't seem to be
> >> > index files there normally.
> >>
> >> git-svn might be keeping extra information in files that the other git
> >> tools don't know about.  This would explain why some objects looked
> >> like orphans and were thus culled.  [cc'ing the git list to catch the
> >> attention of the git-svn maintainer(s)].
> >
> > Hi,
> >
> > As far as I can remember, no version of git svn has ever relied on
> > orphanable objects.
> >
> > Of course there are unavoidable race conditions that happen while git
> > svn is running.
> >   It is never safe to run repack concurrently while git
> > svn is running (I wouldn't repack/gc simultaneously with _any_ write
> > activity on the repo).
> 
> Sounds like you guys need a write lock then for certain operations.
> How do you square this with the auto-repacking the repository does (by
> default i thought it runs git gc every so often).
> We have no control over people pushing branches back at the repo, it
> may be happening when git-svn is running

Actually, I think the prune operation in git gc is the only potentially
unsafe part (and not repack).  Double-checking with pruning during gc,
it seems to only expire things older than two weeks by default (when
used with gc).

So I think git svn is safe in the face of repack/gc after all.
Manually running git prune without the --expire argument isn't safe,
but we don't recommend that anyways.

> Where does it say anything about this in the docs so that people know this?

Junio: can you confirm my observations above?  I think everything is
safe by default as-is.  Thanks

> >  git svn itself can/will run "git gc" in-between
> > revisions if needed.  You can safely repack manually whenever git svn is
> > not running.

-- 
Eric Wong

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-08-13 21:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <4A8198E2.5020205@redhat.com>
     [not found] ` <1250008005.8074.362.camel@giskard>
     [not found]   ` <20090811163049.GA4578@redhat.com>
     [not found]     ` <1250010535.8074.366.camel@giskard>
     [not found]       ` <20090811173006.GB4578@redhat.com>
     [not found]         ` <1250017013.8074.376.camel@giskard>
     [not found]           ` <20090811191642.GA5806@redhat.com>
     [not found]             ` <4aca3dc20908111333i49195ec5h9b91ab5f6445f701@mail.gmail.com>
     [not found]               ` <4A822440.40207@redhat.com>
     [not found]                 ` <1250074569.8074.671.camel@giskard>
     [not found]                   ` <4A82C786.5060602@redhat.com>
2009-08-13  0:28                     ` GCC Git mirror no longer updating Bernie Innocenti
2009-08-13  3:37                       ` Eric Wong
     [not found]                         ` <4aca3dc20908130743g28a32229s194e9caa7a44fa2@mail.gmail.com>
2009-08-13 21:51                           ` Eric Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox