diff options
| -rwxr-xr-x | git-branch-list | 27 | 
1 files changed, 17 insertions, 10 deletions
| diff --git a/git-branch-list b/git-branch-list index c0e355c..5d0bc44 100755 --- a/git-branch-list +++ b/git-branch-list @@ -36,12 +36,12 @@ function save_branch () {  function drop_branch () {  	local branch=$(branch_or_current_branch "$1") -	sed -i '.bak' "/$branch/d" "$DATABASE" +	# Assume `$branch` is an ID if it's not a branch name +	if ! is_a_branch "$branch"; then +		branch=$(branch_by_id "$branch") +	fi -	# TODO: Allow dropping by ID or branch name -	# if [ "$branch" = '' ] use current branch -	# if is_a_branch "$branch"; then do what happens now -	# try to delete branch at ID +	sed -i '.bak' "/$branch/d" "$DATABASE"  }  function list_branches () { @@ -50,11 +50,7 @@ function list_branches () {  function checkout_branch () {  	local id="$1" - -	local branch=$(list_branches | -		tr -d ' ' | -		fgrep "$id	" | -		cut -d '	' -f 2) +	local branch=$(branch_by_id "$id")  	if [ "$branch" = '' ]; then  		echo 'branch-list: Invalid checkout ID' 1>&2 @@ -81,6 +77,17 @@ function is_a_branch () {  	return $?  } +function branch_by_id () { +	local id="$1" + +	local branch=$(list_branches | +		tr -d ' ' | +		fgrep "$id	" | +		cut -d '	' -f 2) + +	echo "$branch" +} +  command="$1"  initialise_database | 
