https://bz.mercurial-scm.org/show_bug.cgi?id=5461

            Bug ID: 5461
           Summary: Diff that ignores whitespace is incorrect in some
                    cases
           Product: Mercurial
           Version: 4.0.2
          Hardware: PC
                OS: Mac OS
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: Mercurial
          Assignee: bugzi...@mercurial-scm.org
          Reporter: nathan12...@gmail.com
                CC: mercurial-de...@selenic.com

This originally showed up as a rendering bug on a bitbucket pull request:

https://bitbucket.org/yt_analysis/yt/pull-requests/2487/visualize-variables-on-multiple-mesh/diff?w=1#comment-29467805

This appears to be a syntax error since the line after the one I linked to
isn't getting indented correctly. 

After asking on the bitbucket IRC channel, it turns out that this is actually
coming from mercurial itself (bitbucket is just rendering the output of `hg
diff -w` here.

One can reproduce this using the following steps:

$ hg clone https://bitbucket.org/ngoldbaum/yt yt-ng
$ cd yt-ng
$ hg diff -w -r 98bb0abc0b14 -r 1b17fcd
yt/geometry/coordinates/cartesian_coordinates.py

The output from this command is here:

diff --git a/yt/geometry/coordinates/cartesian_coordinates.py
b/yt/geometry/coordinates/cartesian_coordinates.py
--- a/yt/geometry/coordinates/cartesian_coordinates.py
+++ b/yt/geometry/coordinates/cartesian_coordinates.py
@@ -68,11 +68,17 @@ class CartesianCoordinateHandler(Coordin
         if (hasattr(index, 'meshes') and
            not isinstance(index.meshes[0], SemiStructuredMesh)):
             ftype, fname = field
+            if ftype == "all":
+                mesh_id = 0
+                indices = index.meshes[0].connectivity_indices
+                for i in range(1, len(index.meshes)):
+                    indices = np.concatenate((indices,
index.meshes[i].connectivity_indices))
+            else:
             mesh_id = int(ftype[-1]) - 1
-            mesh = index.meshes[mesh_id]
-            coords = mesh.connectivity_coords
-            indices = mesh.connectivity_indices
-            offset = mesh._index_offset
+                indices = index.meshes[mesh_id].connectivity_indices
+
+            coords = index.meshes[mesh_id].connectivity_coords
+            offset = index.meshes[mesh_id]._index_offset
             ad = data_source.ds.all_data()
             field_data = ad[field]
             buff_size = size[0:dimension] + (1,) + size[dimension:]

And the output of `hg diff -r 98bb0abc0b14 -r 1b17fcd
yt/geometry/coordinates/cartesian_coordinates.py`, which is correct:

diff --git a/yt/geometry/coordinates/cartesian_coordinates.py
b/yt/geometry/coordinates/cartesian_coordinates.py
--- a/yt/geometry/coordinates/cartesian_coordinates.py
+++ b/yt/geometry/coordinates/cartesian_coordinates.py
@@ -68,11 +68,17 @@ class CartesianCoordinateHandler(Coordin
         if (hasattr(index, 'meshes') and
            not isinstance(index.meshes[0], SemiStructuredMesh)):
             ftype, fname = field
-            mesh_id = int(ftype[-1]) - 1
-            mesh = index.meshes[mesh_id]
-            coords = mesh.connectivity_coords
-            indices = mesh.connectivity_indices
-            offset = mesh._index_offset
+            if ftype == "all":
+                mesh_id = 0
+                indices = index.meshes[0].connectivity_indices
+                for i in range(1, len(index.meshes)):
+                    indices = np.concatenate((indices,
index.meshes[i].connectivity_indices))
+            else:
+                mesh_id = int(ftype[-1]) - 1
+                indices = index.meshes[mesh_id].connectivity_indices
+
+            coords = index.meshes[mesh_id].connectivity_coords
+            offset = index.meshes[mesh_id]._index_offset
             ad = data_source.ds.all_data()
             field_data = ad[field]
             buff_size = size[0:dimension] + (1,) + size[dimension:]

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to