diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2011-03-26 00:49:37 -0500 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2011-03-26 00:49:37 -0500 |
commit | 195b7ca6f229455da61f9f6b6e56a6558fb0e8ee (patch) | |
tree | 580b6b998ae2e54c460f9b7c670a8f73c639e141 /vcs-svn/repo_tree.c | |
parent | 4c3169b03ec567ac43edcfc08ffdab119e0ebe94 (diff) | |
download | git-195b7ca6f229455da61f9f6b6e56a6558fb0e8ee.tar.gz |
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/repo_tree.c')
-rw-r--r-- | vcs-svn/repo_tree.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/vcs-svn/repo_tree.c b/vcs-svn/repo_tree.c index d722e3212f..8caa0159d1 100644 --- a/vcs-svn/repo_tree.c +++ b/vcs-svn/repo_tree.c @@ -278,8 +278,9 @@ void repo_diff(uint32_t r1, uint32_t r2) repo_commit_root_dir(commit_pointer(r2))); } -void repo_commit(uint32_t revision, const char *author, char *log, - const char *uuid, const char *url, unsigned long timestamp) +void repo_commit(uint32_t revision, const char *author, + const struct strbuf *log, const char *uuid, const char *url, + unsigned long timestamp) { fast_export_commit(revision, author, log, uuid, url, timestamp); dent_commit(); |