On Thu, Dec 15, 2016 at 09:58:42PM +1030, Pierre Dumuid wrote: > It's a bit clunky but it works!! > > Usage: > - mark commit one (e.g. v45) > - Select commit two. > - Switch the gdttype to the option, "git-cherry between marked commit and:" This needs a better description. "Git-cherry between marked commit and" is a description of an implementation not a description of what's being achieved. Having read the git cherry man page, it seems like it's (Find commit) included in marked commit but not in this commit (or the other way around?). We would need a terser description that that, though. [...] > +proc update_gitcherrylist {} { > + global gitcherryids > + global markedid > + global findstring > + global fstring > + global currentid > + global iddrawn > + > + unset -nocomplain gitcherryids > + set fs $findstring > + > + if {$findstring eq {}} { > + $fstring delete 0 end > + $fstring insert 0 $currentid > + } > + > + if {![info exists markedid]} { > + error_popup [mc "Please mark a git commit before using this find method!"] > + return > + } > + > + #puts [join [list "Running cherry between: `" $markedid "` and `" $findstring "`"] ""] > + > + if {[catch {set cherryOutput [exec git cherry $markedid $findstring]}]} { How long could the git cherry take to run? If it's more than a fraction of a second, then we would need to handle its output asynchronously like we do in [do_file_hl]. Paul.