Poll: CVS File View replacement

Hello everyone,

The new version control UI added in version 6 (in particular, the Changes
view) to a large degree duplicates the UI that existed in previous version
(File View). To reduce the confusion and improve the UI consistency across
all supported VCS integration, we're planning to drop the File View in IntelliJ
IDEA 6.5 and integrate its important functionality into other views.

To understand the requirements better, we'd like to request community feedback.
If you're using a VCS integration where the File View is supported, do you
use it at all? If you do, how do you use it? Which of its current features
do you consider essential, and which are not?

General suggestions on improving the presentation of VCS-related information
in IntelliJ IDEA are also welcome in this thread.

--
Dmitry Jemerov
Software Developer
http://www.jetbrains.com/
"Develop with Pleasure!"


23 comments

Hi Dmitry,

What I miss in VCS (CVS in my case) integration is the ability to review incoming changes. In this regard a Changes view like interface for the changes either just retrieved (Update Project) or changes that are still pending on the server (Check Project Status) would be a big help. Group the changes by username and check-in comment below that.

This is especially useful for senior developers in a team who may want to review changes committed by less experienced developers.

Additionally, I would suggest an additional view to easily review such changes.
What I'm envisioning is a screen with a 4 level tree at the left consisting of the levels username, change comment, filename, method.
At the right would be a split pane (my preference would be a horizontal split) showing both the old and the new versions of the code with the changes highlighted.

I feel that such an interface would greatly aid in quickly reviewing changes.

And once such a view is built, I'd suggest to also apply it to the outgoing changes view, as reviewing your own changes is often a good idea.

0

Hello Maarten,

MH> What I miss in VCS (CVS in my case) integration is the ability to
MH> review incoming changes. In this regard a Changes view like
MH> interface for the changes either just retrieved (Update Project) or
MH> changes that are still pending on the server (Check Project Status)
MH> would be a big help. Group the changes by username and check-in
MH> comment below that.

We do plan to provide such interface as well.

MH> This is especially useful for senior developers in a team who may
MH> want to review changes committed by less experienced developers.
MH>
MH> Additionally, I would suggest an additional view to easily review
MH> such changes.
MH>
MH> What I'm envisioning is a screen with a 4 level tree at the left
MH> consisting of the levels username, change comment, filename, method.
MH>
MH> At the right would be a split pane (my preference would be a
MH> horizontal split) showing both the old and the new versions of the
MH> code with the changes highlighted.
MH>
MH> I feel that such an interface would greatly aid in quickly reviewing
MH> changes.
MH>
MH> And once such a view is built, I'd suggest to also apply it to the
MH> outgoing changes view, as reviewing your own changes is often a good
MH> idea.

We are also thinking of providing better code review support, however I'm
not sure that such a view would be optimal for performing code review. From
my own experience, the important part of code review is not so much reviewing
the new or changed lines of code, but rather understanding the context in
which the changed code is called. And for this, it would be much better not
to isolate viewing changes to method level, but rather to apply the changes
to the entire codebase and to have access to all navigation features of IDEA
while reviewing code. Of course, it must be possible to easily revert changes
applied for review purposes, and to track which of the modifications have
already been reviewed.

--
Dmitry Jemerov
Software Developer
http://www.jetbrains.com/
"Develop with Pleasure!"


0

To reduce the confusion and improve the UI consistency across
all supported VCS integration, we're planning to drop the File View
in IntelliJ IDEA 6.5 and integrate its important functionality
into other views.


It's been some time since I last used CVS, but I remember my main use for the File View is now covered by the Changes view: to find out what files have been modified, deleted, added, etc.

-- Marcus

0

What I miss in VCS (CVS in my case) integration is
the ability to review incoming changes.

This is especially useful for senior developers in a
team who may want to review changes committed by less
experienced developers.


That's just what TMate provided, and exactly what I wanted to see integrated into IDEA proper.

-- Marcus

0

We are also thinking of providing better code review
support, however I'm not sure that such a view would
be optimal for performing code review.
And for this, it would be much better not
to isolate viewing changes to method level, but
rather to apply the changes to the entire codebase
and to have access to all navigation features of IDEA


