On Thu, 14 Jul 2016 14:31:46 -0400
Adam Jensen <han...@riseup.net> wrote:

> I sent a message last night before joining the mailing list (today)
> and I'm not certain if it (last night's post) was distributed to the
> list or not. It's not displayed in the list archive yet. Just in
> case, here it is:
> 
> On 07/13/2016 06:18 PM, Adam Jensen wrote:
> > This might be a bit convoluted but is it possible to use fossil-scm
> > as an SQLite db with the schema/data under revision control? If this
> > functionality doesn't already exist in fossil, would it be
> > difficult, awkward, or crazy to try to implement it?
> > 
> > It seems like such an obvious thing to do that I guess it either
> > already exists or it's so technically twisted that it's virtually
> > impossible.
> > 
> > If this functionality doesn't exist, how would you do it?
> 
> After thinking a little more about this, it seems like maybe this
> isn't something that should be incorporated into Fossil [or SQLite]
> but rather this could be a third system that is based on the other
> two.
> 
> To add a little more verbiage and description to the basic idea, what
> I am imagining is (I'm going to assume that in this new system a
> single db file can support multiple databases) an SQLite database
> with version control on the schema and data. This might be
> accomplished in a fashion similar to the original SCCS - every SQL
> command that causes changes to the [working copy] database is saved
> in the version history (a fossil-like database in this common db
> file). With this, any version of the database could be recreated by
> replaying the history. This process could be sped up by saving or
> creating snapshots of the database at various moments in its history
> (all in the common db file (and, perhaps, read-only)) and then a
> specific version can be created by replaying the relevant set of SQL
> changes made after the snapshot. (This description is just to get the
> idea across; there are probably more clever ways to implement it).

You can use the Sqlite session extension to produce patch files between
db file versions. It has some restrictions on schema and documentation
is scarce, but if I had the same goal as you, I'll try that way.

To use it you need Sqlite version >= 3.13.0

www.sqlite.org/sessionintro.html
 
> Another aspect of this third system is the typical fossil-like data
> sharing. So basically, this could be a distributed, multi-user
> database. Each user would have a local copy (fast access) with their
> own branches (write control) but there could be data sharing through
> merges. (This probably sounds obvious to fossil users but think about
> it from the perspective of sharing database content rather than
> sharing a pile of files (source code).
> 
> For fun, and somewhat whimsically, a name for this Fossil/SQLite
> hybrid might be DVCSQLite <smirk>.


---   ---
Eduardo Morras <emorr...@yahoo.es>
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to