Sinatra: рд╢реВрдиреНрдп-рдЧрджреНрджреЗрджрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдореЛрдб рдХреЗ рдХрд╛рд░рдг рдХреНрд▓реЛрдирд┐рдВрдЧ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдЬреВрди 2017  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sinatra/sinatra

рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдЬреАрдЖрдИрдЯреА рд░реЗрдкреЛ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ (рдХрд╛рдо рдХрд┐рдпрд╛) рдФрд░ рдлрд┐рд░ рдХреНрд▓реЛрдирд┐рдВрдЧ (рдЙрд╕реА рдореБрджреНрджреЗ рдкрд░) рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

$> git clone [email protected]:sinatra/sinatra.git
Cloning into 'sinatra'...
remote: Counting objects: 19910, done.
error: object 218b8c8019a785b8c08c1dd64beff68af63cc1f9: zeroPaddedFilemode: contains zero-padded file modes
fatal: Error in object
fatal: index-pack failed

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

fsck рдореЗрд░реА рдЬрд╛рди

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред

devbox@ubuntu-server-xenial:~/code$ git --version
git version 2.7.4
devbox@ubuntu-server-xenial:~/code$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:    16.04
Codename:   xenial
devbox@ubuntu-server-xenial:~/code$ git clone [email protected]:sinatra/sinatra.git
Cloning into 'sinatra'...
Host key fingerprint is SHA256:n6E5SYUpJ7E1IGOCspRoThXkTxdCKGlwmARLviWbg68
+---[RSA 2048]----+
| =+o...+=o..     |
|o++... *o .      |
|*.o.  *o.        |
|oo.  ..o.= .     |
|.+o. .. S =      |
|*=+ .  o = .     |
|OE .  . o        |
| o     .         |
|                 |
+----[SHA256]-----+
remote: Counting objects: 19910, done.
remote: Total 19910 (delta 0), reused 0 (delta 0), pack-reused 19910
Receiving objects: 100% (19910/19910), 5.92 MiB | 0 bytes/s, done.
Resolving deltas: 100% (10750/10750), done.
Checking connectivity... done.
devbox@ubuntu-server-xenial:~/code$ 

рдЖрдк git рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

MacOS рд╕рд┐рдПрд░рд╛ рдкрд░ git version 2.13.0

(рдмрд╕ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХреА, рдЕрднреА рднреА рд╡рд╣реА рдореБрджреНрджрд╛)

рдореЗрд░реЗ .gitconfig рдореЗрд░реА рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ:

[transfer]
  fsckobjects = true

рдЬрдм рдореИрдВ рдЗрд╕реЗ false рдмрджрд▓рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рд░реЗрдкреЛ рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд╛рдж git fsck рдкреИрджрд╛рд╡рд╛рд░ рдЪрд▓ рд░рд╣реА рд╣реИ:

$> git fsck
Checking object directories: 100% (256/256), done.
warning in tree 218b8c8019a785b8c08c1dd64beff68af63cc1f9: zeroPaddedFilemode: contains zero-padded file modes
warning in tree 496479ab009c76d3d5e5b5eb8f05e478555b730a: zeroPaddedFilemode: contains zero-padded file modes
warning in tree 6720ac897243912cf384731c42a6ed4005bc384c: zeroPaddedFilemode: contains zero-padded file modes
Checking objects: 100% (19910/19910), done.

рдпрджрд┐ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдВрдХреЗрдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F

рд╣рд╛рдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдЙрддрдирд╛ рд╣реА рднреНрд░рд╖реНрдЯ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИред рдХреНрдпреЛрдВ git fsckobjects рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реИ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ ...

fsck рдореЗрд░реА рдЬрд╛рди

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ https://github.com/sinatra/sinatra/issues/532 (2012) рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдерд╛ред

рдореИрдВ рдЗрд╕ StackOverflow рдЬрд╡рд╛рдм рдореЗрдВ рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд░реЗрдкреЛ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЯреВрдЯреЗ SHAs рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рд╣реИрдВред

рдореБрдЭреЗ SHA рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг, рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЯреИрдЧреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдореЗрдВ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛ред

рдпрд╣рд╛рдВ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ: https://github.com/rohitpaulk/sinatra-gitfsck

рдореИрдВрдиреЗ рдЬреЛ рдХрджрдо рдЙрдард╛рдП, рд╡реЗ рдереЗ:

  • рдЗрд╕ рднрдВрдбрд╛рд░ рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ
  • рдирдИ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ, git init рдЪрд▓рд╛рдПрдВ
  • рдкреБрд░рд╛рдиреЗ рднрдВрдбрд╛рд░ рдХреЗ рднреАрддрд░ рд╕реЗ:
git fast-export --all --signed-tags=warn-strip | (cd ../new-sinatra && git fast-import)

рдЬрдВрдЧрд▓реА рдореЗрдВ рдЗрд╕рдХреЗ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг:

рдЗрд╕ рдмрдЧ рдХрд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг рдЧреНрд░рд┐рдЯ рдореЗрдВ рд╣реИ , рдЬреЛ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

nickpelone picture nickpelone  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fullofcaffeine picture fullofcaffeine  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Joshfindit picture Joshfindit  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

paulmenzel picture paulmenzel  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

daveroberts picture daveroberts  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