You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2015/01/28 14:52:45 UTC

svn commit: r1655322 - in /subversion/trunk/subversion/bindings/javahl: src/org/apache/subversion/javahl/ISVNClient.java src/org/apache/subversion/javahl/SVNClient.java tests/org/apache/subversion/javahl/BasicTests.java

Author: brane
Date: Wed Jan 28 13:52:45 2015
New Revision: 1655322

URL: http://svn.apache.org/r1655322
Log:
Add a JavaHL test for ISVNClient.blame with diff options
and remove the deprecation of the older blame method.

[in subversion/bindings/javahl]
* src/org/apache/subversion/javahl/ISVNClient.java
  (ISVNClient.blame): Remove deprecation.
* src/org/apache/subversion/javahl/SVNClient.java
  (SVNClient.blame): Likewise.

* tests/org/apache/subversion/javahl/BasicTests.java
  (BasicTests.testBasicBlame): Check the contents of the blame line.
  (BasicTests.testBlameWithDiffOptions): New test case.

Modified:
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
    subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=1655322&r1=1655321&r2=1655322&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Wed Jan 28 13:52:45 2015
@@ -1337,10 +1337,9 @@ public interface ISVNClient
      * Retrieve the content together with the author, the revision and the date
      * of the last change of each line
      * <p>
-     * Behaves like the 1.9 version with options set to their default values.
-     * @deprecated
+     * Behaves like the 1.9 version with <code>options</code> set to
+     * their default values.
      */
-    @Deprecated
     void blame(String path, Revision pegRevision, Revision revisionStart,
                Revision revisionEnd, boolean ignoreMimeType,
                boolean includeMergedRevisions,

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=1655322&r1=1655321&r2=1655322&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Wed Jan 28 13:52:45 2015
@@ -651,10 +651,6 @@ public class SVNClient implements ISVNCl
                                 boolean ignoreExternals)
             throws ClientException;
 
-    /**
-     * @deprecated
-     */
-    @Deprecated
     public void blame(String path, Revision pegRevision,
                       Revision revisionStart,
                       Revision revisionEnd, boolean ignoreMimeType,

Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1655322&r1=1655321&r2=1655322&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Wed Jan 28 13:52:45 2015
@@ -3885,11 +3885,46 @@ public class BasicTests extends SVNTests
                      false, false, callback);
         assertEquals(1, callback.numberOfLines());
         BlameCallbackImpl.BlameLine line = callback.getBlameLine(0);
-        if (line != null)
-        {
-            assertEquals(1, line.getRevision());
-            assertEquals("jrandom", line.getAuthor());
-        }
+        assertNotNull(line);
+        assertEquals(1, line.getRevision());
+        assertEquals("jrandom", line.getAuthor());
+        assertEquals("This is the file 'iota'.", line.getLine());
+    }
+
+    /**
+     * Test blame with diff options.
+     * @since 1.9
+     */
+    public void testBlameWithDiffOptions() throws Throwable
+    {
+        OneTest thisTest = new OneTest();
+        // Modify the file iota, making only whitespace changes.
+        File iota = new File(thisTest.getWorkingCopy(), "iota");
+        FileOutputStream stream = new FileOutputStream(iota, false);
+        stream.write("This   is   the   file   'iota'.  \r\n".getBytes());
+        stream.close();
+        Set<String> srcPaths = new HashSet<String>(1);
+        srcPaths.add(thisTest.getWCPath());
+        client.commit(srcPaths, Depth.infinity, false, false, null, null,
+                      new ConstMsg("Whitespace-only change in /iota"), null);
+
+        // Run blame on the result
+        BlameCallbackImpl callback = new BlameCallbackImpl();
+        client.blame(thisTest.getWCPath() + "/iota", Revision.HEAD,
+                     Revision.getInstance(1), Revision.HEAD,
+                     false, false, callback,
+                     new DiffOptions(DiffOptions.Flag.IgnoreWhitespace,
+                                     DiffOptions.Flag.IgnoreEOLStyle));
+        assertEquals(1, callback.numberOfLines());
+        BlameCallbackImpl.BlameLine line = callback.getBlameLine(0);
+        assertNotNull(line);
+
+        // FIXME: JavaHL tests don't have XFAIL states.
+        // FIXME: The commit was a whitespace-only change, so it
+        //        shouldn't be flagged as a change by blame.
+        assertEquals(2, line.getRevision()); // FIXME: wrong? should it be 1?
+        assertEquals("jrandom", line.getAuthor());
+        assertEquals("This   is   the   file   'iota'.  ", line.getLine());
     }
 
     /**