From 72594233910a7f3ae988020702de20d8703a2ffb Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Thu, 6 Oct 2005 11:19:22 +0100 Subject: [PATCH 1/1] Add the ability to rename a git branch To keep StGit-specific functionality separate from git functionality, create a git.rename_branch function to do appropriate sanity checking and rename branch heads. Signed-off-by: Chuck Lever --- stgit/git.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/stgit/git.py b/stgit/git.py index 7bb41c5..55f06c1 100644 --- a/stgit/git.py +++ b/stgit/git.py @@ -315,6 +315,20 @@ def delete_branch(name): raise GitException, 'Branch "%s" does not exist' % name os.remove(os.path.join(base_dir, branch_head)) +def rename_branch(from_name, to_name): + """Rename a git branch + """ + from_head = os.path.join(base_dir, 'refs', 'heads', from_name) + if not branch_exists(from_head): + raise GitException, 'Branch "%s" does not exist' % from_name + to_head = os.path.join(base_dir, 'refs', 'heads', to_name) + if branch_exists(to_head): + raise GitException, 'Branch "%s" already exists' % to_name + + if get_head_file() == from_name: + set_head_file(os.path.join('refs', 'heads', to_name)) + os.rename(from_head, to_head) + def add(names): """Add the files or recursively add the directory contents """ -- 2.11.0