} else if (!strcmp(name, SVN_DAV_MD5_CHECKSUM)) {
// validate against (presumably) just written file
if (decodedFileMd5 != md5Sum) {
+ SG_LOG(SG_GENERAL, SG_INFO, "checksum fail on:" << currentPath);
fail(SVNRepository::SVN_ERROR_CHECKSUM);
}
} else if (!strcmp(name, SVN_OPEN_DIRECTORY_TAG)) {
+ currentDir->updateReportComplete();
if (currentDir->parent()) {
// pop the collection stack
currentDir = currentDir->parent();
}
- currentDir->updateReportComplete();
currentPath = currentDir->fsPath();
} else {
// std::cout << "element:" << name;
SG_LOG(SG_IO, SG_WARN, "request for:" << url() <<
" return code " << responseCode());
_repo->propFindFailed(this, SVNRepository::SVN_ERROR_SOCKET);
+ _repo = NULL;
}
}
{
HTTP::Request::onFail();
_repo->propFindFailed(this, SVNRepository::SVN_ERROR_SOCKET);
+ _repo = NULL;
}
private:
SVNRepository::ResultCode err = _parser.parseXML(s, n);
if (err) {
_failed = true;
- SG_LOG(SG_IO, SG_WARN, "SVN: request for:" << url() << " failed:" << err);
+ SG_LOG(SG_IO, SG_WARN, _repo->p << ": SVN: request for:" << url() << " failed:" << err);
_repo->updateFailed(this, err);
+ _repo = NULL;
}
}
virtual void onFail()
{
HTTP::Request::onFail();
- _repo->updateFailed(this, SVNRepository::SVN_ERROR_SOCKET);
+ if (_repo) {
+ _repo->updateFailed(this, SVNRepository::SVN_ERROR_SOCKET);
+ _repo = NULL;
+ }
}
private:
SVNReportParser _parser;