diff tests/test-convert-git.t @ 25699:5c97a4ecbdd4

convert: improve support for unusual .gitmodules Previously convert would throw an exception if it encountered a git commit with a .gitmodules file that was malformed (i.e. was missing, but had submodule files, or was malformed). Instead of breaking the convert entirely, let's print error messages and move on.
author Durham Goode <durham@fb.com>
date Mon, 29 Jun 2015 17:19:58 -0700
parents 307370c2dda2
children 5b9b70635423
line wrap: on
line diff
--- a/tests/test-convert-git.t	Mon Jun 29 17:19:18 2015 -0700
+++ b/tests/test-convert-git.t	Mon Jun 29 17:19:58 2015 -0700
@@ -482,6 +482,39 @@
   $ rm -rf hg-repo6
   $ cd git-repo6
   $ git reset --hard 'HEAD^' > /dev/null
+
+test missing .gitmodules
+
+  $ git submodule add ../git-repo4 >/dev/null 2>/dev/null
+  $ git checkout HEAD .gitmodules
+  $ git rm .gitmodules
+  rm '.gitmodules'
+  $ git commit -m "remove .gitmodules" .gitmodules
+  [master *] remove .gitmodules (glob)
+   Author: nottest <test@example.org>
+   1 file changed, 3 deletions(-)
+   delete mode 100644 .gitmodules
+  $ git commit -m "missing .gitmodules"
+  [master *] missing .gitmodules (glob)
+   Author: nottest <test@example.org>
+   1 file changed, 1 insertion(+)
+   create mode 160000 git-repo4
+  $ cd ..
+  $ hg convert git-repo6 hg-repo6 --traceback
+  fatal: Path '.gitmodules' does not exist in '*' (glob)
+  initializing destination hg-repo6 repository
+  scanning source...
+  sorting...
+  converting...
+  2 addsubmodule
+  1 remove .gitmodules
+  0 missing .gitmodules
+  warning: cannot read submodules config file in * (glob)
+  updating bookmarks
+  $ rm -rf hg-repo6
+  $ cd git-repo6
+  $ rm -rf git-repo4
+  $ git reset --hard 'HEAD^^' > /dev/null
   $ cd ..
 
 test invalid splicemap1