Question

J'ai un problème étrange avec git configuré à l'aide DAV apache2.

Je vais fournir plus de détails, si nécessaire, mais voici un aperçu de haut niveau du problème.

J'ai 3 clones d'un référentiel:

  1. celui nu pour pousser et tirer de
  2. un sur la machine A
  3. un sur la machine B

Je fais 1 la dernière modification sur la machine A, et je poussais tous mes changements, et fait une traction sur les deux. Le problème est, pour une raison quelconque, je ne vois pas mes dernières modifications après avoir tiré sur la machine B.

Il n'y a pas de message d'être à l'avance à distance sur la machine soit non plus.

La partie bizarre est:

  • Si je fais un « journal git » sur le dépôt nu, les dernières modifications de la machine A seront là
  • Si je fais un autre clone du dépôt nu, les changements ne seront pas là. Il ne sera à la hauteur des dernières modifications qui voit la machine B.

Est-ce un problème de configuration du serveur ou un problème git? J'ai eu ce problème depuis plusieurs mois.

imprime git branch -a:

Machine A:

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

Machine B:

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

.git/config pour les deux:

[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/*
Était-ce utile?

La solution

Depuis que vous avez confirmé ma supposition était juste dans les commentaires, je vais ajouter ceci comme une réponse :) Il semble que le problème est celui qui est décrit dans ce git FAQ:

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

Il y a un crochet d'échantillon appelé post-update.sample dans .git / hooks / que vous pouvez renommer à la post-mise à jour afin d'exécuter automatiquement git update-server-info après une poussée. Cela génère des informations nécessaires par le transport HTTP muet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top