Frage

Also ich habe ein problem.Ich checkte in meinem gefrorenen Edelsteine und Schienen, obwohl Sie nicht tun sollten, dass.Ich dachte, es war einfach und würde nicht sein, dass große einen deal, trotzdem.Nun, später habe ich aktualisiert, Schienen und dabei alles gelöscht, was der .svn-Dateien im vendor/rails directories.Ich habe gehört, dass das, was ich wirklich sollte tun Sie einfach etwas tun, um zu tun, die mit svn:externals zu meinem vendor-Verzeichnis.Was genau muss ich tun und wird capistrano immer noch meine gefrorenen Edelsteine, wenn Sie nicht in meinem repo?Wenn es nicht meine gefrorenen Edelsteine, wie kann ich regenerieren diese .svn-Dateien korrekt, da diese wird wieder passieren.

Vielen Dank!

War es hilfreich?

Lösung

  1. Erholen Sie Ihre gelöschten .svn Verzeichnisse, führen Sie einfach einen svn update.Sie kommen zurück.

  2. Ich habe einfach mal in der exportierten Edelsteine.Ich benutze gem unpack <gemname> in der vendor/gems Verzeichnis und svn add und commit von dort aus.

  3. Alles in vendor/plugins oder vendor/rails Ich verfolge mit Kolben.Zum Beispiel, das ist, wie ich die Schienen dort:

    % piston import http://dev.rubyonrails.org/svn/rails/tags/rel_2-0-2/ vendor/rails

To get Kolben verwenden gem install piston.

Hinweis: ich werde haben zu finden eine andere/bessere Lösung zu ersetzen Kolben wie Schienen weiterhin verwenden git und kann nicht update der subversion-repository.

Andere Tipps

Persönlich, ich bin teilweise auf die Verwendung Kolben zur Verwaltung der vendor-Verzeichnis.

Ich würde raten, gegen die svn:externals aus zwei Gründen

  1. Sie könnte der Bereitstellung in einer Umgebung, die nicht erreichen können diejenigen svn Dienstleistungen

  2. was passiert, wenn Sie bereitstellen möchten, und diejenigen, svn externen down sind?

Mein Rat ist, verwenden Sie Kolben oder gem entpacken und verwalten Sie Ihre Produktion Abhängigkeiten in Ihr Anbieter Baum.

Haftungsausschluss:Ich weiß nicht, Ruby/Rails, so dass ich nicht weiß, was eingefroren werden Edelsteine (obwohl ich nehme an, Sie sind kompilierte Binärdateien oder mit Token Quelle), aber ich weiß, Subversion gut.

.svn-Verzeichnisse, nur halten Subversion "Buchhaltung".Es gibt nichts dort, das nicht wiederhergestellt werden können.

Löschen Sie Ihre .svn-Dateien ist nicht ein problem auf alle.Wenn die Verzeichnisse mit den fehlenden .svn-Verzeichnisse sind irgendwo in einem Baum von Verzeichnissen in Ihrer Arbeitskopie (das Verzeichnis, das Sie haben eine Kasse in), löschen Sie diese Verzeichnisse, machen Sie ein svn-update, und Sie werden neu erstellt.

Wenn der Baum fehlt .svn-Dateien, löschen Sie den ganzen Baum und ein " svn checkout wieder.

svn:externals ist wie ein "symbolischer link".Sie haben Projekt A und Projekt B, das benutzt Project A.Was Sie tun ist, fügen Sie eine svn:external-Eigenschaft, die auf die Bibliothek directory Projekt Ein, so dass, wenn Sie Auschecken-Projekt B, es wird automatisch das library-Verzeichnis von Projekt A in es.Zum Beispiel habe ich oft haben Sie ein Verzeichnis namens "thirdparty" hält, die die externen Bibliotheken, die von anderswo, einschließlich der evn:externe Referenzen auf andere Projekte in subversion.

Ein Tipp für die Lösung version Probleme wie dieses zu haben, die Freigabe-Verzeichnisse für Bibliotheken (oder gefrorene Edelsteine), und in Ihren Projekten, die Sie benötigen, verwenden Sie eine svn:externer Verweis auf die entsprechenden release-Verzeichnis.Neue releases kommen, ändern Sie einfach die svn:external-Eigenschaft auf den neuen release-Verzeichnis und "svn update".

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