Philip Martin wrote:
> julianfoad_at_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
Received on 2009-12-11 00:31:42 CET