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] 
> <javascript:>>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] <javascript:>.
>> 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.


Reply via email to