[FIX] must manage() Environment before loading test file
[odoo/odoo.git] / odoo.py
diff --git a/odoo.py b/odoo.py
index d9a0bed..e5f861b 100755 (executable)
--- a/odoo.py
+++ b/odoo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python2
+#!/usr/bin/env python
 #----------------------------------------------------------
 # odoo cli
 #
@@ -47,20 +47,18 @@ def git_locate():
         os.chdir('odoo')
 
     path = os.getcwd()
-    while path != '/':
+    while path != os.path.abspath(os.sep):
         gitconfig_path = os.path.join(path, '.git/config')
         if os.path.isfile(gitconfig_path):
-            setup_py = os.path.join(path, 'setup.py')
-            if os.path.isfile(setup_py):
-                content = open(setup_py).read()
-                if content.find('release.py') != -1:
-                    break
+            release_py = os.path.join(path, 'openerp/release.py')
+            if os.path.isfile(release_py):
+                break
         path = os.path.dirname(path)
-    if path == '/':
+    if path == os.path.abspath(os.sep):
         path = None
     return path
 
-def cmd_setup_git_init():
+def cmd_setup_git():
     git_dir = git_locate()
     if git_dir:
         printf('git repo found at %s',git_dir)
@@ -69,12 +67,15 @@ def cmd_setup_git_init():
         os.chdir('odoo')
         git_dir = os.getcwd()
     if git_dir:
-        # sane push config for git < 2.0
-        run('git','config','push.default','simple')
+        # push sane config for git < 2.0, and hooks
+        #run('git','config','push.default','simple')
+        # alias
+        run('git','config','alias.st','status')
         # merge bzr style
-        run('git','config','merge.ff','no')
         run('git','config','merge.commit','no')
-        # push hooks
+        # pull let me choose between merge or rebase only works in git > 2.0, use an alias for 1
+        run('git','config','pull.ff','only')
+        run('git','config','alias.pl','pull --ff-only')
         pre_push_path = os.path.join(git_dir, '.git/hooks/pre-push')
         open(pre_push_path,'w').write(GIT_HOOKS_PRE_PUSH.strip())
         os.chmod(pre_push_path, 0755)
@@ -116,9 +117,10 @@ def cmd_setup_git_review():
         run('git','config','--add','remote.odoo.fetch','+refs/pull/*:refs/remotes/odoo/pull/*')
 
 def setup_deps_debian(git_dir):
-    debian_control_path = os.path.join(git_dir, 'setup/debian/control')
+    debian_control_path = os.path.join(git_dir, 'debian/control')
     debian_control = open(debian_control_path).read()
     debs = re.findall('python-[0-9a-z]+',debian_control)
+    debs += ["postgresql"]
     proc = subprocess.Popen(['sudo','apt-get','install'] + debs, stdin=open('/dev/tty'))
     proc.communicate()
 
@@ -139,7 +141,7 @@ def cmd_setup_pg():
             setup_pg_debian(git_dir)
 
 def cmd_setup():
-    cmd_setup_git_init()
+    cmd_setup_git()
     cmd_setup_deps()
     cmd_setup_pg()