I think you exactly right about the wiki. Relational database is
unnatural fit for wiki.
I know I'm unclear, that's because I have hard time explain what I'm
In the application I'm working on there is a need for kind of database
that will store history in a re-creatable way, that means you will not
only be able to see what changed when, but also to get exact state of
the database in point-in-time.
The thing is that I have more than two entity types and each entity is
identify by unique string (say GUID).
If I will include the unique ID in the hash process it will destroy
any chance of two content identical entities to have the same hash. As
a result the database will blow-up.
The interesting this is that if I completely remove the unique
identifier and "serialize" object graph the way git serialize
directory structure I'll be able to re-create the whole graph back in
memory but I will not be able to identify the entities.
On Dec 17, 4:31 pm, Rick DeNatale <rick.denat...@gmail.com> wrote:
> On Thu, Dec 17, 2009 at 8:32 AM, Petr Baudis <pa...@ucw.cz> wrote:
> > On Thu, Dec 17, 2009 at 05:27:20AM -0800, Ido Ran wrote:
> >> So my question is how can git still be used as database backend.
> >> I'm open for ideas, I just don't see it yet.
> > Then why do you actually want to do it? :-) It's not clear what your
> > goals are, you should specify them first, then check how can (or can't)
> > git fit the goals.
> I'm not sure that git is a good candidate for a direct replacement for
> a database per se.
> However I can think of applications which currently use, say
> relational databases, which might be better served by a 'versioned
> file system' like git.
> One example is a wiki. Ward Cunningham's original wiki used (probably
> still uses) the file system to save the wiki pages, and relied on
> users to manually weed out unwanted changes. Wikipedia uses a complex
> relational database to save wiki pages and provide version control.
> Building a wiki on git would seem to be a fairly natural idea, but I
> don't think that the interface between the app and git would look like
> a relational db api.
> Rick DeNatale
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to
For more options, visit this group at