mirror of
https://github.com/git/git.git
synced 2024-11-20 12:43:59 +01:00
git-gui: Started implementation of switch_branch.
This implementation of switch_branch is not yet finished, and thus it throws a "NOT FINISHED" error rather than completing the switch. But its a rough sketch of the procedure required. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
85ab313ed3
commit
84e0bf1de4
51
git-gui
51
git-gui
@ -1643,10 +1643,59 @@ proc populate_branch_menu {m} {
|
||||
}
|
||||
}
|
||||
|
||||
proc switch_branch {b} {
|
||||
proc do_create_branch {} {
|
||||
error "NOT IMPLEMENTED"
|
||||
}
|
||||
|
||||
proc do_delete_branch {} {
|
||||
error "NOT IMPLEMENTED"
|
||||
}
|
||||
|
||||
proc switch_branch {b} {
|
||||
global HEAD commit_type file_states current_branch
|
||||
global selected_commit_type ui_comm
|
||||
|
||||
if {![lock_index switch]} return
|
||||
|
||||
# -- Backup the selected branch (repository_state resets it)
|
||||
#
|
||||
set new_branch $current_branch
|
||||
|
||||
# -- Our in memory state should match the repository.
|
||||
#
|
||||
repository_state curType curHEAD curMERGE_HEAD
|
||||
if {[string match amend* $commit_type]
|
||||
&& $curType eq {normal}
|
||||
&& $curHEAD eq $HEAD} {
|
||||
} elseif {$commit_type ne $curType || $HEAD ne $curHEAD} {
|
||||
info_popup {Last scanned state does not match repository state.
|
||||
|
||||
Another Git program has modified this repository
|
||||
since the last scan. A rescan must be performed
|
||||
before the current branch can be changed.
|
||||
|
||||
The rescan will be automatically started now.
|
||||
}
|
||||
unlock_index
|
||||
rescan {set ui_status_value {Ready.}}
|
||||
return
|
||||
}
|
||||
|
||||
# -- Toss the message buffer if we are in amend mode.
|
||||
#
|
||||
if {[string match amend* $curType]} {
|
||||
$ui_comm delete 0.0 end
|
||||
$ui_comm edit reset
|
||||
$ui_comm edit modified false
|
||||
}
|
||||
|
||||
set selected_commit_type new
|
||||
set current_branch $new_branch
|
||||
|
||||
unlock_index
|
||||
error "NOT FINISHED"
|
||||
}
|
||||
|
||||
######################################################################
|
||||
##
|
||||
## remote management
|
||||
|
Loading…
Reference in New Issue
Block a user