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

Re: Update problems on Windows: $#"@! svn_path_local_style

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2001-09-07 00:04:37 CEST

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

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.