Branko =?ISO-8859-2?Q?=C8ibej?= <brane@xbc.nu> writes:
> Yeah. Even more embarrassing: I can't seem to find my way through the
> maze of twisty editors, all alike, to find where exactly this is happening.
Layman's Guide to Existing `Editors'
------------------------------------
* "update editor"
Lives in libsvn_wc/get_editor.c. This is the only editor ever
used to modify your working copy. It's driven by the RA layer
during checkouts and updates.
* "commit editor"
Lives in libsvn_repos. This is the editor driven directly by
ra_local during a commit; it talks directly to libsvn_fs and
builds a transaction that looks like the working copy -- then
ultimately calls 'svn_repos_commit_txn', which merges the
transaction against the HEAD revision, and ultimately promotes the
transaction into the newest revision.
* "XML editor"
Lives in libsvn_delta. Not really used much anymore, although it
still seems to pass tests. It was originally used for Milestone
1, before we had a filesystem. It's an editor that produces a
custom XML-patch format; the delta library also has code for
parsing this patch format and driving an editor (so you can update
your working copy from one of these patches.)
* ? editors in the networking layer
I don't know this code yet, but I suspect that libsvn_ra_dav has
its own commit-editor that produces DAV request bodies (xml) to
send to Apache. On the other end, mod_dav_svn parses the body and
builds a commit transaction.
Similarly, for updates, I believe mod_dav_svn has an editor driven
by svn_repos_dir_delta() that produces DAV response bodies (xml).
On the other end, ra_dav parses the body and then drives the
`update' editor.
* svnlook's editor
Ask cmpilato. svnlook allows you to examine a repository; it's
the tool generating our commit emails. I believe it has a fancy
editor (being driven by svn_repos_dir_delta()) that produces neato
linked lists of tree nodes in memory.
* `trace' editors
The command-line client has an editor that knows how to print {U,
G, C, A, D} during checkouts/updates, and another editor that
knows how to print {Sending, Deleting, Adding} during commits.
These editors are "composed" with the editors that do the real
work. Neat thing, editor composition.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:40 2006