Olesya, I am trying to provide my own statuses and I have a questions/suggestion:
Shouldn't CheckInDialog.analyzeChanges() use the statuses to figure out what need to be shown in the diff view? Isn't inconsistent to be able to flag a file as blue/modified but not being able to make it show up in the check in project?
In my specific case I am trying to work around the fact that IDEA doesn't track writability changes. So I am providing a StatusProvider to check for that. The problem is that the change of writability is the result of a file check out. If the file is not changed, IDEA won't check it in and it will be left checked out. If IDEA could use my status then it would pick even these files that aren't really modified except for their access rights.
PS: Thanks for the LocalVcs simplification! It is much simpler!