On Mon, Apr 23, 2012 at 17:58, Blair Zajac <bl...@orcaware.com> wrote: > > On Apr 23, 2012, at 1:01 PM, Greg Stein wrote: > >> >> On Apr 23, 2012 8:00 AM, "Blair Zajac" <bl...@orcaware.com> wrote: >> > >> > >> > On Apr 23, 2012, at 2:45 AM, gst...@apache.org wrote: >> > >> >> Author: gstein >> >> Date: Mon Apr 23 06:45:46 2012 >> >> New Revision: 1329083 >> >> >> >> URL: http://svn.apache.org/viewvc?rev=1329083&view=rev >> >> Log: >> >> Add a flag that we'll need. mod_dav_svn wants to keep the txn alive, >> >> and will manually commit it. libsvn_repos never keeps a txn alive >> >> beyond the editor drive. This new flag enables the two behaviors. >> >> >> >> * subversion/include/svn_fs.h: >> >> (SVN_FS_TXN_NO_AUTOCOMMIT): new flag >> > >> > >> > How about renaming this to SVN_FS_TXN_EDITOR_NO_AUTOCOMMIT to make it >> > clear in the name that it's specific to an editor and not to txn's as a >> > whole. >> > >> > >> >> (make_editor): set the new flag, to be used by complete_cb later. >> >> >> >> Modified: >> >> subversion/trunk/subversion/include/svn_fs.h >> >> subversion/trunk/subversion/libsvn_fs/editor.c >> >> >> >> Modified: subversion/trunk/subversion/include/svn_fs.h >> >> URL: >> >> http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_fs.h?rev=1329083&r1=1329082&r2=1329083&view=diff >> >> >> >> ============================================================================== >> >> --- subversion/trunk/subversion/include/svn_fs.h (original) >> >> +++ subversion/trunk/subversion/include/svn_fs.h Mon Apr 23 06:45:46 >> >> 2012 >> >> @@ -808,6 +808,11 @@ typedef struct svn_fs_txn_t svn_fs_txn_t >> >> * if a caller tries to edit a locked item without having rights to the >> >> lock. >> >> */ >> >> #define SVN_FS_TXN_CHECK_LOCKS 0x00002 >> >> + >> >> +/** Do not auto-commit the txn when its associated editor is marked >> >> + * as completed. >> >> + */ >> >> +#define SVN_FS_TXN_NO_AUTOCOMMIT 0x00004 >> >> /** @} */ >> > >> > >> > The new #define doesn't belong in this block of defines as they are for >> > svn_fs_begin_txn2(): >> >> But it does... these three flags can be passed as the FLAGS param to >> svn_fs_editor_create, and are used to control the txn created as part of >> that. >> > It's not controlling the underlying txn object though, just the editor. I > could pass SVN_FS_TXN_NO_AUTOCOMMIT to svn_fs_begin_txn2() but it doesn't do > anything with it, so it's not appropriate. It can ignore it and never use > it, but it's not as clear. > >> (so I'm also not keen on inserting another word into the symbol) >> > I see what you're getting at in saving an argument to svn_fs_editor_create, > but conceptually it's mixing two distinct sets of flags(). > > svn_error_t * > svn_fs_editor_create(svn_editor_t **editor, > const char **txn_name, > svn_fs_t *fs, > svn_revnum_t revision, > apr_uint32_t txn_flags, > apr_uint32_t editor_flags, > ... > > or > > svn_error_t * > svn_fs_editor_create(svn_editor_t **editor, > const char **txn_name, > svn_fs_t *fs, > svn_revnum_t revision, > apr_uint32_t txn_flags, > svn_boolean_t no_autocommit, > ... > > and hence be named SVN_FS_EDITOR_TXN_NO_AUTOCOMMIT. > > Blair >
Fixed in r1329505.