aboutsummaryrefslogtreecommitdiff
path: root/vcs-svn/fast_export.h
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2011-03-26 00:49:37 -0500
committerJonathan Nieder <jrnieder@gmail.com>2011-03-26 00:49:37 -0500
commit195b7ca6f229455da61f9f6b6e56a6558fb0e8ee (patch)
tree580b6b998ae2e54c460f9b7c670a8f73c639e141 /vcs-svn/fast_export.h
parent4c3169b03ec567ac43edcfc08ffdab119e0ebe94 (diff)
downloadgit-195b7ca6f229455da61f9f6b6e56a6558fb0e8ee.tar.gz
git-195b7ca6f229455da61f9f6b6e56a6558fb0e8ee.tar.xz
vcs-svn: handle log message with embedded NUL
Pass the log message by strbuf instead of as a C-style string and use fwrite instead of printf to write it to fast-import so embedded '\0' bytes can be preserved. Currently "git log" doesn't show the embedded NULs but "git cat-file commit" can. While at it, stop including system headers from repo_tree.h. git source files need to include git-compat-util.h (or cache.h or builtin.h) sooner to ensure the appropriate feature test macros are defined. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Diffstat (limited to 'vcs-svn/fast_export.h')
-rw-r--r--vcs-svn/fast_export.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/vcs-svn/fast_export.h b/vcs-svn/fast_export.h
index 05cf97f3a..33a8fe996 100644
--- a/vcs-svn/fast_export.h
+++ b/vcs-svn/fast_export.h
@@ -2,13 +2,14 @@
#define FAST_EXPORT_H_
#include "line_buffer.h"
+struct strbuf;
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_commit(uint32_t revision, const char *author, char *log,
- const char *uuid, const char *url,
- unsigned long timestamp);
+void fast_export_commit(uint32_t revision, const char *author,
+ const struct strbuf *log, const char *uuid,
+ const char *url, unsigned long timestamp);
void fast_export_blob(uint32_t mode, uint32_t mark, uint32_t len,
struct line_buffer *input);