git-gui: Move merge support into a namespace

Like the console procs I have moved the code related to merge
support into their own namespace, so that they are isolated
from the rest of the world.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
diff --git a/lib/merge.tcl b/lib/merge.tcl
index e0e84ae..21cd83d 100644
--- a/lib/merge.tcl
+++ b/lib/merge.tcl
@@ -1,7 +1,9 @@
 # git-gui branch merge support
 # Copyright (C) 2006, 2007 Shawn Pearce
 
-proc can_merge {} {
+namespace eval merge {
+
+proc _can_merge {} {
 	global HEAD commit_type file_states
 
 	if {[string match amend* $commit_type]} {
@@ -61,7 +63,7 @@
 	return 1
 }
 
-proc visualize_local_merge {w} {
+proc _visualize {w} {
 	set revs {}
 	foreach i [$w.source.l curselection] {
 		lappend revs [$w.source.l get $i]
@@ -71,7 +73,7 @@
 	do_gitk $revs
 }
 
-proc start_local_merge_action {w} {
+proc _start {w} {
 	global HEAD ui_status_value current_branch
 
 	set cmd [list git merge]
@@ -121,12 +123,12 @@
 	set msg "Merging $current_branch, [join $names {, }]"
 	set ui_status_value "$msg..."
 	set cons [console::new "Merge" $msg]
-	console::exec $cons $cmd [list finish_merge $revcnt]
+	console::exec $cons $cmd [namespace code [list _finish $revcnt]]
 	bind $w <Destroy> {}
 	destroy $w
 }
 
-proc finish_merge {revcnt w ok} {
+proc _finish {revcnt w ok} {
 	console::done $w $ok
 	if {$ok} {
 		set msg {Merge completed successfully.}
@@ -144,7 +146,8 @@
 
 			set fd [open "| git read-tree --reset -u HEAD" r]
 			fconfigure $fd -blocking 0 -translation binary
-			fileevent $fd readable [list reset_hard_wait $fd]
+			fileevent $fd readable \
+				[namespace code [list _reset_wait $fd]]
 			set ui_status_value {Aborting... please wait...}
 			return
 		}
@@ -155,10 +158,10 @@
 	rescan [list set ui_status_value $msg]
 }
 
-proc do_local_merge {} {
+proc dialog {} {
 	global current_branch
 
-	if {![can_merge]} return
+	if {![_can_merge]} return
 
 	set w .merge_setup
 	toplevel $w
@@ -171,10 +174,10 @@
 
 	frame $w.buttons
 	button $w.buttons.visualize -text Visualize \
-		-command [list visualize_local_merge $w]
+		-command [namespace code [list _visualize $w]]
 	pack $w.buttons.visualize -side left
 	button $w.buttons.create -text Merge \
-		-command [list start_local_merge_action $w]
+		-command [namespace code [list _start $w]]
 	pack $w.buttons.create -side right
 	button $w.buttons.cancel -text {Cancel} \
 		-command [list destroy $w]
@@ -226,7 +229,7 @@
 	tkwait window $w
 }
 
-proc do_reset_hard {} {
+proc reset_hard {} {
 	global HEAD commit_type file_states
 
 	if {[string match amend* $commit_type]} {
@@ -252,14 +255,14 @@
 Continue with aborting the current $op?"] eq {yes}} {
 		set fd [open "| git read-tree --reset -u HEAD" r]
 		fconfigure $fd -blocking 0 -translation binary
-		fileevent $fd readable [list reset_hard_wait $fd]
+		fileevent $fd readable [namespace code [list _reset_wait $fd]]
 		set ui_status_value {Aborting... please wait...}
 	} else {
 		unlock_index
 	}
 }
 
-proc reset_hard_wait {fd} {
+proc _reset_wait {fd} {
 	global ui_comm
 
 	read $fd
@@ -279,3 +282,5 @@
 		rescan {set ui_status_value {Abort completed.  Ready.}}
 	}
 }
+
+}