2 * test-svn-fe: Code to exercise the svn import lib
5 #include "git-compat-util.h"
6 #include "vcs-svn/svndump.h"
7 #include "vcs-svn/svndiff.h"
8 #include "vcs-svn/sliding_window.h"
9 #include "vcs-svn/line_buffer.h"
11 int main(int argc
, char *argv
[])
13 static const char test_svnfe_usage
[] =
14 "test-svn-fe (<dumpfile> | [-d] <preimage> <delta> <len>)";
16 if (svndump_init(argv
[1]))
23 if (argc
== 5 && !strcmp(argv
[1], "-d")) {
24 struct line_buffer preimage
= LINE_BUFFER_INIT
;
25 struct line_buffer delta
= LINE_BUFFER_INIT
;
26 struct sliding_view preimage_view
= SLIDING_VIEW_INIT(&preimage
);
27 if (buffer_init(&preimage
, argv
[2]))
28 die_errno("cannot open preimage");
29 if (buffer_init(&delta
, argv
[3]))
30 die_errno("cannot open delta");
31 if (svndiff0_apply(&delta
, (off_t
) strtoull(argv
[4], NULL
, 0),
32 &preimage_view
, stdout
))
34 if (buffer_deinit(&preimage
))
35 die_errno("cannot close preimage");
36 if (buffer_deinit(&delta
))
37 die_errno("cannot close delta");
38 buffer_reset(&preimage
);
39 strbuf_release(&preimage_view
.buf
);
43 usage(test_svnfe_usage
);