Underscore: Ρ€Π΅ΠΏΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ git fsck

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 31 ΠΎΠΊΡ‚. 2020  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: jashkenas/underscore

воспроизвСдСниС:

$ git config --system receive.fsckObjects true
$ git clone [email protected]:jashkenas/underscore.git  # or `git submodule add -- [email protected]:jashkenas/underscore.git`
Cloning into 'underscore'...
remote: Enumerating objects: 215, done.
remote: Counting objects: 100% (215/215), done.
remote: Compressing objects: 100% (130/130), done.
error: object b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3: zeroPaddedFilemode: contains zero-padded file modes
fatal: fsck error in packed object

ВсС 5 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

@zackschuster Бпасибо, Ρ‡Ρ‚ΠΎ

МнС ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π» ΠΎ git fsck ΠΈΠ»ΠΈ ΠΎΠ± этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ошибкС. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Π² https://github.com/pallets/flask/issues/2029, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для этого Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, пСрСстраивая Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ ΠΎΠ½ слишком Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»Π΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всС Ρ…ΡΡˆΠΈ послС нСисправного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° измСнятся. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ людСй ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈ ΠΏΡ€ΠΎΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, ΠΊΠ°ΠΊ Π΅Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ (Ρ‡Ρ‚ΠΎ каТСтся Π²ΠΏΠΎΠ»Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΡ‹ΠΌ). Волько послСднСС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ТизнСспособным для этого Ρ€Π΅ΠΏΠΎ.

ВсС это каТСтся ΠΌΠ½Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ спорным, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π½Π΅ ΠΌΠΎΠ³Ρƒ воспроизвСсти ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π― попытался Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· Π²Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ сообщСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Git 2.26.2, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ стоит sudo ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это трСбуСтся для измСнСния общСсистСмных настроСк. Π Π΅ΠΏΠΎ просто ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π±Π΅Π· ошибок. Π― Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ смог Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Ρ…Π΅ΡˆΠ΅ΠΌ b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3.

@zackschuster ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ, Π½Π΅ являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ чтСния с диска ΠΈΠ»ΠΈ ошибки Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии Git. Π― Π·Π°ΠΊΡ€ΠΎΡŽ этот вопрос сСйчас; Ссли Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ шаги, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΌΠΎΠ³Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ воспроизвСсти ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΈΠ»ΠΈ Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Underscore, ΠΌΡ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.

@jgonggrijp Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ git 2.29.2 Π½Π° macOS, скомпилированный стандартным способом с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ autoconf & make. приносим свои извинСния Π·Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² консольной ΠΊΠΎΠΌΠ°Π½Π΄Π΅; чСстно говоря, Ρƒ мСня receive.fsckObjects установлСн ΠΈΠ· $HOME/.gitconfig .

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΊΠ°ΠΊ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ошибки blob Π½Π° ΠΌΠΎΠ΅ΠΉ сторонС, Π½ΠΎ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ: smile:

@jgonggrijp Π― нашСл ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

  1. запуск git clone --config transfer.fsckobjects=false [email protected]:jashkenas/underscore.git позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибки (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° transfer.fsckobjects ; Ρƒ мСня Π±Ρ‹Π»Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка Π² ΠΌΠΎΠ΅ΠΌ исходном ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅. ΠŸΡ€ΠΈΠ½ΠΎΡΠΈΠΌ извинСния!)
  2. впослСдствии запуск git fsck Π² Ρ€Π΅ΠΏΠΎ (с использованиСм v2.29.2 ) выявляСт Π΄Π²Π΅ ошибки zeroPaddedFilemode
  3. git cat-file -p ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ список Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠΉ фиксации; git cat-file -t ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ tree . git show output - это ΠΌΠ΅Π½Π΅Π΅ информативная вСрсия git cat-file -p . git log Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚.

Π― Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄ консоли для справки:

~/Source
$ git clone --config transfer.fsckobjects=false [email protected]:jashkenas/underscore.git
Cloning into 'underscore'...
remote: Enumerating objects: 215, done.
remote: Counting objects: 100% (215/215), done.
remote: Compressing objects: 100% (130/130), done.
remote: Total 10434 (delta 185), reused 101 (delta 85), pack-reused 10219
Receiving objects: 100% (10434/10434), 5.61 MiB | 9.21 MiB/s, done.
Resolving deltas: 100% (6770/6770), done.

