Xcode Projekte vergleichen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Xcode Projekte vergleichen

    Hallo,

    ich habe da mal eine allgemeine Frage zum Vergleichen von Xcode Projekten. Folgendes Beispiel: Es liegen zwei Projekte mit gleicher Versionsnummer vor (sollte eigentlich nicht vorkommen, ist halt jetzt mal so - kein Repository im Einsatz). Es wäre jetzt gut zu wissen, wo die Unterschiede im Sourcecode sind. Wem ist so etwas schon einmal passiert und wie wurde es gelöst?

    Klar kann man im Finder die einzelnen Dateien ansehen und sich anhand der Metadaten orientieren, aber darum geht es mir nicht. Mir wäre es wichtiger das Delta (Inhalt) der einzelnen Dateien angezeigt zu bekommen.

    Prima wäre natürlich wenn ein Abgleich mit Delta-Übernahme durchgeführt werden könnte, falls so etwas überhaupt möglich ist.

    Welches Tool könnte man hierzu heranziehen?

    Vielen Dank.
  • Ich würde eine Versionsverwaltung, z.B. Git oder dergleichen, verwenden. Also mit einem der beiden Projekt ein Repository aufsetzen und dann die Dateien aus dem anderen Projekt ins erste Projekt kopieren. Über Xcode und die Versionsverwaltung kannst Du dann die Änderungen erkennen und diese ggf. übernehmen oder verwerfen.

    Es gibt aber bestimmt auch eine ganze Reihe Diff Tools, die Dir diesbezüglich behilflich sein könnten.
  • MCDan schrieb:

    Ich würde eine Versionsverwaltung, z.B. Git oder dergleichen, verwenden. Also mit einem der beiden Projekt ein Repository aufsetzen und dann die Dateien aus dem anderen Projekt ins erste Projekt kopieren. Über Xcode und die Versionsverwaltung kannst Du dann die Änderungen erkennen und diese ggf. übernehmen oder verwerfen.
    ...
    @MCDan: Habe es so umgesetzt und es hat funktioniert. Danke


    Nun - ich denke darüber nach, ein NAS mit Git aufzusetzen oder ist ein Xcode Server die bessere Wahl? Falls dem so sein sollte, wo finde ich Hinweise hierzu?
  • nussratte schrieb:

    Kommt drauf an was du da für Projekte hast.
    ...
    Nun ja, das nächste Projekt wird wohl ein größeres werden und da nehme ich mir lieber im Vorfeld die Zeit um die richtige Wahl für ein Repository zu treffen.

    Der wichtigste Punkt ist, dass hier alle damit zurechtkommen - also Handhabung muss einfach sein. Aber es sollte auch sicher und übersichtlich sein.

    Ein OSX Server läuft bereits, da noch einen Xcode Server darauf zu installieren ist also nicht wirklich ein Hindernis.

    Erwähnt werden sollte auch, dass die Entwicklung von unterschiedlichen Rechnern aus durchgeführt wird. Mal banal zum Ausdruck gebracht: Rechner A wird von Montag bis Mittwoch verwendet, Rechner B am Donnerstag und Rechner C den Rest der Woche. Evtl. werden Komponenten auch parallel entwickelt und müssen hinterher zusammen gebracht werden.

    Welches Produkt würde man hierfür einsetzen und aus welchen Gründen (Vor- und Nachteile wären sehr interessant)?
  • nussratte schrieb:

    Die Größe ist relativ egal
    Ich meinte eher im Sinne von Kundenprojekt
    Sensible Daten etc
    Größe bedeutet in diesem Fall sehr umfangreich usw. s.o..
    Was hat dies mit der Einstufung der Daten zu tun. Es geht hier doch um den Sourcecode und dessen Handhabung.


    Nachdem auf einem NAS GIT installiert wurde und ein entsprechendes Repository eingerichtet wurde, habe ich in diesem verschiedene Verzeichnisse angelegt und diese via Git initialisiert. Soweit so gut.
    Innerhalb von Xcode habe ich eine Test App mit der Option "Create Git repository on my Mac" angelegt. Danach habe ich den Source Control Navigator aufgerufen und dort mit der rechten Maustaste die Option "Add Existing Remote ..." ausgewählt und den Pfad zum NAS-Verzeichnis angegeben. Auch dies hat funktioniert. Ein Push kann ich erst durchführen wenn einmal ein Commit erfolgte. Nun dies hat auch funktioniert, aber wenn ich nun ein Pull durchführen möchte, wird mir mitgeteilt, dass kein Branch angelegt wurde. Also ist da wohl irgendwo etwas im Argen. Kann mir da jemand weiterhelfen? Was beachte ich nicht, bzw. wo muss ich noch etwas eintragen und wie kann ich kontrollieren ob die Daten auch wirklich übertragen wurden? Gibt es ein LogFile welches diesen Vorgang protokoliert? Falls ja wo finde ich dieses?
  • OSXDev schrieb:

    nussratte schrieb:

    Die Größe ist relativ egal
    Ich meinte eher im Sinne von Kundenprojekt
    Sensible Daten etc
    Größe bedeutet in diesem Fall sehr umfangreich usw. s.o..Was hat dies mit der Einstufung der Daten zu tun. Es geht hier doch um den Sourcecode und dessen Handhabung.


    Und nochmal, das ist egal wie unfangreich das ist.
    Wenn das ein Kundenprojekt ist und vertraglich vereinbart ist das nicht in den USA oder was auch immer abzulegen, kann sowas wie github halt nicht genutzt werden.

    Ansonsten ist es unnötiger Aufwand sich sowas selbst aufzusetzen.

    Ist aber auch egal
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • nussratte schrieb:

    OSXDev schrieb:

    nussratte schrieb:

    Die Größe ist relativ egal
    Ich meinte eher im Sinne von Kundenprojekt
    Sensible Daten etc
    Größe bedeutet in diesem Fall sehr umfangreich usw. s.o..Was hat dies mit der Einstufung der Daten zu tun. Es geht hier doch um den Sourcecode und dessen Handhabung.
    Und nochmal, das ist egal wie unfangreich das ist.
    Wenn das ein Kundenprojekt ist und vertraglich vereinbart ist das nicht in den USA oder was auch immer abzulegen, kann sowas wie github halt nicht genutzt werden.

    Ansonsten ist es unnötiger Aufwand sich sowas selbst aufzusetzen.

    Ist aber auch egal

    Es war nie die Rede davon die Daten (ob Kundendaten oder Sourcecode) außerhalb der lokalen Infrastruktur zu speichern.

    Im übrigen weicht dies auch vom Thema ab. Meine Frage lt. s.u.:

    OSXDev schrieb:

    ...


    Ein Push kann ich erst durchführen wenn einmal ein Commit erfolgte. Nun dies hat auch funktioniert, aber wenn ich nun ein Pull durchführen möchte, wird mir mitgeteilt, dass kein Branch angelegt wurde. Also ist da wohl irgendwo etwas im Argen. Kann mir da jemand weiterhelfen? Was beachte ich nicht, bzw. wo muss ich noch etwas eintragen und wie kann ich kontrollieren ob die Daten auch wirklich übertragen wurden? Gibt es ein LogFile welches diesen Vorgang protokoliert? Falls ja wo finde ich dieses?
    Wäre wirklich prima wenn mir hier jemand ein paar Anhaltspunkte liefern könnte.


    MCDan schrieb:

    Ich verwende für Git Sourcetree als Tool für die Verwaltung. Finde ich besser, als dies direkt in Xcode zu erledigen.
    Habe mir Sourcetree mal angesehen. Finde es auch gut, nur funktioniert es mit unserem NAS nicht stabil und den Xcode Server habe ich mangels Zeit noch nicht konfiguriert. Mal sehen ob es mit diesem stabiler läuft.
  • MCDan schrieb:

    Ich verwende für Git Sourcetree als Tool für die Verwaltung. Finde ich besser, als dies direkt in Xcode zu erledigen.
    Nachdem ich mein Problem mit Git und dem NAS gelöst habe, setze ich nun Sourcetree ein.

    @MCDan: Danke für den Tipp. :thumbup:


    Anbei ein paar Anmerkungen zur Lösung meines Problems mit der Kombination Git/NAS:
    - Git Account muss Adminrechte innehaben.
    - Repository Verzeichnis muss Shared sein und die Rechte für den Account müssen für die Unterverzeichnisse auf Changed gesetzt sein.
    - Um ein ständiges Anmelden mit dem Account zu unterbinden, habe ich mir entsprechende Schlüssel (Privat/Public) erzeugt.
    - Nicht vergessen, den Public-Key im Repository Verzeichnis (.ssh) speichern.

    Die Kommunikation mit dem NAS funktioniert nun reibungslos. Perfekt. :thumbsup: .

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von OSXDev ()