зеркало из https://github.com/microsoft/git.git
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: Alexander Gavrilov <angavrilov@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
d375ef9b14
Коммит
bee866fa6b
28
gitk
28
gitk
|
@ -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
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче