Jump to content
funtoo forums
  • 0
zekikez

problem with emerge --sync

Question

Hello,

 

Whenever I execute the "emerge --sync" command it ends up giving me

"git pull error in /usr/portage." Is there a solution to this problem? 

 

>>> Starting git pull...

remote: Counting objects: 20916, done.

remote: Compressing objects: 100% (17257/17257), done.

remote: Total 20916 (delta 9827), reused 5201 (delta 3627)

Receiving objects: 100% (20916/20916), 10.69 MiB | 416.00 KiB/s, done.

Resolving deltas: 100% (9827/9827), done.

error: Could not read 6e621e187d2d5d2e7c2ee4f78c96dfcfe7c47275

fatal: bad tree object 6e621e187d2d5d2e7c2ee4f78c96dfcfe7c47275

error: git://github.com/funtoo/ports-2012.git did not send all necessary objects

 

!!! git pull error in /usr/portage.

 

Thanks for any help,

Steven Sinakhot

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Ah, right, there we go. Thanks sputnik.

 

Fyi, I just hit this too (on a box I just powered up after it being off for a week and having a clean sync prior to my work trip)...which was curious...hmmm...? Np, though - this'll work.

Been a while since I had to manually restore a tree ("way back" in my Gentoo days lol).

Share this post


Link to post
Share on other sites
  • 0

Hi guys,

i have this problem:

>>> Starting git pull...
remote: Counting objects: 6866, done.
remote: Compressing objects: 100% (6292/6292), done.
remote: Total 6866 (delta 3429), reused 1030 (delta 565)
Receiving objects: 100% (6866/6866), 11.01 MiB | 717.00 KiB/s, done.
Resolving deltas: 100% (3429/3429), done.
fatal: missing blob object 'cf51e2c54044a27623dcbf58fc388ff504dca323'
error: git://github.com/funtoo/ports-2012.git did not send all necessary objects

!!! git pull error in /usr/portage.

I followed the instructions here: https://bugs.funtoo.org/browse/FL-1429

Share this post


Link to post
Share on other sites
  • 0

Hi guys,

i have this problem:

>>> Starting git pull...
remote: Counting objects: 6866, done.
remote: Compressing objects: 100% (6292/6292), done.
remote: Total 6866 (delta 3429), reused 1030 (delta 565)
Receiving objects: 100% (6866/6866), 11.01 MiB | 717.00 KiB/s, done.
Resolving deltas: 100% (3429/3429), done.
fatal: missing blob object 'cf51e2c54044a27623dcbf58fc388ff504dca323'
error: git://github.com/funtoo/ports-2012.git did not send all necessary objects

!!! git pull error in /usr/portage.

I followed the instructions here: https://bugs.funtoo.org/browse/FL-1429

 

The idea is to follow Plan A to F (D to F not recommended unless you know what you are doing to prevent undesired data loss) in order until something worked. Plan C will work 100% but restoring *all* of the missing blobs as in Plan B is the cleanest solution. If you are willing to hop on IRC and spend some time, I can walk you through it. Even better if you can get me a copy of your corrupt git repository. I'm going to see about writing a simple tool to automate the repair process shown in Plan B. This would be the best solution.

Share this post


Link to post
Share on other sites
  • 0

I had the same problem (last sync was Jul 26).

 

Out of curiosity, does anybody know why this happens?

It seems odd that a git repository gets corrupted out of the blue. One of the design principles behind git is that it ensured data consistency.

Is this therefore caused by improper handling of the repo by github? Or is it caused by something like a complex history rewrite (git push --force)?

 

I'm asking because the comments on the bugtracker don't say anything about the underlying cause of this bug.

 

Thanks in advance!

 

edit: to fix, I first did a git status on /usr/portage, then simply copied /usr/portage/distfiles and /usr/portage/packages to a safe place, rm -rf /usr/portage/.git

then did a emerge --sync and copied back distfiles and packages (basically plans D-F but also saving my package cache).

Share this post


Link to post
Share on other sites
  • 0

I don't know what's causing this yet. Fixing it entirely is a bit involving and we would have to rule out hardware/network errors or any other underlying causes of corruption and after replacing all the culripts (trees included), everyone might sitll have to acquire a clean tree.

 

In the meantime, I have replaced the manual steps in Plan B with a script that automates the process. To the best of my knowledge it works but requests may occasionaly be rate limited by GitHub (in which case you'll have to wait a hour or so before trying again).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...