Versionsmanagement als Modul in anderen Programmen?
-
Gibt es die Möglichkeit, aus einem Programm heraus (z.B. in c++ geschrieben) mit einem Versionskontroll-tool (z.B. SVN) zu interagieren?
Beispiel: In meinem Programm wird immer wieder eine Datei generiert, die unter Versionskontrolle gestellt werden soll. In einem anderen Teil des Programms sollen z.B. Unterschiede zwischen der aktuellen Version und Vorgängerversionen gefunden werden, natürlich möglichst über bereits vorhandene Funktionalität des tools. Ich möchte das Tool allerdings nicht über irgendwelche system()-Befehle oder ähnliches ansprechen sondern möglichst direkt über eine API.
Gibt es sowas? Welches Tool kann man so ohne weiteres in ein Programm einbinden?
-
Mit Anjuta kann man doch auch auf sein CVS zugreifen, also gibt es eine Moeglichkeit. Kannst ja mal in den Code reinschauen.
Ivo
-
Subversion ist ein Haufen Libraries + diverse Tools (wie das "svn" Command-Line Tool oder auch andere ala TortoiseSVN). Wobei die Tools auch nur ein User-Interface anbieten um die Libraries "anzusprechen". Und die Libraries kannst du auch "direkt" in dein Programm einbinden.
Die vernünftige Variante wäre aber wohl einfach die Command-Line Tools per system/CreateProcess/... einzubinden.
-
hustbaer schrieb:
Subversion ist ein Haufen Libraries + diverse Tools (wie das "svn" Command-Line Tool oder auch andere ala TortoiseSVN). Wobei die Tools auch nur ein User-Interface anbieten um die Libraries "anzusprechen". Und die Libraries kannst du auch "direkt" in dein Programm einbinden.
Die vernünftige Variante wäre aber wohl einfach die Command-Line Tools per system/CreateProcess/... einzubinden.
Jup, SVN hab ich auch heute nachmittag mal angeschaut, die API scheint recht gut dokumentiert zu sein und man kann an der Stelle in die Verantwortlichkeits-Kette einsteigen wo es nötig ist. Laut der Doku ist es auch gerade vernünftiger, die API direkt anzusprechen statt über das Kommandozeilen-tool zu gehen.
Dennoch danke für den Tip