From owner-svn-src-user@freebsd.org Tue Nov 10 13:27:03 2015 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD5A3A2A675 for ; Tue, 10 Nov 2015 13:27:03 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89E2C121B; Tue, 10 Nov 2015 13:27:03 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAADR2Cb042825; Tue, 10 Nov 2015 13:27:02 GMT (envelope-from uqs@FreeBSD.org) Received: (from uqs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAADR25n042823; Tue, 10 Nov 2015 13:27:02 GMT (envelope-from uqs@FreeBSD.org) Message-Id: <201511101327.tAADR25n042823@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: uqs set sender to uqs@FreeBSD.org using -f From: Ulrich Spoerlein Date: Tue, 10 Nov 2015 13:27:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r290658 - user/uqs/git_conv/svn2git/src X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Nov 2015 13:27:04 -0000 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 "; @@ -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;