[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: TSVN 1.3.2 & external Merge tool (Araxis) with /readonly parameter...

From: Simon Large <simon_at_skirridsystems.co.uk>
Date: 2006-04-01 00:54:51 CEST

Joseph Galbraith wrote:
> Stefan Küng wrote:
>> Molle Bestefich wrote:
>>> Stefan Küng wrote:
>>>> In that case, you should file a bug with Araxis: a program should ignore
>>>> switches it doesn't know, or at least have a switch to do so.
>>>> I'm not talking about command line params but switches.
>>> Erh... what?
>>> If you shove random garbage at some program, it should err out.
>>> It should definitely NOT pretend all is well.
>> Not really. If you pass invalid params to it, then it should error out.
>> But ignore everything it doesn't know.
>> You know, the "garbage in -> garbage out" design is bad.
>>
>>> (Point being that the user will not know whether they're doing it
>>> right or wrong if the options they type wrong are just ignored.)
>>>
>>> And how is a "switch" not a command line parameter?
>> A switch is something like "/switch" or "-switch"
>> a param is without the '/' or '-'.
>> For example:
>> svn checkout url path --ignore-externals
>> params: checkout, url, path
>> switch: --ignore-externals
>>
>> As you can see, a param can't be ignored because it can only be valid or
>> invalid. A switch however is clearly distinct from a param and can be
>> valid (known), invalid (known but illegal, for example a --recursive
>> switch for operations which can't be done recursively) and unknown.
>> In case of an unknown switch, a program should simply ignore it.
>>
>> It's different for command line tools like svn or e.g. 'copy', because
>> those really are used directly by the user. But GUI programs aren't used
>> that way but only called with command line params by other applications.
>> So they should not error out but ignore switches they don't know.
>>
>>> I think this is a bug in TSVN :-).
>> Of course! It's always a bug in TSVN.
>> What do you suggest in this case? Provide yet another option to ommit
>> the param? But then some diff tools will know a 'readonly' param but
>> have it named differently, so what about those? A text box to enter the
>> param the external diff tool uses for 'readonly'? I'm starting to feel
>> sick just thinking of the bloating settings dialog...
>
> I personally suggest that we only pass the /readonly
> parameter if it is TortoiseMerge.

+1. IIUC the original bug report was a result of clicking the 'Resolved'
button in TMerge. That just doesn't exist in other apps, so there is no
pressing need for the /readonly switch.

> I've mentioned before that I don't have a problem if
> TortoiseMerge integrates better with TSVN than external tools
> (and therefore offers a richer feature set and fewer
> problems.)
>
> Maybe, if you are feeling generous, provide
> a check-box, "External tool compatible with TortoiseMerge
> command switches" which overrides this behavior.

I think there are just too many variations to make this worthwhile.
Maybe another tool uses /readonly, but it could be -r --readonly
--read-only or (for Micro$oft apps) -zRv. I don't think any app will set
out to be compatible with TMerge, and I don't think TMerge sets out to
be compatible with any other app.

> If you are feeling __extremely__ generous, provide
> registry settings for the value of each command switch
> we pass. I would not, however, expose these in the UI;
> let the users that want that level of customization
> us regedit.

How many different switches would we want to pass? Another approach
would be to add another substitution mechanism to the command line
parameters eg. %readonly=-r% (if read only switch is required, use
'/r'), which would avoid making the UI any more complicated for 'normal'
users. But again, is it really needed?

Simon

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sat Apr 1 00:54:07 2006

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.