Domanda

Mi piace il modo in cui la libreria SQLite può essere inclusa in un'applicazione e l'applicazione dispone di un database completo da utilizzare.

Allo stesso modo, esiste una libreria di versioni open source che posso includere nella mia applicazione in modo da poter salvare versioni di file nonché eseguire differenze e unioni?

È stato utile?

Soluzione

SVN non richiede alcun prerequisito sul computer dell'utente finale.Puoi incorporare SVN direttamente nella tua app.Per saperne di più sull'integrazione di Subversion, visita "Integrazione/incorporamento di applicazioni" discussione sul forum SVN.

Altri suggerimenti

Rispondendo io stesso alla mia domanda, l'ho scoperto di recente hgshelve E gitshelve è quasi esattamente quello che stavo cercando.

Non sono del tutto sicuro di cosa intendi per "incluso in un'applicazione", poiché potresti potenzialmente fornire qualsiasi libreria purché la licenza lo consenta.Ti riferisci al fatto che sqlite è piccolo o che lo è dominio pubblico?

Mercuriale è un software di controllo di revisione altrettanto leggero.Se stai scrivendo la tua applicazione in Python, è probabile che da allora Python ora include sqlite3, importare funzionalità direttamente dal codice sorgente di mercurial non dovrebbe essere troppo difficile.Altrimenti non c'è vergogna nell'invocare processi da riga di comando, anche se questo potrebbe essere più complicato.Mercurial non è di dominio pubblico, ma è protetto da GPL.

Mercurial è anche il mio preferito tra i moderni sistemi di controllo di revisione.È un passo avanti rispetto a CVS e Subversion ed è molto simile a GIT anche se in qualche modo più semplice da usare.

Potresti voler dare un'occhiata fossile, uno strumento scm scritto dall'autore di sqlite.Non so quanto sia facile da incorporare, ma è un singolo file eseguibile, quindi dovrebbe essere abbastanza facile eseguirlo dall'interno dell'applicazione.

Probabilmente, eseguirlo come processo separato potrebbe effettivamente essere migliore dell'incorporamento poiché non rallenterà la tua app mentre fa quello che fa.

Secondo me Uccello di fuoco è una delle scelte migliori per gli scenari DB incorporati.
Anche Microsoft SQL Server compatto (sorgente chiuso, ma gratuito) potrebbe essere adatto, tuttavia è meno capace di Firebird.

MODIFICARE:Ho letto male la tua domanda.Se non hai bisogno di RDBMS, puoi provare a incorporarlo SVN alla tua richiesta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top