提交 bee866fa 编写于 作者: A Alexander Gavrilov 提交者: Paul Mackerras

gitk: Allow forcing branch creation if it already exists

If gitk knows that the branch the user tries to create exists,
it should ask whether it should overwrite it.  This way the user
can either decide to choose a new name, or move the head while
preserving the reflog.
Signed-off-by: NAlexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 d375ef9b
......@@ -7727,24 +7727,42 @@ proc mkbrgo {top} {
set name [$top.name get]
set id [$top.sha1 get]
set cmdargs {}
set old_id {}
if {$name eq {}} {
error_popup [mc "Please specify a name for the new branch"]
return
}
if {[info exists headids($name)]} {
if {![confirm_popup [mc \
"Branch '%s' already exists. Overwrite?" $name]]} {
return
}
set old_id $headids($name)
lappend cmdargs -f
}
catch {destroy $top}
lappend cmdargs $name $id
nowbusy newbranch
update
if {[catch {
exec git branch $name $id
eval exec git branch $cmdargs
} err]} {
notbusy newbranch
error_popup $err
} else {
set headids($name) $id
lappend idheads($id) $name
addedhead $id $name
notbusy newbranch
redrawtags $id
if {$old_id ne {}} {
movehead $id $name
movedhead $id $name
redrawtags $old_id
redrawtags $id
} else {
set headids($name) $id
lappend idheads($id) $name
addedhead $id $name
redrawtags $id
}
dispneartags 0
run refill_reflist
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册