Skip to content

Instantly share code, notes, and snippets.

@ari
Forked from anonymous/svnkit_commit_merge_notes.txt
Last active August 29, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ari/f1fc75c22b92ab17a73d to your computer and use it in GitHub Desktop.
Save ari/f1fc75c22b92ab17a73d to your computer and use it in GitHub Desktop.
https://github.com/jenkinsci/svnkit/commit/1b5bdd882c3b0f6ff9292fc98b852c899496c211
SVNKit has a weird error handling abstraction. It has 'SVNErrorMessage',
which can form a chain (just like exceptions can), and it has most of
the details of the errors. This object is also the one that's created at
the point of an error (thus its stack trace would be of great interest
although it doesn't keep it.)
Then it has SVNException, which is used to wrap SVNErrorMessage into an
Exception.
Both of them can have nested Throwable as a cause, which together forms
a binary tree structure that makes it very hard to render.
Ideally SVNErrorMessage should have been Exception and SVNException
shouldn't have been needed, but now it's too late to change that.
So in this change I'm turning SVNErrorMessage into an Exception
without removing SVNException. The hope is that this makes SVNKit retain
more of the stack trace information that assists trouble-shooting.
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/SVNAuthenticationException.java 2014-07-01 03:29:00.919070460 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/SVNErrorMessage.java 2014-07-01 03:29:00.920070829 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/SVNException.java 2014-07-01 03:29:00.921070762 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/dav/http/HTTPSSLKeyManager.java 2014-07-01 03:29:03.640069964 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/fs/FSCommitter.java 2014-07-01 03:29:03.577069889 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/fs/FSFS.java 2014-07-01 03:29:03.201069241 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/fs/FSRepository.java 2014-07-01 03:29:03.563070224 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/admin/SVNAdminArea.java 2014-07-01 03:29:04.804070058 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/admin/SVNLogRunner.java 2014-07-01 03:29:04.798070274 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/admin/SVNXMLAdminAreaFactory.java 2014-07-01 03:29:04.814069949 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/io/SVNRepositoryFactory.java 2014-07-01 03:29:08.167069488 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/e48e3376b1a6b8b923a313f160456529c67f7dd1
added serialization support
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/SVNURL.java 2014-07-01 03:29:00.922070429 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/2d0b54bfe2de66a416b2c6c68a944c6ce2cb382e
Added a mechanism to listen to the outcome of authentication.
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/auth/BasicAuthenticationManager.java 2014-07-01 03:29:00.711069583 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/auth/ISVNAuthenticationManager.java 2014-07-01 03:29:00.707070563 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/auth/ISVNAuthenticationOutcomeListener.java 1970-01-01 00:00:00.000000000 +0000
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/DefaultSVNAuthenticationManager.java 2014-07-01 03:29:04.785069789 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/3f433b57251ed0347e4ade0b53ed81a89edc3dd3
don't rely on a File
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/auth/SVNSSLAuthentication.java 2014-07-01 03:29:00.704070324 +0000
----------------------------------------------------------------------------------------
???
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/dav/DAVCommitEditor.java 2014-07-01 03:29:03.913069752 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/eb94162eae503d37ee726c26ff0688d66dc95721
An NPE occurred in DAVConnection because of the last http status can be unset, fixed
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/dav/DAVConnection.java 2014-07-01 03:29:03.915069568 +0000
----------------------------------------------------------------------------------------
???
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/dav/DAVRepository.java 2014-07-01 03:29:03.916070407 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/5421c5c0903ec5fbdc4e0b45971b1daad49d24e1
https://github.com/jenkinsci/svnkit/commit/202b87e2baad1265600bbd0870b8d10ba32e3abf
https://github.com/jenkinsci/svnkit/commit/7080a995ad40ca486cc01f6bd4f84a028f6ced35
https://github.com/jenkinsci/svnkit/commit/ff4ba9b8d59b0838cd83a2feb5c7ccd86f632b18
https://github.com/jenkinsci/svnkit/commit/a658e83643c044d57815378dbcf913ce0ce61089
https://github.com/jenkinsci/svnkit/commit/9edc211e68eb641f27317a4a19058dcfd7d06c02
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.java 2014-07-01 03:29:03.638070010 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/b7451a54aeb2cae3f3d73d98db5f4289e5403406
https://github.com/jenkinsci/svnkit/commit/ed85d0578581bfe35f30672b18d0a9fe16b35934
Persistent HTTP connection bug fix. Reported as http://svnkit.com/tracker/view.php?id=280
[ That ticket notes the problem was fixed years ago]
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/dav/http/HTTPRequest.java 2014-07-01 03:29:03.656070341 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/10e50221ee6c89104cc5a8e3f0ff3a1fa91d6c53
keep the root cause chained. Related to HUDSON-4105
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/svn/SVNEditModeReader.java 2014-07-01 03:29:02.941070049 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/33555cc6fb5a0b63c97b446caf26f983b4242efd
The error message should indicate EOF, not malformed data.
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/svn/SVNReader.java 2014-07-01 03:29:03.119070776 +0000
----------------------------------------------------------------------------------------
???
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/svn/SVNRepositoryImpl.java 2014-07-01 03:29:03.116069904 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/5767429619d1a256afc072e7f859b86eae2c9f3a
small changes required by our fork of trilead-ssh2
[Seriously, Jenkins forked an SSH library implemented in Java?]
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/io/svn/ssh/SshSession.java 2014-07-01 03:29:02.944070531 +0000
----------------------------------------------------------------------------------------
???
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/DefaultSVNPersistentAuthenticationProvider.java 2014-07-01 03:29:04.787070259 +0000
----------------------------------------------------------------------------------------
???
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/SVNAdminUtil.java 2014-07-01 03:29:04.341070005 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/1e3ad79cf649c70b08bc12a7c4f4539aa581b9e4
don't lose the root cause
https://github.com/jenkinsci/svnkit/commit/edb3b7fc088085e89aaf58e00f02f65f65b86849
Fixed infinite loop if SVNErrorMessage creates a cycle.
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/SVNErrorManager.java 2014-07-01 03:29:04.487070300 +0000
----------------------------------------------------------------------------------------
???
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc/SVNEventFactory.java 2014-07-01 03:29:04.453070113 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/bfddf2421bd7d148fad628471dd6d19ee40cd759
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/internal/wc16/SVNUpdateClient16.java 2014-07-01 03:29:00.926070451 +0000
----------------------------------------------------------------------------------------
https://github.com/jenkinsci/svnkit/commit/66c7bd0b987d2dd61aa9f9c6c67540466ec9d409
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/wc/SVNCopyClient.java 2014-07-01 03:29:08.876069752 +0000
----------------------------------------------------------------------------------------
???
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/core/wc/SVNEvent.java 2014-07-01 03:29:08.878069547 +0000
----------------------------------------------------------------------------------------
...
--- upstream_1.8.4/svnkit/src/main/java/org/tmatesoft/svn/util/Version.java 2014-07-01 03:29:09.125069936 +0000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment