[Xcb] SCMS for XCB?
Trevor Woerner
xcb506 at vtnet.ca
Mon Aug 1 23:18:14 EST 2005
On Saturday 30 July 2005 14:46, Barton C Massey wrote:
> In message <200507301430.31666.xcb506 at vtnet.ca> you wrote:
> > On Saturday 30 July 2005 13:34, Barton C Massey wrote:
> > > Also, is a reasonable ASCII repository format a
> > > requirement?
> >
> > Subversion has had support for both ASCII (fsfs) and binary
> > (Berkley-db) repository formats for a while. Whoever sets up the
> > repository has always had a choice, although db has been the
> > default. With the latest release of subversion, 1.2.0, fsfs (i.e.
> > ASCII) is now the default.
>
> AFAIK, fsfs is still a binary format. Am I confused?
fsfs stores each revision and each revision's properties as a separate
file (0, 1, 2, ...). You can work with these separate files as you
would any other file in the system. My understanding is that these
files are stored in something called "delta-storage" which means you
can open them with a text editor, basically get the gist of what's
going on (you can [mostly] "read" them), but don't make any
modifications because the meta-information will now be wrong. Btw, the
meta information appears to be stored in ASCII.
The bdb (Berkley DB) backend stored the entire repository into one
binary database file. Special tools were needed in order to examine any
internals.
Is that considered ASCII format? I don't know if this would qualify for
you. Just because you can read the file doesn't mean it should be
modified (in fact it shouldn't be). There is a process for changing a
log message after a commit (say, to fix spelling). But usually after a
commit has occurred the database shouldn't be touched.
I guess we've ended up in this funny state: basic usage of CVS required
us to be able to muck around in the repository internals because of all
of CVS's shortcomings. Now we've come to expect to be able to muck
around in the guts of a repository and made it a requirement. But
hopefully if the SCM works well this won't be required. :-)
Here's a URL to a document from the creators of subversion plainly and
honestly comparing the fsfs backend to the bdb backend:
http://svn.collab.net/repos/svn/trunk/notes/fsfs
Maybe browsing through subversion's FAQ might be of interest:
http://subversion.tigris.org/faq.html
As an example, here at home I have but one project under subversion
revision control. So far I only have 5 commits. Running "file" on each
of the database files gives:
["BHy1өDJًcE0ALiUSHQN O;&
M<؞%QjD`SAJ!}T
JʰДS**B!10#h24T4
q9hθ8w?_@$)!`G9{v'iEkҁ=NfXan4nj0C`hQ$K#ʃz}@~b3Z?MP|#|<h)B/4)٤N{L/293A1DnQ)y:8ߗi,J&o#M,hle!ajƱ
R8hg۩2zlp +"Lrwf #|:18؝>8c+MB:W s kXixBdIn"A pDy_#XfQE4Iv٣YG|>ufNe|}jF֒qҁA/mx+_8ml1<EY`X`# DT
<:6Hjq~ ~-@u
s\M6[EbJ0([j
4"ΎP9l)?yeҭ4
9"9P%I&b"'XAB'$&țD?/mn9:L0A(ӎ%=
A]
I>#*eՈ