Daniel Berlin <dberlin@xxxxxxxxxxx> wrote: > On Wed, Aug 12, 2009 at 11:37 PM, Eric Wong<normalperson@xxxxxxxx> wrote: > > Bernie Innocenti <bernie@xxxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html