• S
    git-gui: Implement local merge operations. · e4834837
    Shawn O. Pearce 提交于
    To allow users to merge local heads and tracking branches we now offer
    a dialog which lets the user select 1-15 branches and merge them using
    the stock `git merge` Grand Unified Merge Driver.
    
    Originally I had wanted to implement this merge internally within git-gui
    as I consider GUMD to be mostly Porcelain-ish, but the truth is it does
    its job exceedingly well and its a relatively complex chunk of code.
    I'll probably circle back later and try to remove the invocation of GUMD
    from git-gui, but right now it lets me get the job done faster.
    
    Users cannot start a merge if they are currently in the middle of one,
    or if they are amending a commit.  Trying to do either is just stupid
    and should be stopped as early as possible.
    
    I've also made it simple for users to startup a gitk session prior to
    a merge by offering a Visualize button which runs `gitk $revs --not HEAD`,
    where $revs is the list of branches currently selected in the merge
    dialog.  This makes it quite simple to find out what the damage will
    be to the current branch if you were to carry out the currently proposed
    merge.
    Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
    e4834837
git-gui.sh 117.0 KB