Again, IDEATMate made me happy here. I could easily browse the files affected in each changeset, spot the modified portions, and revert any bad/uneeded changes. IDEATmate = VCS bliss.

-- Marcus

0

I've used the File View pretty much, but not anymore since the sweet changelists are there.

0

Hell All,

What i miss is a configuration for switch on/off modules (cvs-roots).
Maybe a file-based Filter would be nice. (exclude/include *.jsp etc)

A secound feature would be an automatic file history on the bottom of the File-View if a single file is selected.

Greetings
Henne

0

I use CVS as my version control software. I like being able to issue a commit against a directory and then being able to exclude certain files from actually being commited by unchecking them in the dialog. I also like being able to right click on a file name to bring up a diff window showing the changes since the last commit. One feature that would be VERY helpful is if I could have athe ability to enter commit comments before I close the diff window. I use the diff functionality to remember what changes were made to a file so I can enter a meaningful message when I commit it. The problem I have is that if I have made several changes, I have to take notes on what I want to put in the checkin message so I don't forget what I want to say before I get a chance to enter the message. If I could craft the check in message as I am looking at the diff's the whole check in process would be a lot smoother and faster, at least for me.

0

+10 I like this idea a lot. Being able to edit the commit comments from
the commit window the diff was launched from would make things a lot
easier on the grey cells... maybe a collapsible area or toolwindow at
the bottom of the diff window containing the comment?

N.

Ralph Saunders wrote:

I use CVS as my version control software. I like being able to issue
a commit against a directory and then being able to exclude certain
files from actually being commited by unchecking them in the dialog.
I also like being able to right click on a file name to bring up a
diff window showing the changes since the last commit. One feature
that would be VERY helpful is if I could have athe ability to enter
commit comments before I close the diff window. I use the diff
functionality to remember what changes were made to a file so I can
enter a meaningful message when I commit it. The problem I have is
that if I have made several changes, I have to take notes on what I
want to put in the checkin message so I don't forget what I want to
say before I get a chance to enter the message. If I could craft the
check in message as I am looking at the diff's the whole check in
process would be a lot smoother and faster, at least for me.

0

Hello Ralph,

RS> I use CVS as my version control software. I like being able to
RS> issue a commit against a directory and then being able to exclude
RS> certain files from actually being commited by unchecking them in the
RS> dialog. I also like being able to right click on a file name to
RS> bring up a diff window showing the changes since the last commit.

What you're describing is the functionality of the Commit Changes dialog,
not of the File View. We do not plan any major changes to the Commit Changes
dialog in 6.5.

RS> One feature that would be VERY helpful is if I could have athe
RS> ability to enter commit comments before I close the diff window. I
RS> use the diff functionality to remember what changes were made to a
RS> file so I can enter a meaningful message when I commit it. The
RS> problem I have is that if I have made several changes, I have to
RS> take notes on what I want to put in the checkin message so I don't
RS> forget what I want to say before I get a chance to enter the
RS> message. If I could craft the check in message as I am looking at
RS> the diff's the whole check in process would be a lot smoother and
RS> faster, at least for me.

Could you please file a JIRA request for this feature?

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

The only thing I've used the File view for is to confirm what branch (ie sticky tags) my check-in is going to end up in. I'd much rather see this integrated into the changes view.

See also http://www.jetbrains.net/jira/browse/IDEA-6778

0

The only thing I've used the File view for is to
confirm what branch (ie sticky tags) my check-in is
going to end up in. I'd much rather see this
integrated into the changes view.

See also
http://www.jetbrains.net/jira/browse/IDEA-6778


Yes! I have found myself on occasion using an external CVS client just for this feature. Believe me, there's nothing worse than accidentally checking some code into the wrong branch. Even though it's out of scope for 6.5, I would love to see the sticky tag on the normal commit dialog too for the same reason.

0


General suggestions on improving the presentation of
VCS-related information
in IntelliJ IDEA are also welcome in this thread.


I dislike how the current version history window displays branches (CVS client). Standalone CVS clients (eg CrossVC on Linux or WinCVS on Windows) seem to do a better job and also offer a graphical view. There only appears to be one level of indentation in the version column of the history window and so if two or more branches are rooted at the same point, all branch histories are shown together eg there are three branches rooted at version 1.47 shown below. I find this hard to read.

