svn commit: r290658 - user/uqs/git_conv/svn2git/src
Ulrich Spoerlein
uqs at FreeBSD.org
Tue Nov 10 13:27:04 UTC 2015
Author: uqs
Date: Tue Nov 10 13:27:02 2015
New Revision: 290658
URL: https://svnweb.freebsd.org/changeset/base/290658
Log:
Sync svn2git code with https://github.com/freebsd/svn2git
Modified:
user/uqs/git_conv/svn2git/src/repository.cpp
user/uqs/git_conv/svn2git/src/svn.cpp
Modified: user/uqs/git_conv/svn2git/src/repository.cpp
==============================================================================
--- user/uqs/git_conv/svn2git/src/repository.cpp Tue Nov 10 13:24:50 2015 (r290657)
+++ user/uqs/git_conv/svn2git/src/repository.cpp Tue Nov 10 13:27:02 2015 (r290658)
@@ -685,7 +685,7 @@ void Repository::Transaction::commitNote
QByteArray s("");
s.append("commit refs/notes/commits\n");
s.append("mark :" + QByteArray::number(maxMark + 1) + "\n");
- s.append("committer " + QString::fromUtf8(author) + " " + QString::number(datetime) + " +0000" + "\n");
+ s.append("committer " + author + " " + QString::number(datetime) + " +0000" + "\n");
s.append("data " + QString::number(message.length()) + "\n");
s.append(message + "\n");
s.append("N inline " + commitRef + "\n");
@@ -736,7 +736,7 @@ void Repository::Transaction::commit()
QByteArray s("");
s.append("commit " + branchRef + "\n");
s.append("mark :" + QByteArray::number(mark) + "\n");
- s.append("committer " + QString::fromUtf8(author) + " " + QString::number(datetime) + " +0000" + "\n");
+ s.append("committer " + author + " " + QString::number(datetime).toUtf8() + " +0000" + "\n");
s.append("data " + QString::number(message.length()) + "\n");
s.append(message + "\n");
repository->fastImport.write(s);
Modified: user/uqs/git_conv/svn2git/src/svn.cpp
==============================================================================
--- user/uqs/git_conv/svn2git/src/svn.cpp Tue Nov 10 13:24:50 2015 (r290657)
+++ user/uqs/git_conv/svn2git/src/svn.cpp Tue Nov 10 13:27:02 2015 (r290658)
@@ -523,9 +523,12 @@ int SvnRevision::fetchRevProps()
svn_string_t *svndate = (svn_string_t*)apr_hash_get(revprops, "svn:date", APR_HASH_KEY_STRING);
svn_string_t *svnlog = (svn_string_t*)apr_hash_get(revprops, "svn:log", APR_HASH_KEY_STRING);
- log = svnlog->data;
+ if (svnlog)
+ log = svnlog->data;
+ else
+ log.clear();
authorident = svnauthor ? identities.value(svnauthor->data) : QByteArray();
- epoch = get_epoch(svndate->data);
+ epoch = svndate ? get_epoch(svndate->data) : 0;
if (authorident.isEmpty()) {
if (!svnauthor || svn_string_isempty(svnauthor))
authorident = "nobody <nobody at localhost>";
@@ -565,9 +568,13 @@ int SvnRevision::exportEntry(const char
QString current = QString::fromUtf8(key);
// was this copied from somewhere?
- svn_revnum_t rev_from;
- const char *path_from;
- SVN_ERR(svn_fs_copied_from(&rev_from, &path_from, fs_root, key, revpool));
+ svn_revnum_t rev_from = SVN_INVALID_REVNUM;
+ const char *path_from = NULL;
+ if (change->change_kind != svn_fs_path_change_delete) {
+ // svn_fs_copied_from would fail on deleted paths, because the path
+ // obviously no longer exists in the current revision
+ SVN_ERR(svn_fs_copied_from(&rev_from, &path_from, fs_root, key, revpool));
+ }
// is this a directory?
svn_boolean_t is_dir;
More information about the svn-src-user
mailing list