Hello Mr. Sours,

On Wed, Jan 27, 2016 at 08:32:45PM +0000, Cameron Sours wrote:
>    **Additional Information:** Debugging this issue was particularly
>    difficult. SVN 1.8 disabled support for the Neon HTTP RA (repository
>    access) library in favor of the Serf library which removed client debug
>    logging. [1] In addition, the SVN error code returned did not match the
>    string given in svn_error_codes.h [2] Also, SVN Error codes cannot be
>    mapped back to their ENUM label easily, this case SVN error code E170013
>    maps to SVN_ERR_RA_CANNOT_CREATE_SESSION.
> 
>     
> 
>    1.           
>    
> stackoverflow.com/questions/8416989/is-it-possible-to-get-svn-client-debug-output

Ouch. I'm using Neon's logging of SVN protocol stream all the time
(SvnBridge protocol compatibility analysis),
and while I knew that this logging is Neon-specific
(it's called neon-debug-mask after all...)
I had (stupidly?) expected Serf mode
to offer something comparable in functionality.
So, to restate Stackoverflow's question:
"So how does it work now?"

Don't tell me that one is expected to apply liberal use of packet analyzers 
now...
(well, not-so-"liberal" in that case, that is, for obvious reasons...)

OTOH serf-trunk (of http://serf.apache.org/contribute )
does seem to have logging serf:ed ;) in several areas,
so possibly svn does provide log enabling,
or would be able to implement such relatively easily,
and that would then possibly also spew the data of interest:

$ grep serf__log *
context.c:    serf__log_init(ctx);
incoming.c:    serf__log(LOGLVL_DEBUG, LOGCOMP_CONN, __FILE__,
client->config,
logging.c:apr_status_t serf__log_init(serf_context_t *ctx)
logging.c:void serf__log_nopref(apr_uint32_t level, apr_uint32_t comp,
logging.c:void serf__log(apr_uint32_t level, apr_uint32_t comp, const
char *prefix,
logging.c:int serf__log_enabled(apr_uint32_t level, apr_uint32_t comp,
serf_config_t *config)
logging.c:apr_status_t serf__log_init(serf_context_t *ctx)
logging.c:void serf__log_nopref(apr_uint32_t level, apr_uint32_t comp,
logging.c:void serf__log(apr_uint32_t level, apr_uint32_t comp, const
char *prefix,
logging.c:int serf__log_enabled(apr_uint32_t level, apr_uint32_t comp,
serf_config_t *config)
...



Congratulations for a very impressively maximally detailed issue description!

Andreas Mohr

Reply via email to