Version
1.47
--1.47.2.1
--1.47.2.2
--1.47.2.3
--1.47.4.1
--1.47.4.2
--1.47.6.1
1.48
1.49

I realise this is a limitation of trying to show the history in a table. As a comparison, see the attached picture. The branches are much easier to see and you can toggle display of tag names and other cool features. eg click on two versions and merge etc



Attachment(s):
lgview.png
0

Hello Ian,

>> The only thing I've used the File view for is to confirm what branch
>> (ie sticky tags) my check-in is going to end up in. I'd much rather
>> see this integrated into the changes view.
>>
>> See also
>> http://www.jetbrains.net/jira/browse/IDEA-6778
IB> Yes! I have found myself on occasion using an external CVS client
IB> just for this feature. Believe me, there's nothing worse than
IB> accidentally checking some code into the wrong branch. Even though
IB> it's out of scope for 6.5, I would love to see the sticky tag on the
IB> normal commit dialog too for the same reason.

Why do you think it's out of scope for 6.5? As for me, I think this is very
much in scope. :)

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

Dmitry Jemerov wrote:

Why do you think it's out of scope for 6.5? As for me, I think this is
very much in scope. :)

Does that mean you're considering
http://www.jetbrains.net/jira/browse/IDEA-5848 and simliar requests?
R

0

Hello Robert,

>> Why do you think it's out of scope for 6.5? As for me, I think this
>> is very much in scope. :)
>>
RG> Does that mean you're considering
RG> http://www.jetbrains.net/jira/browse/IDEA-5848 and simliar requests?

Yes.

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

The only thing I've used File View for checking what branch my check-ins are going. I'd much rather see this in the changes dialog.

The most common case is that all changes are going to the same branch, so having an extra column in the dialog would be a lot of clutter. However, if some are going to an unexpected branch, I'd really like to see that before checking in. Perhaps each change set could be divided into chunks, one for each unique branch it's going into.

See also: http://www.jetbrains.net/jira/browse/IDEA-6778

0

The project I am working has modules which content is a big amount of
auto-generated java source files which have to be part of the project in
order for it to compile. They are not part of the version control (CVS)
system. So I have the "Changes view" showing group with over 1500
unversioned files. Pop-up menu on this group takes ages. Filtering for
this view is something I would like to see. I would then tell IDEA skip
those thousands of unversioned files.

I use File View in IDEA5 pretty much. Maybe because it is closer to
WinCVS client I use with non-java projects. The ability to see files as
list or tree, to see the sticky tag and "modified" status, to filter
which kind of files (added, deleted, up-to-date etc) to display...
(Unlike the Changes View, in File View I can switch "Unknown" files
off.) What I miss in IDEA is better representation of branches, like
many stand-alone CVS GUI clients do (Graph view in WinCVS for example).

I see no big use of Changes View for me. I understand many people enjoy
the "changelist" feature, but I think this could be supported inside
File View. File View also can be closed so it frees all the memory
resource it takes. Changes view is aways there, always eating memory.

In conclusion, I still find File View useful.

Dmitry Jemerov wrote:

Hello everyone,

The new version control UI added in version 6 (in particular, the
Changes view) to a large degree duplicates the UI that existed in
previous version (File View). To reduce the confusion and improve the UI
consistency across all supported VCS integration, we're planning to drop
the File View in IntelliJ IDEA 6.5 and integrate its important
functionality into other views.

To understand the requirements better, we'd like to request community
feedback. If you're using a VCS integration where the File View is
supported, do you use it at all? If you do, how do you use it? Which of
its current features do you consider essential, and which are not?

General suggestions on improving the presentation of VCS-related
information in IntelliJ IDEA are also welcome in this thread.

0

The project I am working has modules which content is a big amount of
auto-generated java source files which have to be part of the project
in order for it to compile. They are not part of the version control
(CVS) system. So I have the "Changes view" showing group with over
1500 unversioned files. Pop-up menu on this group takes ages.
Filtering for this view is something I would like to see. I would then
tell IDEA skip those thousands of unversioned files.

