Как создать информацию о повторных журналах в существующем пустом хранилище - PullRequest
6 голосов
/ 26 мая 2011

Как вы, возможно, знаете, по умолчанию git не разрешает обновления журналов для новых пустых репозиториев.Проблема в том, что у меня есть репозиторий с длинной историей, но он был создан до того, как я установил флаг "logAllRefUpdates", и теперь я хочу, чтобы эта информация работала для другого приложения.

Как мне добиться этого с минимальными изменениямисделано в существующий репозиторий.Очень простое решение - нажать новый коммит, который я не хочу (!): -)

1 Ответ

2 голосов
/ 26 мая 2011

Reflog - это относительно простой формат файла.Вот пример:

] cat .git/logs/HEAD|sed 's/\t/<TAB>/'
0000000000000000000000000000000000000000 5cfe4256d98af22a570c78c5e3048391a90f5f98 Joe User <foo@example.com> 1306427954 -0400<TAB>clone: from git://git.kernel.org/pub/scm/git/git.git

Вы можете вручную создать соответствующие reflogs, следуя тому же формату:

previous-ref-or-zero new-ref User Name <user@email> unix-timestamp timezone\tmessage

Просто создайте один из них для каждой ссылки.Вероятно, вы можете сделать это напрямую с помощью git for-each-ref с соответствующей строкой формата (спасибо, Крис!)

...