Domanda

Ho un problema strano con git configurato utilizzando DAV su apache2.

ti forniscono ulteriori dettagli, se necessario, ma qui è una panoramica di alto livello del problema.

Ho 3 cloni di un repository:

  1. la nuda quello di spingere e tirare da
  2. uno sulla macchina A
  3. uno sulla macchina B

Lo faccio 1 ultima modifica sulla macchina A, e ho spinto tutti i miei cambiamenti, e ha fatto un tiro su entrambi. Il problema è che, per qualche motivo non vedo i miei ultimi cambiamenti dopo aver tirato sulla macchina B.

Non v'è alcun messaggio di essere davanti a distanza su entrambi macchina sia.

La parte strana è:

  • Se faccio un "git log" sul repository nuda, le ultime modifiche dalla macchina A ci saranno
  • Se faccio un altro clone del repository nuda, i cambiamenti non sarà lì. Sarà solo fino agli ultimi cambiamenti che macchina B vede.

E 'questo un problema di configurazione del server o di un problema di git? Ho avuto questo problema per molti mesi.

stampe git branch -a:

Macchina A:

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

Macchina B:

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

.git/config per entrambi:

[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/*
È stato utile?

Soluzione

Dal momento che hai confermato la mia ipotesi era proprio nei commenti, aggiungerò questo come una risposta :) Sembra che il problema è quello descritto in questa FAQ git:

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

C'è un gancio di esempio chiamata post-update.sample in .git / ganci / che è possibile rinominare al post-aggiornamento per git update-server-info eseguire automaticamente dopo una spinta. Questo genera le informazioni necessarie per il trasporto HTTP muto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top