git fetch "not find" "объект ... не найден" ошибки для тайника - PullRequest
7 голосов
/ 03 апреля 2012

У меня есть простая система резервного копирования, в которой клон git, созданный с использованием --bare (возможно, --mirror), запускает git fetch каждый час. Идея состоит в том, что если что-то случится с моими рабочими копиями, у меня будет резервная копия моей работы в клоне.

Эта система отлично работает, но я получаю сообщение об ошибке при запуске git fetch:

$ git fetch
remote: Total 0 (delta 0), reused 0 (delta 0)
error: unable to find 2a8c978c41c362c3f0c42775c9124780a0e71e08
fatal: object 2a8c978c41c362c3f0c42775c9124780a0e71e08 not found

Когда я смотрю в исходном хранилище для объекта, это тайник:

$ git show 2a8c978c41
commit 2a8c978c41c362c3f0c42775c9124780a0e71e08
Merge: 808f6e4 ddc28da
Author: Russell Silva <russell.silva@blahblah.com>
Date:   Wed Feb 29 10:19:26 2012
    WIP on experimental: 808f6e4 blah blah blah

Похоже, что выборка в основном удачная; git log <branch> показывает актуальные ветки. Но ошибки надоедливые. Как мне от них избавиться? Как я могу предотвратить их повторение?

Обратите внимание, что этот вопрос отличается от от этого , когда кто-то на самом деле хочет получить тайник. Мне все равно, если мои git fetch команды извлекают тайники; хорошо, если они этого не сделают.

РЕДАКТИРОВАТЬ: запрошен полный вывод git fetch --verbose:

$ git fetch --verbose
remote: Total 0 (delta 0), reused 0 (delta 0)
From /home/russell/work/russells-project
 = [up to date]      some-branch -> some-branch
error: unable to find 2a8c978c41c362c3f0c42775c9124780a0e71e08
fatal: object 2a8c978c41c362c3f0c42775c9124780a0e71e08 not found

Я изменил имена в выходных данных, чтобы скрыть личную информацию, и исключил все, кроме одной из строк «[в актуальном состоянии]» - их десятки, по одному на каждую ветку в хранилище.

Кроме того, мой пульт находится в локальной файловой системе; к нему нет доступа по сети.

$ git remote --verbose
origin  /home/russell/work/russells-project (fetch)
origin  /home/russell/work/russells-project (push)

1 Ответ

0 голосов
/ 25 апреля 2012

Попробуйте использовать 'cache_fu' http://github.com/defunkt/cache_fu.git

...