(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).

If I do, it then builds OK.

Is that OK?

- Julian

--
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/6c1ee976-23ec-7e82-cbce-b6b84addc7fb%40assembla.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to