Bug 241350 - Cannot update files in Team Synchronizing Perspective unless you call "Synchronize" on them (regression)
Summary: Cannot update files in Team Synchronizing Perspective unless you call "Synchr...
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: CVS (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 major with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: platform-cvs-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-18 03:08 EDT by Mauro Molinari CLA
Modified: 2019-09-06 16:09 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mauro Molinari CLA 2008-07-18 03:08:59 EDT
In Eclipse 3.3 when a file is marked as modified (=> outgoing change), but meanwhile someone else has committed a change in the repository, if you right click on that file in the Team Synchronizing Perspective and choose "update", that file is updated (merging the changes) from the repository.

In Eclipse 3.4 this does not happen. If you choose "update" Eclipse says that there are no incoming changes for that file, even if this is not true: in fact, if you try to commit, you'll receive an up-to-date-check failed. You have to right click on that file and choose "Synchronize" in order to see it marked as conflicting: only then you can right click => update to get the incoming changes marged with your local changes.
Comment 1 Tomasz Zarna CLA 2008-08-18 08:24:44 EDT
Mauro, can you confirm you did exactly the same changes in Eclipse 3.3 and 3.4? If yes, could you provide the steps? It's true that Eclipse 3.4 acts like described above, however, an identical conflicting change made in 3.3 (I20070625-1500) resulted in the same message (ie "Up-to-date check failed"). Did you open the compare editor for the file in the meantime? Or maybe a scheduled synchronization occurred?
Comment 2 Mauro Molinari CLA 2008-08-18 09:00:41 EDT
(In reply to comment #1)
> Mauro, can you confirm you did exactly the same changes in Eclipse 3.3 and 3.4?
> If yes, could you provide the steps? It's true that Eclipse 3.4 acts like
> described above, however, an identical conflicting change made in 3.3
> (I20070625-1500) resulted in the same message (ie "Up-to-date check failed").
> Did you open the compare editor for the file in the meantime? Or maybe a
> scheduled synchronization occurred?
> 

Hi Tomasz, I think I was not clear enough in my original report. The steps are these:
1) open Eclipse and issue a CVS synchronization in the Team Synchronizing Perspective, so that the Synchronize view is populated
2) checkout a file
3) modify it in Eclipse
4) modify it outside Eclipse and commit it
5) now that file in Eclipse is still marked as an outgoing change, but Eclipse does not know yet it's conflicting with the change made outside
6) switch to the Team Synchronizing Perspective, right click on the file and click on "update"

=> in Eclipse 3.3, the changes made outside Eclipse are merged with the local changes; if the merge can't be done automatically, Eclipse warns you and marks the file as conflicting; once the merge is done, you can issue a right click=>Commit with success

=> in Eclipse 3.4, Eclipse says that there are no incoming changes!!! If you then do a right click=>Commit, Eclipse gives an up-to-date-check failed error message. This is inconsistent, because Eclipse has just said there are no incoming changes for that file! 
You must issue a new synchronization (for instance doing a right click=>Synchronize on that file) in order to make Eclipse realize that there actually are remote changes that need to be merged with the local ones. Only after that you can commit with success.

In other words, Eclipse 3.4 forces you to issue a synchronization in order to make sure that your outgoing changes are not conflicting, because a simple update does not work (it always says that there are no incoming changes!).

Mauro.
Comment 3 Tomasz Zarna CLA 2008-08-20 07:49:37 EDT
(In reply to comment #2)
If you have modified the same in Eclipse and then outside Eclipse, while updating you should get a message saying that the resource is out of sync:

"Problem accessing resource: /foo/foofile.txt. Resource is out of sync with the file system: '/foo/foofile.txt'. Perform a Refresh."

Do you get this message? I do in 3.3. With the refresh done (on the file, not in the terms of synchronization), I did "Update" again, but this time I was informed that:

"There are no changes to merge" (in Eclipse 3.3)

Next, I clicked "Synchronize" again and the outgoing change switched to a conflicting one (I made a parallel change on the same file, and committed it with WinCVS).
Following the same steps in 3.4 gives me the same results.

Mauro, is there something I missed?
Comment 4 Mauro Molinari CLA 2008-08-20 11:02:57 EDT
(In reply to comment #3)
> (In reply to comment #2)
> If you have modified the same in Eclipse and then outside Eclipse, while
> updating you should get a message saying that the resource is out of sync:

This is not what I meant.

I'm trying to say it in another different way:

1) open Eclipse and issue a CVS synchronization in the Team Synchronizing
Perspective, so that the Synchronize view is populated
2) checkout a file
3) modify it in Eclipse
4) check out the same file elsewhere (another folder, not in Eclipse workspace), edit it with a text editor (Notepad for instance) and commit it using another CVS client (LinCVS, for example); in other words, suppose another member of your team has changed that file and committed his changes
5) now, that file in Eclipse is still marked as an outgoing change, but Eclipse
does not know yet it's conflicting with the change made by the "other team member" (i.e.: yourself using the external tools, in this example)
6) switch to the Team Synchronizing Perspective, right click on the file and
click on "update"

=> in Eclipse 3.3, the changes made by the other team member are merged with the local changes; if the merge can't be done automatically, Eclipse warns you and marks the file as conflicting; once the merge is done, you can issue a right
click=>Commit with success

=> in Eclipse 3.4, Eclipse says that there are no incoming changes!!! If you
then do a right click=>Commit, Eclipse gives an up-to-date-check failed error
message. This is inconsistent, because Eclipse has just said there are no
incoming changes for that file! You must issue a new synchronization (for instance doing a right click=>Synchronize on that file) in order to make Eclipse realize that there actually are remote changes that need to be merged with the local ones. Only after that you can commit with success.

Mauro.
Comment 5 Mauro Molinari CLA 2008-11-05 06:44:32 EST
Any news on this?
Comment 6 Mauro Molinari CLA 2008-11-05 06:51:59 EST
After further investigation my suspect is that in Eclipse 3.4 when you issue an "Update" from the Synchronize view, without a previous "Synchronize", Eclipse seems to check against the current known revision instead of checking against the current latest remote revision, so that it says that there are no incoming changes while there actually are...

After performing a synchronization, instead, Eclipse realizes that there's a new revision on the repository and then recognizes the conflict.

I'm pretty sure this didn't happen in Eclipse 3.3...
Comment 7 Eclipse Webmaster CLA 2019-09-06 16:09:44 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.