meeging is good, but NOT SCREWING UP with the consequences this change can cause I would suggest to do extensive testing. Some bussinesses rely on this pligins stability... -- Sent from my Nokia N9
On 02/05/2013 10:05 Kenny Ayers wrote: KK - any word on integrating this pull request? On Friday, April 26, 2013 3:48:43 PM UTC-7, Kenny Ayers wrote: Ah, I see... perhaps I can bribe him with mail-order cookies or beer or something... I'll do a pull request on my change, and see if that gets the ball rolling. Thanks for the replies, Kenny On Friday, April 26, 2013 2:45:04 PM UTC-7, Stephen Connolly wrote: The process I usually follow is to beg KK to do the merge pleading that it blew up in my face and there is no way he could do it during his lunchbreak... Though I may be using the "no way you could do that in your lunchbreak" dare a bit too often... he may have wised up to my tricks... perhaps I need to find a new one ;-) On 26 April 2013 22:39, Kenny Ayers <[email protected]> wrote: Hey Stephen, Alexander Kitaev from SVNKit has peer-reviewed this change and has rolled it into the upstream libraries, and the new binaries are available here: http://teamcity.tmatesoft.com/viewLog.html?buildId=6105&tab=artifacts&buildTypeId=bt43 (http://issues.tmatesoft.com/issue/SVNKIT-368#comment=60-4930). I'm not sure what the process is for getting this updated in the plugin, please let me know if there is anything else I can do to help. Thank you, Kenny On Friday, April 26, 2013 3:04:03 AM UTC-7, Stephen Connolly wrote: Traditionally, the jenkins fork is maintaining a (hopefully) smaller set of patches on top of the upstream version. The aim is to get the set of patches to zero and then drop the fork. With reference to the above aim, my preference would be to get it in upstream rather than add to our current patch set. It is a real pain trying to update the code from upstream, at least every time I have tried I have had to give up and get KK to do it (he has some set of magic workspaces or something) so I would just love if we can get the need for this fork to disappear completely -Stephen On 26 April 2013 03:22, Kenny Ayers <[email protected]> wrote: Hi folks, Short Version: I may have a fix for Jenkins-14551 (https://issues.jenkins-ci.org/browse/JENKINS-14551). I've submitted this potential resolution to SVNKit as well as their 1.7.6 SVN branch has the same issue (http://issues.tmatesoft.com/issue/SVNKIT-368). I've compiled the change into the subversion-plugin on my test server, and the fix appears to work. Can a contributor peer review this change? How do I go about submitting this fix to the Jenkins SVNKit repo? Do I need a unit test before I can do a pull request? The bug is obvious when you look at the code, and the unit test setup and execution seems like it would be complicated. I've forked the Jenkins SVNKit repo and committed the modification here: https://github.com/theotherwhitemeat/svnkit-1/commit/27decb28216ee4fd15b8fcbdb769bf41d81978eb Longer Version: In org.tmatesoft.svn.core.internal.wc.SVNUpdateEditor15.java, in function addFileWithHistory (line 867), there's a code block that calls myFileFetcher.fetchFile() twice. Each time this is called, baseTextOS is written to. Upon the second write, the file contents are duplicated. Here's the code: baseTextOS = SVNFileUtil.openFileForWriting(info.copiedBaseText); myFileFetcher.fetchFile(copyFromPath, copyFromRevision, baseTextOS, baseProperties); SVNChecksumOutputStream checksumBaseTextOS = new SVNChecksumOutputStream(baseTextOS, SVNChecksumOutputStream.MD5_ALGORITHM, true); baseTextOS = checksumBaseTextOS; myFileFetcher.fetchFile(copyFromPath, copyFromRevision, baseTextOS, baseProperties); info.copiedBaseChecksum = checksumBaseTextOS.getDigest(); I was able to find this by stepping through the code using NetBeans IDE 7.3 attached to a remote debugging session on Jenkins. I've compiled and tested this change inside the context of the subversion-plugin and the file contents are no longer duplicated. I've forked the svnkit repo used in Jenkins here, and committed this change if anyone would like to download the fix and do some testing: https://github.com/theotherwhitemeat/svnkit-1/commit/27decb28216ee4fd15b8fcbdb769bf41d81978eb Here's my patch: Index: SVNUpdateEditor15.java =================================================================== --- SVNUpdateEditor15.java (revision 9722) +++ SVNUpdateEditor15.java (working copy) @@ -864,7 +864,6 @@ OutputStream baseTextOS = null; try { baseTextOS = SVNFileUtil.openFileForWriting(info.copiedBaseText); - myFileFetcher.fetchFile(copyFromPath, copyFromRevision, baseTextOS, baseProperties); SVNChecksumOutputStream checksumBaseTextOS = new SVNChecksumOutputStream(baseTextOS, SVNChecksumOutputStream.MD5_ALGORITHM, true); baseTextOS = checksumBaseTextOS; Thank you, Kenny Ayers -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
