Git pull не обновляется, репо несовместимо?

У меня странная проблема с git, настроенным с использованием DAV на apache2.

Я предоставлю более подробную информацию, если это необходимо, но здесь представлен общий обзор проблемы.

У меня есть 3 клона репозитория:

  1. голый, чтобы толкать и тянуть из
  2. один на машине А
  3. один на машине B

Я делаю 1 последнее изменение на машине A, и я перенес все свои изменения, и сделал оба изменения. Проблема в том, что по каким-то причинам я не вижу свои последние изменения после установки на машину B.

Там нет сообщения о том, чтобы быть впереди удаленного на любой машине либо.

Странная часть:

  • Если я сделаю "git log" в пустом хранилище, последние изменения с машины A будут там
  • Если я сделаю еще один клон пустого хранилища, изменений не будет. Это будет только до последних изменений, которые видит машина B.

Это проблема конфигурации сервера или проблема с мерзавцем? У меня была эта проблема в течение многих месяцев.

git branch -a печатает:

Машина А:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

Машина Б:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

.git/config для обоих:

[core]
  repositoryformatversion = 0
  filemode = false
  bare = false
  logallrefupdates = true
[branch "master"]
  remote = origin
  merge = refs/heads/master
[remote "origin"]
  url = http://<url>/p/home.git
  fetch = +refs/heads/*:refs/remotes/origin/*

1 ответ

Решение

Поскольку вы подтвердили, что мое предположение было правильным в комментариях, я добавлю это в качестве ответа:) Похоже, проблема в том, что описано в этом git FAQ:

https://git.wiki.kernel.org/index.php/GitFaq#My_HTTP_repository_has_updates.2C_which_.27git_clone.27_misses._What_happened.3F

В.git / hooks / есть пример ловушки post-update.sample, который можно переименовать в post-update для автоматического запуска git update-server-info после толчка. Это генерирует информацию, необходимую для тупого транспорта HTTP.

Другие вопросы по тегам