At Wed, 22 Sep 2010 16:14:11 +0200,
Óscar Fuentes wrote:
> 
> Philip Jackson <[email protected]> writes:
> 
> >> Merge:
> >> 
> >> m m  Merge, no commit
> >> m c  Merge & commit
> >> m f  Merge, --ff-only
> >> m N  Merge, --no-ff
> >> m s  Squash
> >
> > Are these 'actions'?
> 
> Yes.
> 
> >> Options: --no-commit, --ff, --no-ff, --log, --squash, --ff-only,
> >> --stragegy=, --strategy-option=
> >
> > So what would 'm N' do if you also set the option --ff?
> 
> What does git? Fail? Carry on using the last option as the effective
> one?

> As key-groups allows to pick any arbitrary set of options for a given
> action, there is plenty of room for nonsensical combinations. There is
> no way for magit to figure out which of those combinations are wrong, so
> the Right Thing (TM) is to simply pass them to the git process.

So far the only action is 'merge' and then you can apply whichever
options you like to it. Room for redundancy, yes, but the options you
suggest above make no sense combined with those actions.

>>> Is *magit-key* easily user-extensible?
>>
>> Erm... the buffer name or the entire feature?
> 
> I mean adding and changing actions/options and key bindings.

Yes. For example magit-svn does:

  ;; add the group and its keys
  (magit-key-mode-add-group 'svn)
  (magit-key-mode-insert-action 'svn "r" "Rebase" 'magit-svn-rebase)
  (magit-key-mode-insert-action 'svn "c" "DCommit" 'magit-svn-dcommit)
  (magit-key-mode-insert-action 'svn "f" "Fetch" 'magit-svn-remote-update)
  (magit-key-mode-insert-action 'svn "s" "Find rev" 'magit-svn-find-rev)

Phil.

Reply via email to