History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEABKL-5114
Type: Cosmetics Cosmetics
Status: Open Open
Priority: Normal Normal
Assignee: Dmitry Jemerov
Reporter: Victor Grazi
Votes: 0
Watchers: 1
Available Workflow Actions

Mark as Stalled
Operations

If you were logged in you would be able to see more operations.
IDEA: Backlog

Modified Switched files same color as Modified HEAD files

Created: 30 Apr 07 02:52   Updated: 03 May 07 19:13
Component/s: Version Control Integration. Subversion
Affects Version/s: None
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: Windows

Build: 6,791


 Description  « Hide
Check out a file from a branch
The color code shows green indicating a "switched" file
Now modify the file
The color code shows blue- can't tell if it is a "switched" file or a non-switched file
And now I find I checked some files into the HEAD that should have been in the branch :-{

 All   Comments   Work Log   Change History      Sort Order:
Dmitry Jemerov - 02 May 07 14:50
The branch to which modified files are switched is shown in the Changes view and in the checkin dialog. I believe that presenting this information as text is clearer than adding yet another color to the multitude of file status colors already in the product.

Victor Grazi - 02 May 07 18:12
I don't agree. You could have made the same argument about color coding the switched tab.

For the most part, the tabs are generally black for unchanged, blue for modified and turquoise for switched.
Other colors are the exception.
A lighter or greener shade of blue would be very evident that it is switched plus modified.

The benefit would be to prevent accidental checkins to the head instead of the branch (like happened to me when I opened this issue)

The use-case was - a developer branched several classes in a module that needed modification.
I checked out those classes from the branch and made some modifications, which also required modifications to another class that wasn't in that branch.

I reviewed all of the changes, selected all of the blue tabs, and checked them in.
I didn't realize that one of those was not in the branch but in the head.
So now the head build was broken.
If the color was something other than blue, I would have realized it before hand and prevented this error.


Dmitry Jemerov - 02 May 07 19:07
There are many ways to break the build by checking in wrong files. The proper way to avoid that is to review the list of selected files before checking them in.

I'm all in favor of features that really help prevent checking in wrong files, but I'm afraid that adding three more subtle shades of file status colors (note that you'll need colors for "switched modified", "switched added" and "switched deleted") will be more confusing than helpful.


Victor Grazi - 03 May 07 04:26
Sir, this is an easy one - it would just require adding one more shade, not 3.

There are many ways to break a check in, but those should not be aided by IntelliJ, IntelliJ has always been great about helping me prevent such errors. That's why we pay for IntelliJ when we can get Eclipse for free.

Everyone who is using version control knows very well what the color codes are about.

IntelliJ has always been about "developing with pleasure" and helping developers do their work.
If I have a long checkin and I "forget" to check every file (because this would be the only operation that would require me to make this check), then intelliJ would be helping me break my code.

I have an idea for a compromise - why not provide the "switched updated" color as an option in the Colors and Fonts settings, but set it by default to the same color as the "non-switched" updated.

That way the people who find the change confusing will have it your way, and people like me who consider it a major nuisance would have the ability to change it.

Please? This is really important!


Dmitry Jemerov - 03 May 07 11:18
I don't think that such a compromise is a good idea because 99% of the users (even those who might need that capability) will never discover it.

I think that an explicit, modal warning dialog box shown when you try to commit files to different branches at the same time (non-switched and switched, or switched to different branches) will be a much more helpful and less confusing way to avoid this kind of problems. (The dialog should of course have a "Don't show this again" option if such checkins are normal in some people's workflow).


Victor Grazi - 03 May 07 19:13
Your suggestion is good for the use-case I described, but it will not work in the case where I am looking at 6 blue file editors and I just check them in one by one.

I have another suggestion - instead of color coding, would it be possible to use the same current coding as before, except add an icon in the tab (perhaps a little black circle next to the file name) indicating that it is a changed file.

You could also display that icon in the project view.

This would help for identifying changed files without any new color coding.