+ set subcommand_args {rev? path?}
+ set path {}
+ set is_path 0
+ foreach a $argv {
+ if {$is_path || [file exists $_prefix$a]} {
+ if {$path ne {}} usage
+ set path $a
+ break
+ } elseif {$a eq {--}} {
+ if {$path ne {}} {
+ if {$current_branch ne {}} usage
+ set current_branch $path
+ set path {}
+ }
+ set is_path 1
+ } elseif {$current_branch eq {}} {
+ if {$current_branch ne {}} usage
+ set current_branch $a
+ } else {
+ usage
+ }
+ }
+ unset is_path
+
+ if {$current_branch eq {} && $path ne {}} {
+ set current_branch [git symbolic-ref HEAD]
+ regsub ^refs/((heads|tags|remotes)/)? \
+ $current_branch {} current_branch