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/09 13:15:36 UTC

svn commit: r1718830 - /subversion/branches/ra-git/subversion/libsvn_fs_git/git-history.c

Author: rhuijben
Date: Wed Dec  9 12:15:36 2015
New Revision: 1718830

URL: http://svn.apache.org/viewvc?rev=1718830&view=rev
Log:
On the ra-git branch: Properly return the node path when walking the node
history. This fixes 'svn blame ^/trunk/CHANGES' on the openssl repository.

* subversion/libsvn_fs_git/git-history.c
  (includes): Add svn_dirent_uri.h.
  (fs_git_node_history_location): Fix indentation. Return whole path.

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

Modified: subversion/branches/ra-git/subversion/libsvn_fs_git/git-history.c
URL: http://svn.apache.org/viewvc/subversion/branches/ra-git/subversion/libsvn_fs_git/git-history.c?rev=1718830&r1=1718829&r2=1718830&view=diff
==============================================================================
--- subversion/branches/ra-git/subversion/libsvn_fs_git/git-history.c (original)
+++ subversion/branches/ra-git/subversion/libsvn_fs_git/git-history.c Wed Dec  9 12:15:36 2015
@@ -22,6 +22,7 @@
 
 #include "svn_types.h"
 #include "svn_pools.h"
+#include "svn_dirent_uri.h"
 #include "svn_fs.h"
 
 #include "fs_git.h"
@@ -366,9 +367,9 @@ fs_git_node_history_prev(svn_fs_history_
 
 static svn_error_t *
 fs_git_node_history_location(const char **path,
-                               svn_revnum_t *revision,
-                               svn_fs_history_t *history,
-                               apr_pool_t *pool)
+                             svn_revnum_t *revision,
+                             svn_fs_history_t *history,
+                             apr_pool_t *pool)
 {
   fs_git_node_history_t *gnh = history->fsap_data;
 
@@ -379,10 +380,11 @@ fs_git_node_history_location(const char
                                        gnh->fs,
                                        git_commit_id(gnh->commit),
                                        gnh->pool, pool));
-      if (gnh->path && gnh->path[0] != '/')
-        {
-          gnh->path = apr_pstrcat(pool, "/", gnh->path, SVN_VA_NULL);
-        }
+
+      gnh->path = apr_pstrcat(gnh->pool, "/",
+                              svn_relpath_join(gnh->path, gnh->relpath,
+                                               pool),
+                              SVN_VA_NULL);
     }
 
   *path = apr_pstrdup(pool, gnh->path);