git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pavel Roskin <proski@gnu.org>
To: Catalin Marinas <catalin.marinas@gmail.com>, git <git@vger.kernel.org>
Subject: [PATCH] stgit: fix clone
Date: Wed, 11 Jan 2006 17:19:26 -0500	[thread overview]
Message-ID: <1137017966.10975.8.camel@dv> (raw)

"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

             reply	other threads:[~2006-01-11 22:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-11 22:19 Pavel Roskin [this message]
2006-01-11 22:39 ` [PATCH] stgit: fix clone 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1137017966.10975.8.camel@dv \
    --to=proski@gnu.org \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).