+10


0

Hello George,

First of all - thanls for a detailed reply!

GT> The project I am working has modules which content is a big amount
GT> of auto-generated java source files which have to be part of the
GT> project in order for it to compile. They are not part of the version
GT> control (CVS) system. So I have the "Changes view" showing group
GT> with over 1500 unversioned files. Pop-up menu on this group takes
GT> ages. Filtering for this view is something I would like to see. I
GT> would then tell IDEA skip those thousands of unversioned files.

Filtering for unversioned files in the Changes view is planned for the next
version.
http://www.jetbrains.net/jira/browse/IDEADEV-5061

GT> I use File View in IDEA5 pretty much. Maybe because it is closer to
GT> WinCVS client I use with non-java projects. The ability to see files
GT> as list or tree, to see the sticky tag and "modified" status, to
GT> filter which kind of files (added, deleted, up-to-date etc) to
GT> display... (Unlike the Changes View, in File View I can switch
GT> "Unknown" files off.)

How exactly do you use that? Clearly seeing the list of all files in a project
is not of any use for a decent-sized project? "Modified" status is displayed
everywhere through the color of file and class names.

Would it be useful to have an option to display sticky tags in the Project
view?

GT> What I miss in IDEA is better representation
GT> of branches, like many stand-alone CVS GUI clients do (Graph view in
GT> WinCVS for example).

We'lll see what we can do about this.

GT> I see no big use of Changes View for me. I understand many people
GT> enjoy the "changelist" feature, but I think this could be supported
GT> inside File View.

...and this will be not really different from supporting the good features
of the File view in the Changes view.

GT> File View also can be closed so it frees all the
GT> memory resource it takes. Changes view is aways there, always eating
GT> memory.

The Changes view currently serves as the main provider of file status information
for the project, and this isn't likely to change. So it will always take
a certain amount of memory. But it's possible to reduce the memory usage
when the view isn't open, and we'll try to do so in the next version.


GT>
GT> In conclusion, I still find File View useful.
GT>
GT> Dmitry Jemerov wrote:
GT>
>> Hello everyone,
>>
>> The new version control UI added in version 6 (in particular, the
>> Changes view) to a large degree duplicates the UI that existed in
>> previous version (File View). To reduce the confusion and improve the
>> UI consistency across all supported VCS integration, we're planning
>> to drop the File View in IntelliJ IDEA 6.5 and integrate its
>> important functionality into other views.
>>


>> To understand the requirements better, we'd like to request community
>> feedback. If you're using a VCS integration where the File View is
>> supported, do you use it at all? If you do, how do you use it? Which
>> of its current features do you consider essential, and which are not?
>>
>> General suggestions on improving the presentation of VCS-related
>> information in IntelliJ IDEA are also welcome in this thread.
>>
--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"




0


Dmitry Jemerov wrote:

Hello George,

First of all - thanls for a detailed reply!


I am happy that you find my comment somehow useful!


GT> The project I am working has modules which content is a big amount
GT> of auto-generated java source files which have to be part of the
GT> project in order for it to compile. They are not part of the version
GT> control (CVS) system. So I have the "Changes view" showing group
GT> with over 1500 unversioned files. Pop-up menu on this group takes
GT> ages. Filtering for this view is something I would like to see. I
GT> would then tell IDEA skip those thousands of unversioned files.

Filtering for unversioned files in the Changes view is planned for the
next version.
http://www.jetbrains.net/jira/browse/IDEADEV-5061


I am sure many people will use the filtering ability in this view, so
good to hear that it is planned.


GT> I use File View in IDEA5 pretty much. Maybe because it is closer to
GT> WinCVS client I use with non-java projects. The ability to see files
GT> as list or tree, to see the sticky tag and "modified" status, to
GT> filter which kind of files (added, deleted, up-to-date etc) to
GT> display... (Unlike the Changes View, in File View I can switch
GT> "Unknown" files off.)
How exactly do you use that? Clearly seeing the list of all files in a
project is not of any use for a decent-sized project?


Agree, to see all files is not of much use. But "Unknown" files switch
in File View is exactly what is missing yet in Changes view - the
ability to filter out files which are not under version control.

