• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

xcode+svn funzt nicht!

  • Ersteller Ersteller Mitglied 7643
  • Erstellt am Erstellt am

Mitglied 7643

Gast
Hallo!

Nachdem ich von Java auf Objective-C umgestiegen bin - einfach genial diese Programmiersprache, natürlich in Verbindung mit Cocoa - wollte ich SVN in Xcode einbinden. In Eclipse funktioniert das prima mit Subclipse. Habe im Internet auch schon Tutorials gefunden, aber irgendwie bekomme ich von Xcode keinen Feedback, wenn ich etwas commite. Hat jemand eine Idee oder eine "gute" Anleitung für mich?
 
Hi,

kannst Du mal genauer beschreiben, mas Du bisher gemacht hast? In den Xcode Preferences, wie das Projekt initial ein-/ausgecheckt, ...
 
svn installiert (die kommandozeilenversion von svn.tigris.org)?
 
Gut, ihr habt recht. Also, meine Repository liegt auf einem remote Server. svn ist auf os x installiert. In XCode habe ich SCM aktiviert bzw. den entfernten Pfad zu der Repository auf dem Server eigegeben.
 
Noch eine Anmerkung. Ich muss auf den entfernten Server über eine sichere Verbindung, sprich svn+ssh zugreifen. Ich habe bereits den Zugriff in der Systemsteuerung->Sharing->Entfernte Anmeldung freigegeben, aber es tut sich nichts. Bei Eclipse musste ich nicht so einen Aufstand machen. Es funktionierte einfach! Ich wünsche es würde auch bei XCode so einfach sein...
 
Ich würde mal sagen, daß Du das "vergessen" kannst. Ich habe selbst meinen SVN Server nur per SSH im Zugriff und per SCM in Xcode ist das alles sehr schwammig. Xcode kann zwar korrekt die Revisionen anzeigen aber ein commit funktioniert nicht. Xcode zeigt es tadellos an und sagt mir sogar, daß angeblich alles ok wäre. Der SVN Server weis davon leider garnichts! Manuell per Terminal eingechecked und alles ist eitel Wonne Sonnenschein.

Es gibt übrigens auch ein bekanntest Problem zwischen Xocee 2.4.0 und SVN 1.4.x. Du solltest also unbdingt darauf achten den aktüllen Xcode 2.4.1 zu verwenden und entweder SVN 1.3.2 oder die neueste SVN Version (1.4.2 glaub ich).

Die enternte Anmeldung startet auf Deinem Rechner einen SSH Server. Dort willst Du in dem Fall aber nicht hin nehme ich an. :-)

Xcode erkennt sogar meine eigenen definierten SVN Protokolle und auch die Hostkeys, aber wie gesagt, es ist sehr schwammig und ich möchte mich da bei meinen Sourcen lieber nicht drauf verlassen. Deswegen hab ich SCm wieder abgeschaltet und mach das im Terminal.
Gruß Pepi
 
Ja, besten dank für deine Antwort Pepi. Ist wirklich schade, dass Xcode diese Nachteile -noch- hat. Ich frage mich nur wie die Apple Entwickler damit zurecht kommen. Hoffentlich ändert sich in 3.0 mehr. Na ja, dann dann werde ich mal einen Script schreiben, das mir die Arbeit im Terminal abnimmt.
 
Wie gesagt, das sind meine persönlichen Erfahrungswerte. Mal sehen wie das mit Xcode 3.0 wird. :-) Das Skript darfst Du natürlich dann gerne hier posten wenns fertig ist.
Gruß Pepi
 
Wie gesagt, das sind meine persönlichen Erfahrungswerte. Mal sehen wie das mit Xcode 3.0 wird. :-) Das Skript darfst Du natürlich dann gerne hier posten wenns fertig ist.
Gruß Pepi

Also bei mir funzt die Kombi

Xcode (2.4.1) & svn+ssh mittlerweile so wie ichs will ;)

Was ich noch gerne hätte wäre ist mein Home-Verzeichnis im SVN ... allerdings mit automatisiertem Commit für neukram.
 
Also bei mir funzt die Kombi

Xcode (2.4.1) & svn+ssh mittlerweile so wie ichs will

Hmm...das hört sich doch gut an. Wärst du bereit ein kleines Tutorial zu schreiben, wie man das machen kann. Alle anderen interessieren sich sicherlich auch dafür. Wir wären dir zu Dank verpflichtet ;)
 
Das gibt es eigentlich nicht viel zu tutoritieren ;)

Das einzige was ich gemacht hab war, dass ich mir ein Schlüsselpaar erzeugt habe.
 
Hmm...ok, das habe ich auch mal gelesen. Vielleicht mache ich mir die Sache nur zu kompliziert. Musst du dazu ssh bzw. Web Sharing unter Systemeinstellungen aktivieren?
 
Hmm...ok, das habe ich auch mal gelesen. Vielleicht mache ich mir die Sache nur zu kompliziert. Musst du dazu ssh bzw. Web Sharing unter Systemeinstellungen aktivieren?

Nein... das was du da in den system einstellungen aktivierst sind die Serverdienste deines Rechners... dort kannst du alles so lassen wie es ist.
 
Habe nun einen key erzeugt und meinem Server hinzugefügt. Ich kann mich nun in den Server problemlos -ohne Passwortabfrage- einwählen. Leider reagiert XCode gar nicht auf diese News. Ich habe den Pfad (SVN) bei Xcode so gesetzt svn+ssh://meineip/root/rep. Funzt nicht. Er lädt nichts hoch :(.

P.S. Das Projekt habe ich auch zum trunk hinzugefügt und den build Ordner gelöscht, wie es auf einer Internetseite beschrieben steht.
 
Habe nun einen key erzeugt und meinem Server hinzugefügt. Ich kann mich nun in den Server problemlos -ohne Passwortabfrage- einwählen. Leider reagiert XCode gar nicht auf diese News. Ich habe den Pfad (SVN) bei Xcode so gesetzt svn+ssh://meineip/root/rep. Funzt nicht. Er lädt nichts hoch :(.

P.S. Das Projekt habe ich auch zum trunk hinzugefügt und den build Ordner gelöscht, wie es auf einer Internetseite beschrieben steht.

In den Verzeichnissen sind aber schon .svn-Verzeichnisse vorhanden, oder?
 
In den Verzeichnissen sind aber schon .svn-Verzeichnisse vorhanden, oder?

Wie meinst du das? Ich habe einen Ordner erstellt und folgende Unterordner hinzugefügt: trunk, branch, target. In Target habe ich die Projektdateien kopiert. Das ist alles.
 
Wie meinst du das? Ich habe einen Ordner erstellt und folgende Unterordner hinzugefügt: trunk, branch, target. In Target habe ich die Projektdateien kopiert. Das ist alles.

Ich meine den, der sich auf deinem Rechnern befindet. Der in dem Du dein xcodeproject hast.
 
Ich weiss zwar nicht, was dieses "funzten" ist, aber ich nutze svn auch mit Xcode 2.4.

Für einfache Dinge geht es, und man kann sich sehr schön Änderungen anzeigen lassen etc. Allerdings traue ich Xcode 2 nicht, und prüfe jedes commit mit dem Terminal

Alex