Thread (1 message) 1 message, 1 author, 2016-06-15

Re: GCC Git mirror no longer updating

From: Eric Wong <hidden>
Date: 2016-06-15 22:47:14

Daniel Berlin [off-list ref] wrote:
On Wed, Aug 12, 2009 at 11:37 PM, Eric Wong[off-list ref] wrote:
quoted
Bernie Innocenti [off-list ref] wrote:
quoted
El Wed, 12-08-2009 a las 09:45 -0400, Jason Merrill escribió:
quoted
On 08/12/2009 06:56 AM, Bernie Innocenti wrote:
quoted
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
quoted
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help