On Thursday, November 16, 2017 at 9:27:50 PM UTC+1, Julian Foad wrote:
>
> (To Subversion and TortoiseSVN lists.)
>
> Subversion change r1815293 marks the shelving APIs with
> SVN_EXPERIMENTAL. In TortoiseSVN this translates to
> __declspec(deprecated("experimental function used")) which raises an
> error when the functions are called from SVN.cpp.
>
> The basic way to work around this, as used in Subversion r1815294 in
> shelve-cmd.c and shelve.c, is to #define SVN_EXPERIMENTAL as nothing
> before including Subversion header files.
>
> In TortoiseSVN's, the Subversion headers are included not directly in
> each file (e.g. SVN.cpp) but from inside the pre-compiled header stdafx.x.
>
> I would have preferred to put '#define SVN_EXPERIMENTAL' just in SVN.cpp
> which is the only file that calls the experimental functions. Putting
> the #define directly in SVN.cpp, before #include stdafx.h, does NOT
> work, even if followed by including svn_types.h and svn_client.h. The
> compiler throws a warning about it and ignores it and still uses the
> declarations from the precompiled header and so raises the same errors
> in the end.
>
> It looks like I need to put '#define SVN_EXPERIMENTAL' inside stdafx.h
> (just before the Subversion includes).
>
>
Or, change the build script and add the define there. Either directly:
<define name="SVN_EXPERIMENTAL" />
or via a NAnt target and property:
<target name="experimental">
<description>
builds svn experimental features
</description>
<property name="experimental" value="true" />
</target>
and then
<define name="SVN_EXPERIMENTAL" if="${experimental==true}"/>
but defining it directly in stdafx.h is ok as well.
Stefan
--
You received this message because you are subscribed to the Google Groups
"TortoiseSVN-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tortoisesvn-dev/a4323f00-9cfc-41e2-a09e-f8f261d46973%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.