Bug 31453 - [CVS Sync View] Synchronizing with server transfers entire binary JAR to figure it is any different
Summary: [CVS Sync View] Synchronizing with server transfers entire binary JAR to figu...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Team (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 3.0 M2   Edit
Assignee: Dean Roberts CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2003-02-10 09:34 EST by Philipe Mulet CLA
Modified: 2003-07-10 14:25 EDT (History)
0 users

See Also:


Attachments
Progress showing JAR retrieval when initiating synchronization (444.22 KB, image/pjpeg)
2003-02-10 09:40 EST, Philipe Mulet CLA
no flags Details
Fix for this bug (2.47 KB, application/octet-stream)
2003-07-10 11:51 EDT, Dean Roberts CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philipe Mulet CLA 2003-02-10 09:34:38 EST
Build 20030206

I think this bug has always been in, but when selecting a binary JAR for 
synchronization with server, it will retrieve the old JAR content only to
tell me it has a different revision number.

This makes posting patches on dev.eclipse.org remotely really painfull (should 
simply have committed without checking to workaround this bug).
Comment 1 Philipe Mulet CLA 2003-02-10 09:40:23 EST
Created attachment 3383 [details]
Progress showing JAR retrieval when initiating synchronization
Comment 2 Michael Valenta CLA 2003-02-10 10:24:48 EST
Unfortunately, this is how CVS works (i.e sends all modified local contents to 
the server on a sync/update). This is done so the server can determine if 
there really is a change and also to perform any auto-merging for text files. 
Given that the server will not auto-merge binary files, it may be possible to 
optimize this case without loss of functionality. In the case where there 
isn't really a change, the update would have reset the sync info so the file 
was no longer dirty. Since we now do this on commit, it should be OK.
Comment 3 Philipe Mulet CLA 2003-03-19 08:38:40 EST
When we post patch on JDT/Core page, we are hitting this issue over and over.
The deadly case is if someone else posted a patch in the meantime.

Commit no longer work, since a conflict is detected. The only way to release 
the patch is to synchronize, and thus download the entire remote file, which I 
will override with my local change.

Comment 4 Jean-Michel Lemieux CLA 2003-04-14 12:48:55 EDT
We should fix try and fix for 2.1.1. There are other cases when too much file
content is sent to the server: adding files and synchronizing binary files.
Comment 5 Dean Roberts CLA 2003-07-10 11:51:45 EDT
Created attachment 5418 [details]
Fix for this bug
Comment 6 Dean Roberts CLA 2003-07-10 11:56:31 EDT
The attached patch prevents us from sending the contents of binary files when 
doing an UPDATE on synchronize.

However, if you are using a slow link then you will probably want to make sure 
the "Window->Preferences->Team->CVS->Consider file contents in comparisons" 
option is turned OFF.  If this option is left on, the binary file contents 
will be sent from the server as the data is required for this feature.  
(Without the patch and with this option on, the file data was actually being 
sent twice).

I will open a separate bug report regarding this option.  It is possible we 
want this feature to ignore binary files as well.  Until then, just turn the 
option off.  It is not clear it is strictly necessary anyhow since commit 
seems to do the right thing.

The add file case Jean-Michel talked about seems to have been fixed at an 
earlier date by the addition of an AddFile Visitor.

Also, the resetting of timestamp when commiting binary files that are the same 
but with different time stamps does work properly.  IE nothing is really 
commited to the server.

Comment 7 Dean Roberts CLA 2003-07-10 12:01:26 EDT
See bug 39880 for discussion of "Consider file contents in comparisons" option
Comment 8 Dean Roberts CLA 2003-07-10 14:25:47 EDT
Released to HEAD