Was soll ich tun mit dem vendor-Verzeichnis mit Respekt für die subversion?
-
02-07-2019 - |
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!
Lösung
Erholen Sie Ihre gelöschten
.svn
Verzeichnisse, führen Sie einfach einensvn update
.Sie kommen zurück.Ich habe einfach mal in der exportierten Edelsteine.Ich benutze
gem unpack <gemname>
in dervendor/gems
Verzeichnis undsvn add
undcommit
von dort aus.Alles in
vendor/plugins
odervendor/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
Sie könnte der Bereitstellung in einer Umgebung, die nicht erreichen können diejenigen svn Dienstleistungen
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".