From: Junio C Hamano Date: Wed, 09 Sep 2015 21:52:13 GMT Subject: Re: [PATCHv1 2/2] git-p4: work with a detached head Message-ID: In-Reply-To: <1441461738-25066-3-git-send-email-luke@diamand.org> Luke Diamand writes: > def run(self, args): > if len(args) == 0: > self.master = currentGitBranch() > - if len(self.master) == 0 or not gitBranchExists("refs/heads/%s" % self.master): > - die("Detecting current git branch failed!") > + if self.master == "undefined": > + self.master = None The comparison with textual "undefined" smelled fishy and I ended up looking at the implementation of currentGitBranch(). def currentGitBranch(): return read_pipe("git name-rev HEAD").split(" ")[1].strip() Yuck. I know it is not entirely the fault of this patch, but shouldn't it be reading from $ git symbolic-ref HEAD and catch the error "fatal: ref HEAD is not a symbolic ref" and use it as a signal to tell that the HEAD is detached?