like git-fast-import wants us to.
* License: MIT <http://www.opensource.org/licenses/mit-license.php>
*/
* License: MIT <http://www.opensource.org/licenses/mit-license.php>
*/
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#ifndef PATH_MAX
#define PATH_MAX 4096
#ifndef PATH_MAX
#define PATH_MAX 4096
+time_t get_epoch(char *svn_date)
+{
+ struct tm tm;
+ char *date = malloc(strlen(svn_date) * sizeof(char *));
+ strncpy(date, svn_date, strlen(svn_date) - 8);
+ strptime(date, "%Y-%m-%dT%H:%M:%S", &tm);
+ return mktime(&tm);
+}
+
int dump_blob(svn_fs_root_t *root, char *full_path, apr_pool_t *pool)
{
svn_filesize_t stream_length;
int dump_blob(svn_fs_root_t *root, char *full_path, apr_pool_t *pool)
{
svn_filesize_t stream_length;
svn_fs_path_change_t *change;
svn_fs_root_t *root_obj;
svn_boolean_t is_dir;
svn_fs_path_change_t *change;
svn_fs_root_t *root_obj;
svn_boolean_t is_dir;
+ svn_string_t *author, *committer, *svndate, *svnlog;
char *path, *file_change;
unsigned int mark;
char *path, *file_change;
unsigned int mark;
+ author = apr_hash_get(props, "svn:author", APR_HASH_KEY_STRING);
+ if (!author) { author = svn_string_create("nobody", pool); }
+ svndate = apr_hash_get(props, "svn:date", APR_HASH_KEY_STRING);
+ svnlog = apr_hash_get(props, "svn:log", APR_HASH_KEY_STRING);
+
fprintf(stdout, "commit refs/heads/master\n");
fprintf(stdout, "commit refs/heads/master\n");
+ fprintf(stdout, "committer %s <%s@localhost> %ld -0000\n", author->data, author->data, get_epoch((char *)svndate->data));
+ fprintf(stdout, "data %d\n", svnlog->len);
+ fprintf(stdout, svnlog->data);
+ fprintf(stdout, "\n");
fprintf(stdout, apr_array_pstrcat(pool, file_changes, '\n'));
fprintf(stdout, "\n\n");
fprintf(stdout, apr_array_pstrcat(pool, file_changes, '\n'));
fprintf(stdout, "\n\n");