Projekte im Team über Versionierung sharen => Verzeichnisse?



  • Hi,

    wenn ich im Team z.B. mit GIT oder SVN meinen Code sharen möchte und mein MSVC-Projekt habe, dann möchte ich das Projekt ja sharen, damit auch neu hinzugefügte Dateien mitgebracht werden.

    Im Projekt sind aber auch die Include/Lib-Verzeichnisse (z.B. für boost) eingepflegt. Das sind bei mir absolute Pfade und dann habe ich auf Computer2 boost woanders liegen als auf Computer1 und muss dann jedes mal die Pfade ändern, im schlimmsten Fall bei jedem Commit.

    Das muss doch geschickter gehen, wie macht ihr das?

    Gruß
    E



  • Benutz doch Umgebungsvariablen.



  • Dachte, das geht gar nicht. Dein Hinweis i.V.m. Google belehrte mich eines Besseren, dankeschön. 🙂

    Wenn es noch andere best practices in euren Firmen gibt, informiert mich gerne!



  • Stell die Pfade im Studio ein, nicht im Projekt.



  • Geht ja mit neueren Versionen nicht mehr (falls du auf Extras -> Optionen anspielst), man kann nur Property Pages definieren, das ginge.





  • Eisflamme schrieb:

    Geht ja mit neueren Versionen nicht mehr (falls du auf Extras -> Optionen anspielst), man kann nur Property Pages definieren, das ginge.

    Natürlich geht das noch, steht sogar in dem Dialog drinnen wie es geht.
    => Pfade im "User" Propertysheet eintragen. Das gibt es pro User (Windows Account), gilt dann aber für alle Projekte.



  • Eisflamme schrieb:

    Im Projekt sind aber auch die Include/Lib-Verzeichnisse (z.B. für boost) eingepflegt. Das sind bei mir absolute Pfade und dann habe ich auf Computer2 boost woanders liegen als auf Computer1 und muss dann jedes mal die Pfade ändern, im schlimmsten Fall bei jedem Commit.

    Sofern die "third party" Bibliotheken wirklich immer woanders liegen werden, würde ich hier definitiv mit Umgebungsvariablen arbeiten. Und diese dann auch irgendwo dokumentieren 😉

    Man kann aber auch mit relativen Pfaden, wie z.B. "$(SolutionDir)\..\boost\include" , arbeiten. Zumindest wenn man davon ausgehen kann, dass alle Projekte immer in das selbe Basis-Verzeichnis ausgecheckt werden - auch wenn dieses dann auf jedem Rechner woanders liegen kann. Das erspart das anpassen der Umgebungsvariablen. Natürlich kann man beide Ansätze kombinieren.

    Schließlich könnte man auch in Erwägung ziehen, ein spezielles GIT bzw. SVN Repopsitory mit allen benötigten "third party" Bibliotheken anzulegen, z.B. "Prerequisites" genannt. Es entspricht zwar nicht ganz der reinen Lehre vor-kompilierte Libs in die Versionsverwaltung zu packen. So kommt aber zumindest jeder Entwickler schnell an die benötigten Abhängigkeiten. Und alle sind immer auf dem selben Stand.



  • Ach cool, dankeschön 🙂


Log in to reply