From 195b7ca6f229455da61f9f6b6e56a6558fb0e8ee Mon Sep 17 00:00:00 2001 From: Jonathan Nieder Date: Sat, 26 Mar 2011 00:49:37 -0500 Subject: 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 --- vcs-svn/fast_export.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'vcs-svn/fast_export.h') diff --git a/vcs-svn/fast_export.h b/vcs-svn/fast_export.h index 05cf97f3a7..33a8fe996f 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); -- cgit 1.2.3-korg