Git development
 help / color / mirror / Atom feed
* repo corruption - Egit's fault?
@ 2009-12-18 18:06 Eugene Sajine
  2009-12-18 18:16 ` Shawn O. Pearce
  0 siblings, 1 reply; 4+ messages in thread
From: Eugene Sajine @ 2009-12-18 18:06 UTC (permalink / raw)
  To: git, Shawn O. Pearce

Hi,

We have imported a project from CVS. Then created a bare repo and
placed on the central server. From the server repos are served via git
protocol for push and pull operations (no SSH is involved for intranet
set up)
After this operations there were several extensive changes made (3
commits but they were pretty big) in development branch which were
then pushed to the server. So the branch was pushed too.
All changes and commits and pushes were performed under eclipse 3.5
using Egit plugin v0.5.

After it I could not clone this repo from the server as it was giving
me an error like this (I will shorten it up a bit using “…” as I have
no way to copy paste):

$git clone git://server/repo.git
Initialized empty git…
remote:counting…done
remote:compressing…done
remote: aborting due to possible repository corruption on the remote side.
Receiving object: 100% …done
Resolving deltas: 100% …done
error: waitpid (async) failed
fatal: error in sideband demultiplexer (I know right words to curse now;))

When I’m looking at the bare repo in CGit  it shows me  Bad object:
and object SHA-1 instead of  the tree.

As the only difference between this project and about 30 others was
that there was an additional branch pushed via Egit I suspect that
this is what screwed up things, but I ‘m not sure… I’m in progress of
testing it I don’t know if I will be able to reproduce.

Please, advise if this can be fixed and which options I have if it
will happen again (how to properly and quickly restore bare repo)

Thanks,
Eugene

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

* Re: repo corruption - Egit's fault?
  2009-12-18 18:06 repo corruption - Egit's fault? Eugene Sajine
@ 2009-12-18 18:16 ` Shawn O. Pearce
  2009-12-18 18:30   ` Eugene Sajine
  0 siblings, 1 reply; 4+ messages in thread
From: Shawn O. Pearce @ 2009-12-18 18:16 UTC (permalink / raw)
  To: Eugene Sajine; +Cc: git

Eugene Sajine <euguess@gmail.com> wrote:
> When I???m looking at the bare repo in CGit ??it shows me ??Bad object:
> and object SHA-1 instead of ??the tree.
> 
> As the only difference between this project and about 30 others was
> that there was an additional branch pushed via Egit I suspect that
> this is what screwed up things, but I ???m not sure??? I???m in progress of
> testing it I don???t know if I will be able to reproduce.

Its a somewhat known problem, but thus far has only shown up in
contexts where I'm unable to get enough data to debug the problem.

  https://bugs.eclipse.org/bugs/show_bug.cgi?id=286653

> Please, advise if this can be fixed and which options I have if it
> will happen again (how to properly and quickly restore bare repo)

Delete the branch and repush it.  The bug is that EGit didn't push
all of the objects needed by the branch.  If you put the missing
objects from the source client into the server repository, it'll
be fine.

To prevent this in the future, you can force a server to check during
push by enabling receive.fsckObjects in the server repository's
configuration file.  A broken EGit client will have the push
rejected immediately.

-- 
Shawn.

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

* Re: repo corruption - Egit's fault?
  2009-12-18 18:16 ` Shawn O. Pearce
@ 2009-12-18 18:30   ` Eugene Sajine
  2009-12-18 18:51     ` Eugene Sajine
  0 siblings, 1 reply; 4+ messages in thread
From: Eugene Sajine @ 2009-12-18 18:30 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git

> To prevent this in the future, you can force a server to check during
> push by enabling receive.fsckObjects in the server repository's
> configuration file.  A broken EGit client will have the push
> rejected immediately.
>
> --
> Shawn.
>

Thank you for prompt answer, Shawn!

The problem is that as i'm maintaining multiple repos and their
quantity will grow i would need to apply this setting site wide. Do
you know if i can specify this service for git daemon? It seems like
in git deamon docs this service is not listed, but just in case the
docs are not up to date... I really don't want to set this up for
every repo manually...

Thanks,
Eugene

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

* Re: repo corruption - Egit's fault?
  2009-12-18 18:30   ` Eugene Sajine
@ 2009-12-18 18:51     ` Eugene Sajine
  0 siblings, 0 replies; 4+ messages in thread
From: Eugene Sajine @ 2009-12-18 18:51 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git

> Thank you for prompt answer, Shawn!
>
> The problem is that as i'm maintaining multiple repos and their
> quantity will grow i would need to apply this setting site wide. Do
> you know if i can specify this service for git daemon? It seems like
> in git deamon docs this service is not listed, but just in case the
> docs are not up to date... I really don't want to set this up for
> every repo manually...
>
> Thanks,
> Eugene
>

I found it.
$ git config --global receive.fsckObjects true

should do the trick.

Thanks,
Eugene

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

end of thread, other threads:[~2009-12-18 18:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-18 18:06 repo corruption - Egit's fault? Eugene Sajine
2009-12-18 18:16 ` Shawn O. Pearce
2009-12-18 18:30   ` Eugene Sajine
2009-12-18 18:51     ` Eugene Sajine

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