Also:
many times I found useful for myself the ability to switch between
"added" and/or "modified" and/or "deleted from local file system" and/or
"merged" and/or "merged w/ conflicts" etc. Sure, I have rarely used "Up
to date" switch, on small projects only. I use this kind of filtering
also with WinCVS.

If you are going to add the ability to filter out unversioned files, how
far is it from adding the ability to filter the other VCS-types?

About the ability to see files in tree-like nature in Changes view: I
see it is there already.

"Modified" status
is displayed everywhere through the color of file and class names.


Status displayed as color - agree, it is useful. I rely on the color to
know how specific file / directory is handled by version control. So I
cannot argue about this.

A note about coloring: unlike in IDEA5, where directories specified as
source for specific content root of a module were also displayed in
appropriate VCS color in the Project view, in IDEA6 the font color of
these directories is always black (with blue folder icon), making it
obvious that the directory is Source for the module's content root, but
hiding the VCS color of this directory. I have projects with several
modules which have two content roots each - one is under version
control, the other is not. The name of each root is same in the Package
view (because the deepest package name for both is same). I have to read
the full path for each source in each root in order to know which of the
two can participate in multiple selection when performing batch CVS
commands (like Create Tag). In IDEA5 I could rely on the font color for
each of the content root directories. I hope I will see the font color
for root directories again dependent on VCS status.


Would it be useful to have an option to display sticky tags in the
Project view?


Sticky tag and current file revision is something which I don't
need to see all the time, so switch sounds not bad. It should be easy
accessible like "Show members", "Autoscroll to source" etc if it goes to
Project View.
Note: if such info can go to Projects view, I guess it can go in Changes
View. After all, Changes View is the one which will deal with VCS issues
from now on, right? :)

What about polling user's opinion about how to organize VCS-specific
file information? Because, in File View's table-like model it was clear
- new sortable column for each info. But in non-table-like view, there
are many possibilities.

GT> What I miss in IDEA is better representation
GT> of branches, like many stand-alone CVS GUI clients do (Graph view in
GT> WinCVS for example).

We'lll see what we can do about this.


When you have the time.


GT> I see no big use of Changes View for me. I understand many people
GT> enjoy the "changelist" feature, but I think this could be supported
GT> inside File View.
....and this will be not really different from supporting the good
features of the File view in the Changes view.


Cannot disagree to this point of view.


GT> File View also can be closed so it frees all the
GT> memory resource it takes. Changes view is aways there, always eating
GT> memory.

The Changes view currently serves as the main provider of file status
information for the project, and this isn't likely to change. So it will
always take a certain amount of memory. But it's possible to reduce the
memory usage when the view isn't open, and we'll try to do so in the
next version.

Well, you know better about this. In such case closing the "view" makes
sense only if it really eats a lot of memory in big projects, as long as
the "model" cannot be freed any more - as long as it serves as data
provider for the rest of the program. Then the effort only pays back if
the difference is really noticeable.


GT> GT> In conclusion, I still find File View useful.


In conclusion:
Now I see better jetbrains' point of view regarding the future of
Changes View. In such case I would accept File View removal. Still,
features in the File View seems to be borrowed from many stand-alone
version control clients which made it closer in behavior to them. I am
sure that jetbrains will find the proper way in extending the new
Changes View.

Greetings!
George

GT> GT> Dmitry Jemerov wrote:
GT>

>>> Hello everyone,
>>>
>>> The new version control UI added in version 6 (in particular, the
>>> Changes view) to a large degree duplicates the UI that existed in
>>> previous version (File View). To reduce the confusion and improve the
>>> UI consistency across all supported VCS integration, we're planning
>>> to drop the File View in IntelliJ IDEA 6.5 and integrate its
>>> important functionality into other views.
>>>


>>> To understand the requirements better, we'd like to request community
>>> feedback. If you're using a VCS integration where the File View is
>>> supported, do you use it at all? If you do, how do you use it? Which
>>> of its current features do you consider essential, and which are not?
>>>
>>> General suggestions on improving the presentation of VCS-related
>>> information in IntelliJ IDEA are also welcome in this thread.
>>>

0

Please sign in to leave a comment.