2008-09-06 5 views
4

Ich mag, wie SQLite-Bibliothek in eine Anwendung aufgenommen werden kann und die Anwendung hat eine vollwertige Datenbank zu verwenden.Versionierungsbibliothek wie SQLite-Datenbankbibliothek?

Gibt es auch eine Open-Source-Versionierungsbibliothek, die ich in meine Anwendung aufnehmen kann, so dass ich sowohl Versionen von Dateien speichern als auch Diffs und Merges machen kann?

Antwort

3

SVN erfordert auf dem Endbenutzercomputer keine Voraussetzungen. Sie können SVN direkt in Ihre App einbetten. Um mehr über die Subversion-Integration zu erfahren, besuchen Sie den "Application Integration/Embedding" Thread im SVN-Forum.

+0

Ich bekomme eine 404 auf den eingebetteten Link in dieser Antwort. –

-1

Meiner Meinung nach Firebird ist eine der besten Möglichkeiten für eingebettete DB-Szenarien.
Auch Microsoft SQL Server Compact (geschlossene Quelle, aber frei) könnte geeignet sein, jedoch weniger geeignet als Firebird.

EDIT: Ich falsch gelesen Sie Frage. Wenn Sie RDBMS nicht benötigen, können Sie versuchen, SVN in Ihre Anwendung einzubetten.

0

Ich bin nicht ganz sicher, was Sie unter "in einer Anwendung enthalten" verstehen, da Sie möglicherweise eine beliebige Bibliothek bereitstellen können, solange die Lizenzierung dies zulässt. Beziehen Sie sich auf die Tatsache, dass SQLite klein ist oder dass es public domain ist?

Mercurial ist ein ähnlich leichtes Stück Software zur Versionskontrolle. Wenn Sie Ihre Anwendung in Python schreiben, was wahrscheinlich seit python now includes sqlite3 ist, sollte das Importieren von Features direkt aus dem Quellcode von mercurial nicht allzu schwierig sein. Ansonsten ist es keine Schande, Befehlszeilenprozesse aufzurufen, obwohl dies möglicherweise etwas verstörender ist. Mercurial ist keine Public Domain, aber es ist GPL.

Mercurial ist auch mein persönlicher Favorit unter den modernen Revisionskontrollsystemen. Es ist dem CVS und Subversion voraus und dem GIT sehr ähnlich, obwohl es etwas einfacher zu benutzen ist.

1

Meine Frage selbst beantworten, habe ich vor kurzem hgshelve und gitshelve entdeckt, das ist fast genau das, was ich suchte.

0

Sie könnten sich fossil ansehen, ein scm-Tool, geschrieben vom Autor von sqlite. Ich weiß nicht, wie einfach es ist einzubetten, aber es ist eine einzelne Datei ausführbar, so dass es ziemlich einfach sein sollte, von innerhalb Ihrer Anwendung zu laufen.

Es kann sein, dass die Ausführung als separater Prozess tatsächlich besser ist als die Einbettung, da es Ihre App nicht verlangsamt, während sie das tut, was sie tut.