Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Nov 2015 13:27:02 +0000 (UTC)
From:      Ulrich Spoerlein <uqs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r290658 - user/uqs/git_conv/svn2git/src
Message-ID:  <201511101327.tAADR25n042823@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511101327.tAADR25n042823>