changeset 4166:c0271aba6abe

small fixes for the parent patch - format.usestore is a boolean option - python wart: ("revlogv1") is a string, not a tuple - only create a dummy changelog if we're using a store - add a test
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Thu, 08 Mar 2007 20:08:24 -0300
parents 0d0f098e5d51
children ac9e891f2c0f
files mercurial/localrepo.py tests/test-init tests/test-init.out
diffstat 3 files changed, 34 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -41,20 +41,19 @@ class localrepository(repo.repository):
                 if not os.path.exists(path):
                     os.mkdir(path)
                 os.mkdir(self.path)
-                if parentui.config('format', 'usestore', 1):
+                requirements = ["revlogv1"]
+                if parentui.configbool('format', 'usestore', True):
                     os.mkdir(os.path.join(self.path, "store"))
-                    requirements = ("revlogv1", "store")
-                else:
-                    requirements = ("revlogv1")
+                    requirements.append("store")
+                    # create an invalid changelog
+                    self.opener("00changelog.i", "a").write(
+                        '\0\0\0\2' # represents revlogv2
+                        ' dummy changelog to prevent using the old repo layout'
+                    )
                 reqfile = self.opener("requires", "w")
                 for r in requirements:
                     reqfile.write("%s\n" % r)
                 reqfile.close()
-                # create an invalid changelog
-                self.opener("00changelog.i", "a").write(
-                    '\0\0\0\2' # represents revlogv2
-                    ' dummy changelog to prevent using the old repo layout'
-                )
             else:
                 raise repo.RepoError(_("repository %s not found") % path)
         elif create:
--- a/tests/test-init
+++ b/tests/test-init
@@ -22,11 +22,31 @@ echo Got arguments 1:$1 2:$2 3:$3 4:$4 5
 EOF
 chmod +x dummyssh
 
+checknewrepo()
+{
+    name=$1
+
+    if [ -d $name/.hg/store ]; then
+	echo store created
+    fi
+
+    if [ -f $name/.hg/00changelog.i ]; then
+	echo 00changelog.i created
+    fi
+
+    cat $name/.hg/requires
+}
+
 echo "# creating 'local'"
 hg init local
+checknewrepo local
 echo this > local/foo
 hg ci --cwd local -A -m "init" -d "1000000 0"
 
+echo "# creating repo with old format"
+hg --config format.usestore=false init old
+checknewrepo old
+
 echo "#test failure"
 hg init local
 
--- a/tests/test-init.out
+++ b/tests/test-init.out
@@ -1,5 +1,11 @@
 # creating 'local'
+store created
+00changelog.i created
+revlogv1
+store
 adding foo
+# creating repo with old format
+revlogv1
 #test failure
 abort: repository local already exists!
 # init+push to remote2