subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rhuij...@apache.org
Subject svn commit: r1717667 - /subversion/branches/ra-git/subversion/libsvn_fs_git/git-revroot.c
Date Wed, 02 Dec 2015 18:41:02 GMT
Author: rhuijben
Date: Wed Dec  2 18:41:02 2015
New Revision: 1717667

URL: http://svn.apache.org/viewvc?rev=1717667&view=rev
Log:
On the ra-git branch: Handle a few more nodes as related to avoid an endless
loop in the delta editor when checking out a repository root.

* subversion/libsvn_fs_git/git-revroot.c
  (fs_git_node_relation): Handle special dir cases.

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

Modified: subversion/branches/ra-git/subversion/libsvn_fs_git/git-revroot.c
URL: http://svn.apache.org/viewvc/subversion/branches/ra-git/subversion/libsvn_fs_git/git-revroot.c?rev=1717667&r1=1717666&r2=1717667&view=diff
==============================================================================
--- subversion/branches/ra-git/subversion/libsvn_fs_git/git-revroot.c (original)
+++ subversion/branches/ra-git/subversion/libsvn_fs_git/git-revroot.c Wed Dec  2 18:41:02
2015
@@ -658,18 +658,23 @@ fs_git_node_relation(svn_fs_node_relatio
   SVN_ERR(find_branch(&commit_a, &relpath_a, root_a, path_a, scratch_pool));
   SVN_ERR(find_branch(&commit_b, &relpath_b, root_b, path_b, scratch_pool));
 
-  if (!(commit_a && commit_b))
+  if ((*relpath_a == '\0') || (*relpath_b == '\0'))
     {
-      *relation = svn_fs_node_unrelated;
+      if ((*relpath_a == '\0') && (*relpath_b == '\0'))
+        *relation = svn_fs_node_common_ancestor;
+      else
+        *relation = svn_fs_node_unrelated;
+
       return SVN_NO_ERROR;
     }
-  else if ((*relpath_a == '\0') || (*relpath_b == '\0'))
+  else if (!(commit_a && commit_b))
     {
-      if ((*relpath_a == '\0') && (*relpath_b == '\0'))
+      if (root_a->rev == root_b->rev && !strcmp(path_a, path_b))
+        *relation = svn_fs_node_unchanged;
+      else if (!commit_a && !commit_b && !strcmp(path_a, path_b))
         *relation = svn_fs_node_common_ancestor;
       else
         *relation = svn_fs_node_unrelated;
-
       return SVN_NO_ERROR;
     }
 



Mime
View raw message