[Bug 4407] New: some tests for convert extension fail after enhancement of git rename detection support

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Tue Oct 14 02:56:58 CDT 2014


http://bz.selenic.com/show_bug.cgi?id=4407

          Priority: normal
            Bug ID: 4407
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: some tests for convert extension fail after
                    enhancement of git rename detection support
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: foozy at lares.dti.ne.jp
          Hardware: PC
            Status: UNCONFIRMED
           Version: unspecified
         Component: convert
           Product: Mercurial

With old git client (I can reproduce this issue with git 1.7.2.5 on
debian), recent Mercurial source on "default" branch (at least
"75d0edb68b41") causes failure of some tests for convert extension.

According to my bisecting, 8e0c4df28eec causes failure of test-convert-git.t:

    changeset:   22470:8e0c4df28eec
    user:        Siddharth Agarwal <sid0 at fb.com>
    date:        Fri Sep 12 11:23:26 2014 -0700
    summary:     convert: add support to detect git renames and copies

and 6b6da715cb96 causes failure of test-convert-tagsbranch-topology.t:

    changeset:   22512:6b6da715cb96
    user:        Siddharth Agarwal <sid0 at fb.com>
    date:        Tue Sep 23 14:45:23 2014 -0700
    summary:     convert: change default for git rename detection to 50%


Error output of both failures seems to say that "git diff-tree"
execution failed because of invalid options and/or arguments.

BTW, "git 1.7.2.5" was released at 2010-12-16. Is this too old to
support ?


---
/home/fujiwara/anyware/mercurial/repo/selenic.com/hg/tests/test-convert-git.t
+++
/home/fujiwara/anyware/mercurial/repo/selenic.com/hg/tests/test-convert-git.t.err
@@ -64,55 +64,53 @@
   scanning [===========================================>] 6/6\r (no-eol) (esc)
                                                               \r (no-eol)
(esc)
   \r (no-eol) (esc)
-  converting [                                          ] 0/6\r (no-eol) (esc)
-  getting files [==================>                    ] 1/2\r (no-eol) (esc)
-  getting files [======================================>] 2/2\r (no-eol) (esc)
-                                                              \r (no-eol)
(esc)
-  \r (no-eol) (esc)
-  converting [======>                                   ] 1/6\r (no-eol) (esc)
-  getting files [======================================>] 1/1\r (no-eol) (esc)
-                                                              \r (no-eol)
(esc)
-  \r (no-eol) (esc)
-  converting [=============>                            ] 2/6\r (no-eol) (esc)
-  getting files [======================================>] 1/1\r (no-eol) (esc)
-                                                              \r (no-eol)
(esc)
-  \r (no-eol) (esc)
-  converting [====================>                     ] 3/6\r (no-eol) (esc)
-  getting files [======================================>] 1/1\r (no-eol) (esc)
-                                                              \r (no-eol)
(esc)
-  \r (no-eol) (esc)
-  converting [===========================>              ] 4/6\r (no-eol) (esc)
-  getting files [======================================>] 1/1\r (no-eol) (esc)
-                                                              \r (no-eol)
(esc)
-  \r (no-eol) (esc)
-  converting [==================================>       ] 5/6\r (no-eol) (esc)
-  getting files [======================================>] 1/1\r (no-eol) (esc)
-                                                              \r (no-eol)
(esc)
+  converting [                                          ] 0/6usage: git
diff-tree [--stdin] [-m] [-c] [--cc] [-s] [-v] [--pretty] [-t] [-r] [--root]
[<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
+    -r            diff recursively
+    --root        include the initial commit as diff against /dev/null
+
+  common diff options:
+    -z            output diff-raw with lines terminated with NUL.
+    -p            output patch format.
+    -u            synonym for -p.
+    --patch-with-raw
+                  output both a patch and the diff-raw format.
+    --stat        show diffstat instead of patch.
+    --numstat     show numeric diffstat instead of patch.
+    --patch-with-stat
+                  output a patch and prepend its diffstat.
+    --name-only   show only names of changed files.
+    --name-status show names and status of changed files.
+    --full-index  show full object name on index lines.
+    --abbrev=<n>  abbreviate object names in diff-tree header and diff-raw.
+    -R            swap input file pairs.
+    -B            detect complete rewrites.
+    -M            detect renames.
+    -C            detect copies.
+    --find-copies-harder
+                  try unchanged files as candidate for copy detection.
+    -l<n>         limit rename attempts up to <n> paths.
+    -O<file>      reorder diffs according to the <file>.
+    -S<string>    find filepair whose only one side contains the string.
+    --pickaxe-all
+                  show all files diff when -S is used and hit is found.
+    -a  --text    treat all files as text.
+
   assuming destination git-repo-hg
   initializing destination git-repo-hg repository
   scanning source...
   sorting...
   converting...

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list