New preference: "Always undo unchanged on Refresh in Pending Changes"
When working in the Visual Studio plugin, changed files are always Checked-out when saved. If you re-save a file after restoring it to original contents (by Ctrl+Z or tweak-untweak a value etc), it's still Checked-out and will still appear in Pending Changes with a "Files are identical" Diff. The preference "Compare file contents instead of timestamps when determining Changed status" does not help here as the file is explicitly checked out.
There is an "Undo unchanged" command but it's dangerously close to the "Undo changes" button. It would be nice to have the option to always perform a silent "Undo unchanged" whenever refreshing the Pending Changes view.
Eric Ling commented
I accidentally clicked Undo changes when I actually wanted to click undo unchanged, and almost lost half day of work. Luckily I recovered my work from cache of my IDE and Unity, but this UI design is very frustrating and inconvenient. This can be changed.
Daryl Fortney commented
jesus, just fix this please and stop arguing over obvious issues. no one wants to see 'unchanged' files in their changesets. if i have to explain this i would rather switch to some other source control at this point. common sense people, please.
We are no longer using the VS plugin (for other reasons). So that solution would not help us and we still get this case from time to time.
It is a general wish from our side to avoid seeing unchanged files in any Diff/Pending view. See this other uservoice: http://plasticscm.uservoice.com/forums/15467-general/suggestions/11533422-exclude-identical-files-from-diff-between-selecte
We would like one single option that lets us avoid seeing unchanged stuff in both the cases described in these two uservoices.
We gave a try to this suggestion. We don't like a preference to auto undo unchanged on refresh, however we found a possible solution we want to share with you to hear your opinion.
Our idea is implementing a Visual Studio save-hook to detect checked out files that are unchanged. First, we'll check the file size. If the file size is unchanged, then we'll check file hash. If the file hash is unchanged, we will automatically undo the checkout, without reloading the file contents on disk.
In this way you won't see unchanged files the pending changes view. Would you agree with this solution?
In a recent blog post (http://codicesoftware.blogspot.com/2015/07/towards-semantic-version-control.html) the following is said:
"It would greatly help seeing, at first sight, that most of the files to review only contain trivial changes. You wouldn't be put off, you wouldn't lose focus and you’ll be more productive."
This is precisely what this uservoice is about, as well. We don't want to lose focus by diffing "identical" files.
I agree. I wrote about this more than too years ago here: http://www.plasticscm.net/index.php?/topic/1293-undo-changes-x-undo-unchanged/
I just emphasized more the aspect of dangerous proximity and similarity of those two commands. Especially, when someone gets used to click Undo unchanged routinely, I'm afraid that he might accidentally hit Undo changes instead, which is definitely not what he/she wants in this situation.
I agree to Göran. Even if I have gotten used to working with plastic fairly quickly thanks to the intuitive front end, I still have to press the "Undo unchanged" button almost every time before a checkin in order to get a good overview of which files that really are relevant for the checkin.
The visual feedback you get by quickly glancing over the list of files you are about to checkin is more powerful over the memory you had of viewing the diff and realizing that there was no change.
I will soon learn to always click "Undo unchanged" but even though it will be an intuitive thing to do, it is one extra step for me, every time.
Adding more options is a way to cater to the different needs of customers. I don't find this a must-have, it's just one of these small things that would smooth the workflow. It's not an old svn habit, it's a reasonable wish to avoid seeing unchanged files in the list off changes before Checkin.
For us an option to avoid the VS plugin doing a checkout would work, but that may not help Unity users who have reported similar wishes to avoid seeing unchanged files as pending.
As I said, I don't think it is worth the effort. Cluttering the GUI with options is a bad design choice, and while you now find it is a must-have feature, in a few months, once your old svn habits are gone, I bet you won't miss this anymore.
We'll keep it around as an idea, but at this point I'm reluctant to put development efforts on this.
So, if it is skipped on Checkin, why shouldn't I have the option to skip it from the list altogether? It's clutter! The machine knows about this already so why bother the human with irrelevant details?
This option could be phrased differently as "Hide unchanged files in Pending Changes" or similar.
Thanks for the suggestion Göran :-)
We already discussed it by email, let's see what we can do.
You know that Plastic undoes unchanged transparently each time you checkin. So, no need to worry that much. You just go, checkin the files you modified, and Plastic takes care of undoing them.
It all depends on your workflow, though.
In my case:
* I edit some files, make changes, undo some...
* Then I checkin my changes to my branch.
* Repeat (checkins every 5 to 20 minutes).
So, if I modified I file and I canceled the change, no problem, it will be gone on next checkin.
Besides, I'm coming from (Tortoise)SVN where unchanged files never appear in the list of files to Commit. So this is the behavior I'm used to and was expecting... Thus, I would like to have the option to preserve this behavior.