You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2015/12/02 16:29:59 UTC

svn commit: r1717649 - /subversion/branches/ra-git/subversion/libsvn_fs_git/gitdb.c

Author: rhuijben
Date: Wed Dec  2 15:29:58 2015
New Revision: 1717649

URL: http://svn.apache.org/viewvc?rev=1717649&view=rev
Log:
On the ra-git branch: Fix a problem with the checksums that made
$ svnadmin dump <git-repos> | svnadmin load <empty-repos>
fail

* subversion/libsvn_fs_git/gitdb.c
  (db_fetch_checksum,
  svn_fs_git__db_fetch_checksum): Really return the requested checksum kind.

Modified:
    subversion/branches/ra-git/subversion/libsvn_fs_git/gitdb.c

Modified: subversion/branches/ra-git/subversion/libsvn_fs_git/gitdb.c
URL: http://svn.apache.org/viewvc/subversion/branches/ra-git/subversion/libsvn_fs_git/gitdb.c?rev=1717649&r1=1717648&r2=1717649&view=diff
==============================================================================
--- subversion/branches/ra-git/subversion/libsvn_fs_git/gitdb.c (original)
+++ subversion/branches/ra-git/subversion/libsvn_fs_git/gitdb.c Wed Dec  2 15:29:58 2015
@@ -227,7 +227,7 @@ db_fetch_checksum(svn_checksum_t **check
   SVN_ERR(svn_sqlite__bind_checksum(stmt, 3, sha1_checksum, scratch_pool));
   SVN_ERR(svn_sqlite__update(NULL, stmt));
 
-  if (idx == 1)
+  if (idx == 0)
     *checksum = svn_checksum_dup(md5_checksum, result_pool);
   else
     *checksum = svn_checksum_dup(sha1_checksum, result_pool);
@@ -243,19 +243,14 @@ svn_fs_git__db_fetch_checksum(svn_checks
                               apr_pool_t *scratch_pool)
 {
   svn_fs_git_fs_t *fgf = fs->fsap_data;
-  int idx;
 
-  if (kind == svn_checksum_md5)
-    idx = 1;
-  else if (kind == svn_checksum_sha1)
-    idx = 2;
-  else
+  if (kind != svn_checksum_md5 && kind != svn_checksum_sha1)
     {
-      *checksum = NULL;
+      checksum = NULL;
       return SVN_NO_ERROR;
     }
 
-  SVN_SQLITE__WITH_LOCK(db_fetch_checksum(checksum, fs, oid, idx,
+  SVN_SQLITE__WITH_LOCK(db_fetch_checksum(checksum, fs, oid, (kind + 0),
                                           result_pool, scratch_pool),
                         fgf->sdb);