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

Re: Feature request: tsvn: url enhancement

From: Kevin Radke <kmradke_at_gmail.com>
Date: Wed, 10 Sep 2008 10:42:38 -0500

On Wed, Sep 10, 2008 at 12:13 AM, Stefan Küng <tortoisesvn_at_gmail.com> wrote:
> Kevin Radke wrote:
>> Peter McNab wrote:
>>> Kevin Radke wrote:
>>>> Stefan Küng wrote:
>>>>> the-moog wrote:
>>>>>> I have been tasked with migrating/interoperating from MKS to SVN, this
>>>>>> process will take some time, even years.
>>>>>>
>>>>>> There is no way to integrate both applications fully, so one way round
>>>>>> it is to invent SVNLinks (see my other post)
>>>>>>
>>>>>> I have written a rather complicated batch file that allows a link to
>>>>>> be placed, such that clicking the link checks out the contents of that
>>>>>> link to the current folder.
>>>>>> But at the moment, the tsvn: links check out only the HEAD. I have
>>>>>> made the batch file understand a bookmark in the link file (a standard
>>>>>> windows url file) but it would be nice if TSVN did this itself as it
>>>>>> would be useful to others.
>>>>>> e.g. Click this link to use TSVN to check out lastest stable version
>>>>>
>>>>> Why don't you create a tag for the latest stable version?
>>>>>
>>>>>> 1: It returns 0 as an errorlevel, even when there is an error, it
>>>>>> should return the same as svn
>>>>>
>>>>> Sorry, TSVN is *not* a command line utility and can't return proper
>>>>> return values.
>>>>
>>>> Values return from main() or the win32 API call ExitProcess() are
>>>> returned correctly when a win32 GUI application is called from the
>>>> command line. (Lower 8 bits is all that is used.) At the very
>>>> least success/failure - 0/1 should be doable.
>>>
>>> I can confirm making use of ExitProcess in a non "Console" app but
>>> that was in a Delphi compiled app many years ago.
>>
>> To do it "right", in the TortoiseSVN sense, it would require 2 separate
>> executables. Windows does have the annoying problem that a "GUI"
>> app is launched asynchronously, and a "console" app will always
>> flash a console box. To workaround this, one could make the
>> current TortoiseProc.exe a console application, but actually
>> launch it from explorer with a wrapper to suppress the console
>> box. Or one would need to build a wrapper around TortoiseProc.exe
>> to "do the right thing" and get synchronous behavior when launched
>> from the command line.
>>
>> Both of these options are a little hacky, and I doubt the
>> developers would really want to support them.
>>
>> I guess what would be coolest would be to create a project
>> to include TortoiseSVN like prompt dialogs, but with the
>> command line svn syntax. Sorta like a hybrid.
>>
>> If there was enough interest in others supporting a
>> command line based TortoiseSVN.exe executable, would the
>> devs be willing to include it with TortoiseSVN?
>
> Before this goes any further:
>
> * I know that ExitProcess() also works for GUI apps, but I have no
> intention to hack MFC just to properly return such a value (yes, I'd
> have to hack MFC here or create some other very ugly hack, since TSVN is
> dialog based, and a dialog must return FALSE so the message queue can
> stop and the application exit).
> * I also know that there is a way to get a console back, but that never
> works fully (tried that with SubWCRev once: worked for the default
> windows console, but no other console or some other scripting engines):
> now there are two SubWCRev exes
>
> TSVN is a GUI app and not intended for scripting. The CL client should
> be used for that: use the right tool for the right job.

Let's not call it scripting, lets call it integrating with other GUI
applications
that can be configured to call other utilities to do CM operations. TSVN
is PERFECT for doing this, and using something like the command line
utils can cause headaches with forcing the user to enter authentication
info in a console window, etc. People like GUIs, which is why I
like TortoiseSVN so much. If the command line utils and
TSVN could share more information this would be a moot point.

I'm not recommending adding ugly unmaintainable hacks. I was
merely asking if something creative and easily maintainable was created
would the devs be interested...

There are a number of documented and tested ways to set a process exit
code with a MFC app. One quick example is here:
http://groups.google.com/group/microsoft.public.vc.language/msg/60c356f351732e49

I'll admit I haven't looked at the TSVN source (yet), but I'm sure this stuff
is possible.

Kevin R.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: dev-help_at_tortoisesvn.tigris.org
Received on 2008-09-10 17:42:53 CEST

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