From 9fa44db94bfabcf43160316660801a2c1db2dbb9 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 3 Nov 2008 11:24:59 -0800 Subject: Introduce 'repo abandon ' as an alias for 'git branch -D' This destroys a local development branch, removing all history of that branch from ever existing. If the branch is currently checked out we move back to the upstream revision. Signed-off-by: Shawn O. Pearce --- project.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'project.py') diff --git a/project.py b/project.py index f963576b..0637f4bf 100644 --- a/project.py +++ b/project.py @@ -710,6 +710,22 @@ class Project(object): else: raise GitError('%s checkout %s ' % (self.name, rev)) + def AbandonBranch(self, name): + """Destroy a local topic branch. + """ + try: + tip_rev = self.bare_git.rev_parse(R_HEADS + name) + except GitError: + return + + if self.CurrentBranch == name: + self._Checkout( + self.GetRemote(self.remote.name).ToLocal(self.revision), + quiet=True) + + cmd = ['branch', '-D', name] + GitCommand(self, cmd, capture_stdout=True).Wait() + def PruneHeads(self): """Prune any topic branches already merged into upstream. """ -- cgit v1.2.3-54-g00ecf