Skip to content

Commit 3c23953

Browse files
divanoramagitster
authored andcommitted
vcs-svn: add fast_export_note to create notes
fast_export lacked a method to writes notes to fast-import stream. Add two new functions fast_export_note which is similar to fast_export_modify. And also add fast_export_buf_to_data to be able to write inline blobs that don't come from a line_buffer or from delta application. To be used like this: fast_export_begin_commit("refs/notes/somenotes", ...) fast_export_note("refs/heads/master", "inline") fast_export_buf_to_data(&data) or maybe fast_export_note("refs/heads/master", sha1) Signed-off-by: Dmitry Ivankov <[email protected]> Signed-off-by: Florian Achleitner <[email protected]> Acked-by: David Michael Barr <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent f6529de commit 3c23953

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

vcs-svn/fast_export.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ void fast_export_modify(const char *path, uint32_t mode, const char *dataref)
6868
putchar('\n');
6969
}
7070

71+
void fast_export_note(const char *committish, const char *dataref)
72+
{
73+
printf("N %s %s\n", dataref, committish);
74+
}
75+
7176
static char gitsvnline[MAX_GITSVN_LINE_LEN];
7277
void fast_export_begin_commit(uint32_t revision, const char *author,
7378
const struct strbuf *log,
@@ -222,6 +227,13 @@ static long apply_delta(off_t len, struct line_buffer *input,
222227
return ret;
223228
}
224229

230+
void fast_export_buf_to_data(const struct strbuf *data)
231+
{
232+
printf("data %"PRIuMAX"\n", (uintmax_t)data->len);
233+
fwrite(data->buf, data->len, 1, stdout);
234+
fputc('\n', stdout);
235+
}
236+
225237
void fast_export_data(uint32_t mode, off_t len, struct line_buffer *input)
226238
{
227239
assert(len >= 0);

vcs-svn/fast_export.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ void fast_export_deinit(void);
99

1010
void fast_export_delete(const char *path);
1111
void fast_export_modify(const char *path, uint32_t mode, const char *dataref);
12+
void fast_export_note(const char *committish, const char *dataref);
1213
void fast_export_begin_commit(uint32_t revision, const char *author,
1314
const struct strbuf *log, const char *uuid,
1415
const char *url, unsigned long timestamp, const char *local_ref);
1516
void fast_export_end_commit(uint32_t revision);
1617
void fast_export_data(uint32_t mode, off_t len, struct line_buffer *input);
18+
void fast_export_buf_to_data(const struct strbuf *data);
1719
void fast_export_blob_delta(uint32_t mode,
1820
uint32_t old_mode, const char *old_data,
1921
off_t len, struct line_buffer *input);

0 commit comments

Comments
 (0)