Subject: Re: [RFC/WIP] Pluggable reference backends

From: Karsten Blees <[email-masked]>
Date: Tue, 11 Mar 2014 11:56:12 +0100

Am 10.03.2014 12:00, schrieb Michael Haggerty:
> Reference transactions
> ----------------------

Very cool ideas indeed.

However, I'm concerned a bit that transactions are conceptual overkill. How many concurrent updates do you expect in a repository? Wouldn't a single repo-wide lock suffice (and be _much_ simpler to implement with any backend, esp. file-based)?

The API you posted in [1] doesn't look very much like a transaction API either (rather like batch-updates). E.g. there's no rollback, the queue* methods cannot report failure, and there's no way to read a ref as part of the transaction. So I'm afraid that backends that support transactions out of the box (e.g. RDBMSs) will be hard to adapt to this.

Just my 2cents,
Karsten

[1] http://article.gmane.org/gmane.comp.version-control.git/243748