Difference between version comparison in Commit Project view and CVS File View

There seems to be a difference in the way the current
(edited) version of a file is compared to the version
checked out from CVS and the manner the comparison is done
when looking at the file in the CVS File view.

In the commit project, IDEA is using its own version of
the checked out file (perhaps using the Local History),
whereas in the CVS File view IDEA performs a checkout on
the chosen version before the comparison.

Any idea how to perform the Commit Project version of
comparison using the CVS File View? I am connecting
to the CVS repository using a dial up connection and
the experience is not pleasant ;). Also, using the file
view, it is easier to check in one file at a time, rather
than perform a global project commit, which I sometimes
require.

conversely, is it possible to only commit a subset of the
files shown in the commit project view? I know it is
possible to exclude files from the commit, but what I
really want is a way to select the files INCLUDED in the
commit and ignore the non selected files.
The reationale is that for any project commit, the set of changes typically
is comprised from several logical changes which are applied
each to a set of files.

Cheers,

Bonny

3 comments

I have also noticed the difference, but I found the Commit diff misleading. I made some changes to a file rev1, did a cvs update which merged in some repository changes from rev2, then went to commit rev3, but the Commit Project diff showed the diff between the current working copy, and the original version I first editted, rev1. So the diff was showing me my changes, and the changes merged from the repository, whereas what I really expect to see are the just changes I'm committing (i.e. diff between rev2 and rev3).

0

Russell,

this is the behaviour I see - the Commit Projcet view compares the edited files against a cached version of the
last checked out version from the repository. Normally this would probably be misleading, except that in cases
where you know you are the only one modifying a file, the cached version is exactly the version you need to compare
with. When your CVS repository is on the other side of a slow 33.6K modem connection, this can prove a time saver
when you need to refresh your memory as to the extent of the changes so the commit message makes sense.
If only I could invoke this behaviour on demand, I'll be very happy...

Cheers,

Bonny

0

I can see the value of reduce network overhead. And I'm guessing the commit dialog may have been written somewhat generically, to support multiple VCS'.

Anyway, it would be nice if when I cvs update and merge occurs, Idea cached a pristine copy of the newest repository version to use in the commit comparison. The latest repos version would have to be downloaded one way or another, since cvs will veto your commit if you working copy isn't up to date. So at some point in time, Idea had to download the latest revision of that file, and it could use that copy as the baseline for the comparison without making an additional call to the server.

0

Please sign in to leave a comment.