I had an idea about this: We could circumvent the problem if we don't try to save the specific encoding if it is already set for this branch.
This would lead to the following scenario: A user opens the qdiff window and changes the encoding on either the left or the right side from type0 to type1. Before we write the selected encoding to the branch's configuration, we check if it is the same. Then we only write it if the selected encoding isn't the same as the one from the file.
So this wouldn't change at all the user's experience (and also preserves the mentioned rare use case), but prevents the ReadOnlyError.
What do you think of this?
I had an idea about this: We could circumvent the problem if we don't try to save the specific encoding if it is already set for this branch.
This would lead to the following scenario: A user opens the qdiff window and changes the encoding on either the left or the right side from type0 to type1. Before we write the selected encoding to the branch's configuration, we check if it is the same. Then we only write it if the selected encoding isn't the same as the one from the file.
So this wouldn't change at all the user's experience (and also preserves the mentioned rare use case), but prevents the ReadOnlyError.
What do you think of this?