394
svn_editor_setcb_rotate(svn_editor_t *editor,
395
svn_editor_cb_rotate_t callback,
396
apr_pool_t *scratch_pool)
398
editor->funcs.cb_rotate = callback;
404
394
svn_editor_setcb_complete(svn_editor_t *editor,
405
395
svn_editor_cb_complete_t callback,
406
396
apr_pool_t *scratch_pool)
706
695
START_CALLBACK(editor);
707
696
err = editor->funcs.cb_alter_file(editor->baton,
708
relpath, revision, props,
698
checksum, contents, props,
710
699
editor->scratch_pool);
711
700
END_CALLBACK(editor);
865
svn_editor_rotate(svn_editor_t *editor,
866
const apr_array_header_t *relpaths,
867
const apr_array_header_t *revisions)
869
svn_error_t *err = SVN_NO_ERROR;
871
SHOULD_NOT_BE_FINISHED(editor);
872
#ifdef ENABLE_ORDERING_CHECK
875
for (i = 0; i < relpaths->nelts; i++)
877
const char *relpath = APR_ARRAY_IDX(relpaths, i, const char *);
879
SVN_ERR_ASSERT(svn_relpath_is_canonical(relpath));
880
SHOULD_NOT_BE_COMPLETED(editor, relpath);
881
VERIFY_PARENT_MAY_EXIST(editor, relpath);
882
CHILD_DELETIONS_ALLOWED(editor, relpath);
887
SVN_ERR(check_cancel(editor));
889
if (editor->funcs.cb_rotate)
891
START_CALLBACK(editor);
892
err = editor->funcs.cb_rotate(editor->baton, relpaths, revisions,
893
editor->scratch_pool);
894
END_CALLBACK(editor);
897
#ifdef ENABLE_ORDERING_CHECK
900
for (i = 0; i < relpaths->nelts; i++)
902
const char *relpath = APR_ARRAY_IDX(relpaths, i, const char *);
903
MARK_ALLOW_ALTER(editor, relpath);
904
MARK_PARENT_STABLE(editor, relpath);
909
svn_pool_clear(editor->scratch_pool);
910
return svn_error_trace(err);
915
854
svn_editor_complete(svn_editor_t *editor)
917
856
svn_error_t *err = SVN_NO_ERROR;