2009-03-25 9 views
2

Vor etwa 40 Minuten habe ich eine besonders komplizierte Änderung vorgenommen, bei der mehrere Dateien umbenannt, verschmolzen und von git in cvs gelöscht wurden, wobei git-cvsexportcommit verwendet wurde. Das ging gut, und ein Checkout von CVS sieht die Änderungen. Die Änderungen werden jedoch nicht angezeigt, wenn ich git-cvsimport zum Aktualisieren meiner Git-Spiegelung des CVS-Repositorys ausführe.Wie debugiere ich git-cvsimport? (kann kompliziertes Commit nicht sehen)

Ich weiß, dass git-cvsimport den Import von sehr neuen Änderungen verzögert, um zu verhindern, dass ein Git-Commit aus einem CVS-Commit mit mehreren Dateien gemacht wird, das noch nicht abgeschlossen ist, aber ich bin ziemlich sicher, dass die Verzögerung nur zehn Minuten beträgt .

Irgendwelche Ideen, was ist los? Wie debugge ich das überhaupt? Muss ich cvsps mit der Hand laufen lassen und wenn ja, wonach würde ich suchen?

Antwort

7

Sie sollten versuchen, die relevante cvsps-Cachedatei zu löschen (sollte in ~/.cvsps/sein). Ich hatte ähnliche Probleme in der Vergangenheit und ich habe das geklärt.

Sie können auch versuchen, die Option -x an cvsps zu übergeben, um die Cachedatei zu ignorieren. Sie können dazu die Option "-p" von git-cvsimport verwenden.

Wenn alles andere fehlschlägt, würde ich vermuten, dass ein frischer git-cvsimport -C die Änderung übernehmen würde.

Viel Glück!

+0

Hmm, ich glaube, ich passiere schon -p x oder so ähnlich. (Muss morgen nachsehen, wenn ich wieder an die Arbeit bin.) Ich werde es versuchen, wenn ich es nicht bin. Mein nächster Schritt würde am nächsten Morgen ein frischer git-cvsimport sein. Seufz ... :) – skiphoppy

+0

Ja, ich benutzte bereits -p x. Ich habe versucht, ~/.cvsps/zu löschen, ohne zu erwarten, dass es funktioniert, und das tat es nicht. Also mache ich einen brandneuen Import. Zumindest kann ich dieses Mal die Best Practices von Ihrem anderen Beitrag lesen. :) [Ich werde dieses Mal in eine entfernte namens cvs importieren, usw.] – skiphoppy

+0

Ein neuer cvsimport hat aufgenommen, was ich vermisst habe. Ich kann das Patchset in der Ausgabe von cvsps sehen. Fortgesetzte Versuche, meinen ursprünglichen Git-Spiegel zu aktualisieren, funktionieren nicht. Interessanterweise teilen sich meine neuen Git-Spiegelserver und alten Objekt-IDs für frühe Commits, aber nicht für aktuelle Commits, noch vor dem Vermissten. – skiphoppy