2011-01-03 10 views
1

Ich habe ein seltsames Problem mit Git konfiguriert mit DAV auf Apache2.Git Pull nicht aktualisiert, Repo inkonsistent?

Ich werde mehr Details zur Verfügung stellen, wenn nötig, aber hier ist eine allgemeine Übersicht über das Problem.

Ich habe 3 Klone eines Endlagers:

  1. die bloße zu schieben und von
  2. einem auf Maschine ziehen A
  3. einem auf Maschine B

I 1 tun letzten Änderung an Maschine A, und ich drückte alle meine Änderungen und zog an beiden. Das Problem ist, aus irgendeinem Grund sehe ich nicht meine letzten Änderungen nach dem Ziehen an Maschine B.

Es gibt keine Nachricht über vor der Fernbedienung auf beiden Maschinen entweder.

Der seltsame Teil ist:

  • Wenn ich ein „git log“ auf dem nackten Repository tun, werden die letzten Änderungen von Maschine A da sein
  • Wenn ich einen anderen Klon des nackten Repository tun, Die Änderungen werden nicht da sein. Es wird nur bis zu den letzten Änderungen von Maschine B gehen.

Ist dies ein Serverkonfigurationsproblem oder ein Git Problem? Ich habe dieses Problem seit vielen Monaten.

git branch -a druckt:

Maschine A:

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

Maschine B:

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

.git/config für beide:

[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/* 
+0

Was macht 'git branch -a'? – Alexandru

+0

sind die .git/config-Dateien für A und B gleich? – Abizern

+0

ja, die .git/config sind die gleichen – Verhogen

Antwort

3

Da Sie haben rechts in den Kommentaren bestätigt meine Vermutung war, ich werde dieses Add als Antwort :) Es klingt wie das Problem ist, das man in diesem git FAQ beschrieben:

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

Es gibt eine Probe Haken genannte Post-Update .sample in .git/hooks /, die Sie umbenennen können, um nach dem Update automatisch git update-server-info nach einem Push auszuführen. Dies erzeugt Informationen, die von dem dummen HTTP-Transport benötigt werden.

+0

Dieser Link zu kernel.org ist kaputt, die Seite ist jetzt hier: https://git.wiki.kernel.org/articles/g/i/t/GitFaq_ebc3.html#My_HTTP_repository_has_updates.2C_which_git_clone_misses._What_happened.3F – bosgood