Frage

Ich arbeite derzeit mit Partner an einem PHP -Projekt.

Wir bearbeiten beide direkt auf einen lokalen Server (alle Dateien werden auf dem Server gespeichert, wobei auch ein WAMP -Stack ausgeführt wird). Ich suche einen SVN -Client, der alle Änderungen am HTDOCS -Ordner überwacht und speichert und ein Remote -SVN -Repository über das Web aktualisiert.

Es wäre ein großartiger Bonus, wenn ich den SVN-Client über eine Weboberfläche manipulieren könnte.

Zum Beispiel sagen ich, ich speichere file1.php auf den Server. Es würde aktualisieren file1.php Auf der SVN -Website. Wenn ich plötzlich feststellen würde, dass meine neuesten Überarbeitungen in der Datei schlecht sind, könnte ich zum Server gehen (oder eine Weboberfläche von meinem Computer verwenden) und ersetzen file1.php mit einer älteren Überarbeitung.

Ich möchte nicht nur einen SVN -Server auf unserem lokalen Computer installieren, da ich immer eine Kopie mit den neuesten Änderungen remote speichern möchte.

Irgendwelche Empfehlungen?

War es hilfreich?

Lösung

Ich kenne keine Software, um dies zu tun. Es wäre wahrscheinlich nicht schwierig, dies mit dem Standard -Befehlszeilen SVN -Client zu entfassen. IE haben ein Stapel-/Shell -Skript, das regelmäßig ausgeführt wird und alles überprüft, was sich geändert hat.

Das heißt, ich würde es tun sehr stark Beraten Sie es dagegen!

Das normale Arbeitsmodell der Quellenkontrolle ist, dass jeder eine lokale Kopie zum Arbeiten hat und dann seine Änderungen an einem zentralen Repository überprüft.

Der explizite manuelle Checkin stellt sicher, dass Sie nur Dinge einchecken, die (im Allgemeinen) in den Funktionen des Checkins einchecken.

Anschließend kann der Server mit einer bekannten guten Version aus dem Quellvertretungsrepository aktualisiert werden.

Es hört sich so an, als würden Sie an einem Produktionssystem arbeiten. Ich würde dringend empfehlen, eine Entwicklungsumgebung und den oben genannten Ansatz zu verwenden.

Andere Tipps

Wenn ich dies richtig erwerbe, ist es Ihre Absicht, SVN als versioniertes automatisches Sicherungssystem zu verwenden. Wenn dies der Fall ist, wäre es am einfachsten, ein Tool zur Dateiüberwachung zu verwenden und dann den SVN-Befehlszeilenclient für geänderte Dateien aufzurufen, um sie für SVN zu verpflichten.

Ich habe es noch nicht ausprobiert, aber SVN-Monitor könnte nützlich sein. Sie benötigen den oben erwähnten Kundenkunden, um damit zu arbeiten.

Ich habe keine gefunden (ich hatte auch die gleichen Schwierigkeiten).

Wir machen dies in 2 Schritten.

Wenn ich einen Teil der Software entwickeln muss - ich verzweigte den Kofferraum und ändere ihn, wenn die anderen dasselbe tun, um ihre Aufgaben zu erledigen. Dann verschmelzen wir die Zweige und testen sie. Nach dem Testen des Trunks wird durch diesen zusammengeführten Patch aktualisiert.

Und schließlich führt Cronjob (oder manuell) ein Skript aus, das Ressourcen für den Wartungsmodus festlegt, HTDOCs und exportiert dort einen neuen Kofferraum und kaut/chmod alles nach Bedarf.

Dieses Skript können wir jederzeit von Admin-Panel ausführen und eine Neccesary Revision festlegen, wenn wir Fehleränderungen schnell zurückversetzen müssen ...

Möglicherweise möchten Sie eine Distribute Source Code Control -Lösung (Bazaar, Git, Mercurial) für das von Ihnen vorgeschlagene Szenario in Betracht ziehen, in dem zwei Ausschüsse gegen zwei Codebasen arbeiten. Sie könnten dann lokale Commits haben und die Änderungen an die beiden Ziele gegebenenfalls schieben und ziehen.

Wenn Sie jedoch zu Ihrem unmittelbaren Problem gehen, benötigen Sie möglicherweise eine Art von Dienstprogramm

Ich glaube nicht, dass es möglich oder so einfach ist.

Wenn Sie einen Ordner unter SVN auf den Client einstellen, wird eine bestimmte Ordnerstruktur erstellt, um zu verfolgen, welche Dateien gesperrt, geändert werden und so weiter. Es ist eine schlechte Idee, einen Server -SVN -Ordner zu aktualisieren, ohne zuerst Dateien zu überprüfen oder Dateien zu bearbeiten (wie Sie möchten).

Ein geplanter Job, der Ihren HTDOCS -Ordner in einer ZIP -Datei sammelt, Version IT über Dateiname und dann in einen Remotespeicher hochladen kann, kann eine einfachere und schnellere Möglichkeit sein, dies zu verwalten.

Ich weiß nicht, ob vielleicht der SVN Post-Commit-Haken Könnte bei dem richtigen Skript ein Gebrauch sein? Sie können die Änderungen automatisch aus der aktuellen Überarbeitung (dh der gerade vor dem Aufruf des Haken gerichteten Überarbeitung) an das Produktionssystem bereitstellen. Ich denke, das ist die Art von Dingen, nach denen Sie fragen?

Ich muss sagen, dass ich mit einigen anderen Kommentaren hier zu der unvernehmlichen Nahrung dessen zustimme, was Sie vorschlagen. Ich würde eine Lösung empfehlen, in der Sie den Bereitstellungsprozess manuell initiieren und die Quelle dann aus dem Repository gezogen wird.

Entschuldigung, wenn ich missverstanden habe.

Bearbeiten: Nachdem Sie die Frage erneut gelesen haben, suchen Sie nach automatisierten Commits im Repository und nicht nach automatisierten Bereitstellungen. Da dies der Fall ist, ist die von anderen vorgeschlagene geplante Skriptlösung der beste Ansatz, den ich mir auch vorstellen kann. +1 an diejenigen, die das vorgeschlagen haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top