
Current svn-fe produces output like this: blob mark :7382321 data 5 hello blob mark :7382322 data 5 Hello commit mark :3 [...] M 100644 :7382321 hello.c M 100644 :7382322 hello2.c This means svn-fe has to keep track of the paths modified in each commit and the corresponding marks, instead of dealing with each file as it arrives in input and then forgetting about it. A better strategy would be to use inline blobs: commit mark :3 [...] M 100644 inline hello.c data 5 hello [...] As a first step towards that, teach svn-fe to notice when the collection of blobs for each commit starts and write a comment ("# commit 3.") there. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
20 lines
602 B
C
20 lines
602 B
C
#ifndef FAST_EXPORT_H_
|
|
#define FAST_EXPORT_H_
|
|
|
|
#include "line_buffer.h"
|
|
|
|
void fast_export_init(int fd);
|
|
void fast_export_deinit(void);
|
|
void fast_export_reset(void);
|
|
|
|
void fast_export_delete(uint32_t depth, uint32_t *path);
|
|
void fast_export_modify(uint32_t depth, uint32_t *path, uint32_t mode,
|
|
uint32_t mark);
|
|
void fast_export_begin_commit(uint32_t revision);
|
|
void fast_export_commit(uint32_t revision, uint32_t author, char *log,
|
|
uint32_t uuid, uint32_t url, unsigned long timestamp);
|
|
void fast_export_blob(uint32_t mode, uint32_t mark, uint32_t len,
|
|
struct line_buffer *input);
|
|
|
|
#endif
|