Richtig, das hat mich zwei Tage lang gebrochen. Ich kann nirgendwo eine Antwort bekommen!
Ich habe Drush 4.4 auf meinem Server. Ich benutze SVN über Unfuddle.com. Ich habe eine Seite, ich möchte viele Module aktualisieren. Ich möchte nur den Code aktualisieren, dann überprüfen, ob er funktioniert (DB-Updates sind derzeit kein Problem), und dann den entsprechenden Code festschreiben.
Früher war es so, dass drush dl den Modulcode einfach über das alte Modul herunterlud, ohne ihn zu entfernen. Das ist nicht mehr der Fall. Jetzt entfernt AFAICT, drush das Modulverzeichnis und ersetzt es durch die neuere Version. Das ist alles schön und gut, denn es löst das Problem, dass alte Dateien, die sich nicht mehr im aktualisierten Modul befinden, zurückbleiben.
Bei Verwendung der Befehle drush dl oder upc stecke ich jedoch fest, da das Ausführen dieser Befehle zwar die neuere Version erhält, dabei jedoch den SVN-Datenordner zerstört, sodass ich überall Probleme mit "! Module / file.php" habe Dateien, die nicht mehr da sind.
Ich wurde darauf hingewiesen, dass "drush upc / dl modulename --version-control = svn" funktionieren sollte, aber es funktioniert nicht. Die SVN-Daten werden weiterhin zerstört.
Dies lässt mich mit dem potenziellen Albtraum zurück, dass ich: svn del module, svn commit -m "Entferntes Modul", drush dl Modul (teste das Modul), svn add module, svn commit -m "Added module" - für jedes einzelne Modul, das ein totaler Horror ist.
Ich möchte drush nicht so einrichten, dass meine Änderungen automatisch festgeschrieben werden. Ich möchte sie nur herunterladen und am Ende alle manuell festschreiben, wenn ich mit den Änderungen zufrieden bin. Das kann nicht so schwer sein, aber ich kann es einfach nicht zum Laufen bringen.
Ich wurde auch darauf hingewiesen, dass der Wechsel zu Git (ja, ich bin mir bewusst, dass Unfuddle Git unterstützt!) Auch eine Lösung ist, aber keine unmittelbare und zu diesem Zeitpunkt nicht zufriedenstellende.
Kann jemand bitte etwas Licht ins Dunkel bringen?!
quelle
Antworten:
Ich verwende Drush 4.4 und dies scheint bei mir nicht der Fall zu sein. Wird ausgeführt
drush upc
oderdrush up
hält Ihre.svn
Verzeichnisse intakt. Sie könnensvn status
die Änderungen an den Modulen überprüfen. Neue Dateien werden durch?
und entfernte Dateien durch angezeigt!
.Testen Sie die Funktionalität Ihrer Site. Wenn Sie zufrieden sind, dass die Module noch ordnungsgemäß funktionieren, können Sie sie mit einem Snippet wie dem folgenden hinzufügen / entfernen:
hinzufügen:
entfernen:
quelle
Sie sollten
--svnsync
Ihrem Befehl hinzufügen .Beispiel:
quelle