Bug 84866 - [Change Sets] compare with branch or version: wrong commit sets displayed
Summary: [Change Sets] compare with branch or version: wrong commit sets displayed
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: CVS (show other bugs)
Version: 3.1   Edit
Hardware: PC Linux-GTK
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: platform-cvs-inbox CLA
QA Contact: Pawel Pogorzelski CLA
URL:
Whiteboard: stalebug
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2005-02-10 04:48 EST by Tom Hofmann CLA
Modified: 2022-02-05 06:12 EST (History)
5 users (show)

See Also:


Attachments
Initial patch (4.95 KB, patch)
2007-08-07 11:20 EDT, Michael Valenta CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Hofmann CLA 2005-02-10 04:48:15 EST
I20050209

- I had jdt-core version v_535, in source
- wanted to make a selective update to HEAD contents of jdt-core
  -> compare with...>branch or version
  -> select head
- in the synchronize view, I chose to show commit sets (as I wanted only updates
of a single commit set)

expected: the displayed commit sets would be the ones of the HEAD commits
(showing  what had changed from v_535 to HEAD)
actual: the commit sets were based on the revisions i had in my workspace
Comment 1 Michael Valenta CLA 2005-02-11 13:43:57 EST
The problem is that the rlog command is not fetching all the relevant 
revisions in this case. We will need to special case this and try to come up 
with a set of rlog parameters that give the desired result.

The workaround is to load HEAD and comare against the Tag. That results in the 
proper change sets.
Comment 2 Markus Keller CLA 2005-03-30 02:24:31 EST
I can't confirm comment 1. I had HEAD in my workspace and compared againt an
older tag. All change sets were labelled with the commit comment of the old
revision, and added files were in a change set labelled "Unassigned Remote Changes".

I would expect to see the commit comment of the newest revision in both cases.
Comment 3 Michael Valenta CLA 2005-03-31 14:53:17 EST
No time to address this in 3.1
Comment 4 Markus Keller CLA 2006-09-11 07:05:35 EDT
This is still a pain. It also makes the preview page of the releng tool's Release command completely unusable when change sets are enabled, because all shown comments are from the second-to-last commit.
Comment 5 Michael Valenta CLA 2006-09-11 08:35:30 EDT
I believe that the Platform/UI co-op has been adding improvements to the release wizard to get the correct comments. Hopefully it will be available soon but it has been delayed a bit due to the fact that the CVS protocol just isn;t geared to give this information.
Comment 6 Dani Megert CLA 2007-01-10 13:17:36 EST
This let me panic today when doing the build input for 3.2.2: I got a full list of changes and started to investigate why.

This is a major bug which should either be fixed by showing the correct change sets or by disabling the change set mode in those situations where we cannot compute the correct info.
Comment 7 Dani Megert CLA 2007-06-21 03:39:22 EDT
In order to prevent pain: as a simple fix couldn't you simply disable the change set feature in these situations?
Comment 8 Michael Valenta CLA 2007-06-21 06:25:00 EDT
We will consider only providing Change Sets for Synchronizations and remove them for Compares.
Comment 9 Michael Valenta CLA 2007-08-07 11:20:18 EDT
Created attachment 75545 [details]
Initial patch

This patch solves the problem for the case were you compare against a version tag. It works by making the assumption that the first fetched revision is not a change and can be ignored. Although this may be the correct assumption, I am going to investigate adding a more definitive test but that requires including the tags in the fetch of the log info. Also, I will need to add the logic for comparing against a data and for comparing against HEAD or a branch.
Comment 10 Tomasz Zarna CLA 2008-04-16 09:34:53 EDT
Michael, any progress here? Do you want to hand it over to us? I can give it a try, but won't make during 3.4. So, 3.5 seems to be closer to reality.
Comment 11 Michael Valenta CLA 2008-04-16 09:54:14 EDT
I am not looking into this anymore. Feel free to take it over.
Comment 12 Szymon Brandys CLA 2009-05-14 17:15:21 EDT
Pawel is on it, however it looks like 3.5.1.
Comment 13 Pawel Pogorzelski CLA 2009-05-15 06:54:00 EDT
Since the Compare between branches is just a two way compare I don't get how Change Sets concept fits there. I mean I can see the point of grouping changes but can't see how we could use CVS commit comments for that. All we should do when the command is invoked is compare two states, the local state with the state on a given branch.

I think what we're missing here is a "Synchronize with Another Branch or Version..." command. This would give the point in the repository tree to act as a base for the comparison (the last common revision for two branches). Lack of the command makes people use "Compare With > Another Branch or Version..." to do the job it's not designed to do.

Using "Synchronize with Another Branch or Version..." we could use commit comments to show what changes were made on a branch we're synchronizing to as incoming. The changes made in the branch we're in should be labelled with appropriate commit comments to and marked as outgoing. And the local changes should be unassigned and outgoing to.

However, as I discussed the problem with Szymon and Tomasz, there are some still some unknowns regarding how "Synchronize with Another Branch or Version..." should operate. Consider the case in which a file was modified on both branches plus we made some changes to it locally. Which commit set should it belong to?

To summarize, I'd drop the Change Sets from Compare With. I mean not the concept, just automatically constructing them from commit comments. Then I'd consider adding "Synchronize with Another Branch or Version...".
Comment 14 Szymon Brandys CLA 2009-05-15 07:10:11 EDT
Regarding the recent comments and feedback from Dani I'm removing the target milestone. We'll set more realistic one when we have feedback from anyone interested in fixing this. 

I'll add it to our list of issues being considered for 3.6 (http://wiki.eclipse.org/Workspace3.6)
Comment 15 Eclipse Webmaster CLA 2019-09-06 16:18:39 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.
Comment 16 Eclipse Genie CLA 2022-02-05 06:12:57 EST
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. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. 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.

--
The automated Eclipse Genie.