From: Junio C Hamano <hidden> Date: 2016-06-15 22:44:58
Johannes Schindelin [off-list ref] writes:
quoted
I personally think -sstrategy=string1,string2,... is simply a bad taste.
Why force yourself to parse things by having the users to concatenate
something that the user could give us separated? If you care about the
order and association between strategy and their options, you can always
do:
-s strategy1 -X option-1-for-strategy-1 -X option-2-for-strategy-1 \
-s strategy2 -X option-1-for-strategy-2 ...
You mean something like
$ git merge -s subtree -X --path -X git-gui/ git-gui/master
Wow. :-)
I would envision it to be more like:
$ git merge -s subtree -Xpath=git-gui git-gui/master
which git-merge internally would turn into:
$ git-merge-subtree --path=git-gui HEAD -- OURS THEIRS
That way both the external command line (that the end users do care about)
and the internal one (that the strategy programmer would care about) look
a lot more sensible than your command line, don't they?
Read again what did you wrote. ;-)
The current form is
git merge -s subtree git-gui/master, so at most it could be
$ git merge -s subtree -Xpath="git-gui" git-gui/master
From: Johannes Schindelin <hidden> Date: 2016-06-15 22:44:59
Hi,
On Sun, 20 Jul 2008, Junio C Hamano wrote:
Johannes Schindelin [off-list ref] writes:
quoted
quoted
I personally think -sstrategy=string1,string2,... is simply a bad taste.
Why force yourself to parse things by having the users to concatenate
something that the user could give us separated? If you care about the
order and association between strategy and their options, you can always
do:
-s strategy1 -X option-1-for-strategy-1 -X option-2-for-strategy-1 \
-s strategy2 -X option-1-for-strategy-2 ...
You mean something like
$ git merge -s subtree -X --path -X git-gui/ git-gui/master
Wow. :-)
I would envision it to be more like:
$ git merge -s subtree -Xpath=git-gui git-gui/master
which git-merge internally would turn into:
$ git-merge-subtree --path=git-gui HEAD -- OURS THEIRS
That way both the external command line (that the end users do care about)
and the internal one (that the strategy programmer would care about) look
a lot more sensible than your command line, don't they?
I still find it a lot easier to explain
$ git -s subtree=git-gui git-gui/master
to a new user than your command line, especially since
$ git -X path=git-gui -s subtree git-gui/master
would be a not so obvious mistake, _and_ especially since the
implementation of your option parsing would be rather ugly.
But the subject has been discussed to death, and you seem to still prefer
the -X way, so I give up.
You win,
Dscho "who can adapt even to a syntax he does not like"
Read again what did you wrote. ;-)
The current form is
git merge -s subtree git-gui/master, so at most it could be
$ git merge -s subtree -Xpath="git-gui" git-gui/master
Meh, what I ofcourse mean was:
$ git merge -s subtree -X"path=git-gui" git-gui/master
But that looks rather awkward, which is probably why I typed it the
way I did? Maybe something like....
$ git merge -s subtree -X(--path=git-gui --foo=bar) git-gui/master
--
Cheers,
Sverre Rabbelier
Read again what did you wrote. ;-)
The current form is
git merge -s subtree git-gui/master, so at most it could be
$ git merge -s subtree -Xpath="git-gui" git-gui/master
Meh, what I of course mean was:
$ git merge -s subtree -X"path=git-gui" git-gui/master
But that looks rather awkward, which is probably why I typed it the
way I did? Maybe something like....
$ git merge -s subtree -X(--path=git-gui --foo=bar) git-gui/master
Or perhaps (following -Wx family of GCC options)
$ git merge -s subtree -X--path=git-gui,--foo=bar git-gui/master
--
Jakub Narebski
Poland
ShadeHawk on #git