Ich habe gerade ein Java-Projekt erstellt. Ich möchte dieses Projekt mit Hilfe von SVNKit zum SVN-Standort einchecken.
Ich verwende den folgenden Code, der dem SVN-Repository einen Ordner hinzufügt. Aber es hat keinen .svn
Ordner im Ordner /Users/test/svnAddDirCheck
erstellt.
Ich möchte, dass die Dateien eingecheckt werden und ich möchte auch einige geänderte Dateien in Zukunft übernehmen. Ohne den Quellcode auszuprobieren, wie kann ich das machen? Kann ich diese Dateien in SVN hinzufügen sowie geänderte Dateien direkt übernehmen?
%Vor%Ich gehe davon aus, dass SVNKit tatsächlich eine svn add des Repositorys und nicht die Arbeitskopie macht? Ist das richtig?
Wenn dies der Fall ist, können Sie keine Dateien zu einem Repository hinzufügen, es sei denn, Sie haben den Ordner, der die ausgecheckten Dateien enthält.
Auch Welche Version von SVN verwendest du? 1.7 platziert nicht mehr einen .svn-Ordner in jedem Ordner Ihrer Arbeitskopie, sondern nur im Stammordner.
Was Sie im Grunde tun wollen, ist Pseudo-Code:
Überprüfen Sie das Verzeichnis, in dem Sie Ordner / Dateien hinzufügen möchten. Wenn es ein Ordner ist, der andere Ordner-Dateien enthält, können Sie es mit einer Tiefe von --lepty auschecken, so dass Sie keine anderen Dateien / Ordner erhalten, die in diesen Ordner eingecheckt werden können.
Erstellen Sie Ihren neuen Ordner / Dateien.
Verwenden Sie svn kit, um die Dateien zur Arbeitskopie hinzuzufügen.
Verwenden Sie svn kit, um die Arbeitskopie zu "committen", die den Ordner / die Dateien zum Repository hinzufügt.
Natürlich muss Schritt 1 nur durchgeführt werden, wenn Sie es noch nicht getan haben. Ihr könnte die gleichen Schritte folgen, die Sie manuell folgen würden. Ich schlage vor, Sie überprüfen die SVN-Dokumentation über die grundlegende Verwendung. Sobald Sie tun können, was Sie mit svn.exe machen wollen, sollte es ziemlich einfach sein, es mit Svnkit API zu duplizieren.
So funktioniert SVN. Wenn Sie zukünftige Änderungen festschreiben möchten, müssen Sie den lokalen Ordner zu einer Arbeitskopie machen. Um eine Arbeitskopie zu erhalten, müssen Sie einen Checkout durchführen.
Eine Alternative, die ich manchmal benutze, ist
.svn
erstellt wird)