[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Base text files, re: IRC chat

From: Karl Fogel <kfogel_at_red-bean.com>
Date: Sun, 14 Sep 2008 21:58:08 -0400

"Greg Stein" <gstein_at_gmail.com> writes:
> Well, my current plan is to write all base text files in a multi-level
> directory structure using their sha-1 hash values as the filename, and
> as the components in the directory tree. So you'd have something like:
>
> ~/.subversion/bases/5a/78/f2/5a78f2ee5e6b4b0d3255bfef95601890afd80709
>
> The file will get written, then never touched again (except to be
> removed when all refs go away). The only thing that will change is the
> metadata pointing at the file, and that is stored in a sqlite
> database. No renames. No moving around in various directories. Just
> drop it in, and go.
>
> Note that if people keep the /bases/ directory in their home dir, then
> the bases will be shared across ALL working copies. If you go to check
> out a second WC, or maybe a branch, or something... it should go
> *really* fast. We won't have to pull any bases from the server -- only
> the changes specific to that branch (which should be deltas, anyways,
> so therefore small). Most of the files will be copied out of the bases
> directory into the new WC.

Which, ironically, would mean we'd have solved issue #2286 for working
copies before solving it for repositories.

> Debugging may be a bit more difficult, but it should be very easy to
> write a tool to look in the sqlite database and provide a pointer to
> the right base (i.e. python 2.5 comes with sqlite; or a bash script
> using the sqlite cmdline tool).

Yes, and I'd happily whip up an Emacs interface (or interfaces) to such
a tool :-).

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-09-15 03:58:26 CEST

This is an archived mail posted to the Subversion Dev mailing list.