~/Source
$ cd underscore 

~/Source/underscore
$ git fsck
Checking object directories: 100% (256/256), done.
warning in tree b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3: zeroPaddedFilemode: contains zero-padded file modes
warning in tree 8a654ec549a230dcab28e54c6e53c460cb9e190d: zeroPaddedFilemode: contains zero-padded file modes
Checking objects: 100% (10434/10434), done.

~/Source/underscore
$ git cat-file -p b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3
100644 blob d8cef485ec7309b938b4c3bc19171458e9139811    LICENSE
100644 blob 333b13f45b62427fd0840c77bb55bfc8fb96be6b    README
100644 blob 721c294b3ddb1d3e6ed35a7d9336e162aab01bb9    Rakefile
100644 blob bdaef73ca2ca82b90d37cec4b9c38606b440d619    index.html
100644 blob 6771de07ecd088853df1376f3693e81584ec2560    package.json
040000 tree d0a277f748b309f3d26e13d1cb5133ff003c468d    test
100644 blob 7cfbf993705f83e7fde17e9745b4187f7a4047b2    underscore-min.js
100644 blob 625411233e487b5cd8da1a32a69e5693b1862c09    underscore.js

~/Source/underscore
$ git cat-file -p 8a654ec549a230dcab28e54c6e53c460cb9e190d
100644 blob 9644b34c3f5c16753d1061497aa7aab426e6c896    LICENSE
100644 blob e41015cd7cc04a940ac4e7a451aeb0b0b384c3a3    README
100644 blob 6af14bb6d570698990d30aa0b46e398ae3fd48b1    Rakefile
100644 blob 1a03be19fc8ddf61b113f71c19d6892fb74ff4f5    index.html
100644 blob 2cbc8128d9db1feabc44a3be14c504e40b6b7e2e    package.json
040000 tree fae9dcb01827d13b2b5fbd9afab07489b249dab8    test
100644 blob 2c8b499882c2a5d662ea35c80ec7ea0fa111814f    underscore-min.js
100644 blob 42bf31a27545d0d5460c655d13ce9bbf76e540b3    underscore.js

~/Source/underscore
$ git cat-file -t b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3
tree

~/Source/underscore
$ git cat-file -t 8a654ec549a230dcab28e54c6e53c460cb9e190d
tree

~/Source/underscore
$ git show b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3
tree b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3

LICENSE
README
Rakefile
index.html
package.json
test/
underscore-min.js
underscore.js

~/Source/underscore
$ git show 8a654ec549a230dcab28e54c6e53c460cb9e190d
tree 8a654ec549a230dcab28e54c6e53c460cb9e190d

LICENSE
README
Rakefile
index.html
package.json
test/
underscore-min.js
underscore.js

~/Source/underscore
$ git log b252cd0cf660db8fea1a40ae7d3ba0e34a41ffd3

~/Source/underscore
$ git log 8a654ec549a230dcab28e54c6e53c460cb9e190d

~/Source/underscore
$ 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ я ΠΌΠΎΠ³Ρƒ воспроизвСсти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Бпасибо Π·Π° Π½Π°ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ, @zackschuster.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ, вСроятно, слСдуСт просто Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΊΡ‚ сущСствования этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ люди ΠΌΠΎΠ³ΡƒΡ‚ Π΅Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, CLONING.md Π±Ρ‹Π»ΠΎ Π±Ρ‹ подходящим мСстом для Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Или, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΌΡ‹ смоТСм ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° это Π΄Π΅Ρ€Π΅Π²ΠΎ. Если Π½Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ²Π΅Π·Π΅Ρ‚, ΠΌΡ‹ смоТСм ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ (ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ. ВСроятно, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ это.

ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ.

Π― попытался ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git fast-export + git fast-import (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ΠΎΡ‚Π²Π΅Ρ‚ SO ), ΠΈ это исправило Ρ€Π΅ΠΏΠΎ, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎ Ρ…Π΅ΡˆΠΈ. flask пСрСчисляСт ΠΈΡ… инструкции zeroPaddedFilemode ΠΏΠΎΠ΄ Π²ΠΊΠ»Π°Π΄ΠΎΠΌ , поэтому ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ… тСкста Π² CONTRIBUTING.md ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