git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] stgit: fix clone
@ 2006-01-11 22:19 Pavel Roskin
  2006-01-11 22:39 ` Chuck Lever
  0 siblings, 1 reply; 6+ messages in thread
From: Pavel Roskin @ 2006-01-11 22:19 UTC (permalink / raw)
  To: Catalin Marinas, git

"stg clone" is currently broken:

$ stg clone http://homepage.ntlworld.com/cmarinas/stgit.git    
stg clone: git-rev-parse --git-dir failed

This happens with current git.  "git-rev-parse --git-dir" doesn't work
in an empty directory.  The patch avoids running "git-rev-parse
--git-dir" when the requested command doesn't assume existence of git
repository.

Signed-off-by: Pavel Roskin <proski@gnu.org>

---
Warning: this is my first non-trivial patch to StGIT and the first patch
to a Python program.

diff --git a/stgit/git.py b/stgit/git.py
index a7b1c3f..0e63f69 100644
--- a/stgit/git.py
+++ b/stgit/git.py
@@ -82,13 +82,16 @@ __commits = dict()
 # Functions
 #
 
-def get_base_dir():
+def get_base_dir(assume_top = False):
     """Different start-up variables read from the environment
     """
     if 'GIT_DIR' in os.environ:
         return os.environ['GIT_DIR']
     else:
-        return _output_one_line('git-rev-parse --git-dir')
+        if assume_top:
+            return '.git'
+        else:
+            return _output_one_line('git-rev-parse --git-dir')
 
 def get_commit(id_hash):
     """Commit objects factory. Save/look-up them in the __commits
diff --git a/stgit/stack.py b/stgit/stack.py
index 8b7c296..1c080b3 100644
--- a/stgit/stack.py
+++ b/stgit/stack.py
@@ -263,7 +263,7 @@ class Series:
             self.__name = git.get_head_file()
 
         if self.__name:
-            base_dir = git.get_base_dir()
+            base_dir = git.get_base_dir(assume_top = (name == 'master'))
             self.__patch_dir = os.path.join(base_dir, 'patches',
                                             self.__name)
             self.__base_file = os.path.join(base_dir, 'refs', 'bases',


-- 
Regards,
Pavel Roskin

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-01-13  5:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-11 22:19 [PATCH] stgit: fix clone Pavel Roskin
2006-01-11 22:39 ` Chuck Lever
2006-01-11 22:47   ` Chuck Lever
2006-01-12 11:54     ` Catalin Marinas
2006-01-12 14:51       ` Chuck Lever
2006-01-13  5:24       ` Pavel Roskin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).