Philip Martin wrote: > julianf...@apache.org writes: > > > +svn_error_t * > > +svn_fs_base__node_rev_dup(const svn_fs_id_t **new_id, > > + const svn_fs_id_t *old_id, > > + const char *new_txn_id, > > + const char *old_txn_id, > > + trail_t *trail, > > + apr_pool_t *result_pool, > > + apr_pool_t *scratch_pool) > > +{ > > + node_revision_t *noderev; > > + > > + /* We only want to dup a node-rev if it "belongs to" (was created in) the > > + * txn we are replacing. */ > > + if (strcmp(svn_fs_base__id_txn_id(old_id), old_txn_id) != 0) > > + { > > + *new_id = old_id; > > Should this dup old_id into result pool?
Ah, yes, looks like it should. Thanks. Will check and fix. > > +/* Create a new representation that is a duplicate of the one keyed by KEY, > > + * but make the duplicate refer to NEW_TXN_ID. > > + * Set *NEW_KEY to the key of the new representation. > > + * Work within TRAIL within FS. */ > > FS looks like it's a parameter, but it's not. Ah, yes. It was, but then I realized it's a member of TRAIL so it's no longer a separate parameter. Will fix. > > +svn_error_t * > > +svn_fs_base__rep_dup(const char **new_key, > > + const char *new_txn_id, > > + const char *key, > > + trail_t *trail, > > + apr_pool_t *pool); > > + > > +/* If the node_rev identified by OLD_ID was not created in transaction > > + * OLD_TXN_ID, then set *NEW_ID to OLD_ID and return. Otherwise: > > + * Make a deep copy of node OLD_ID, with any references to OLD_TXN_ID > > + * replaced by NEW_TXN_ID (### and more differences?) The new node-rev-id > > is > > + * OLD_ID except with the txn-id field changed to NEW_TXN_ID. > > + * Set *NEW_ID to the new node-rev-id, allocated in RESULT_POOL. > > + * Work within TRAIL within FS. > > ditto > > > + */ > > +svn_error_t * > > +svn_fs_base__node_rev_dup(const svn_fs_id_t **new_id, > > + const svn_fs_id_t *old_id, > > + const char *new_txn_id, > > + const char *old_txn_id, > > + trail_t *trail, > > + apr_pool_t *result_pool, > > + apr_pool_t *scratch_pool); Thanks. - Julian