Currently when you copy a new script into a place, its version history is empty and no drafts are created for it. This means when you open the script for the first time, the entire script’s source is detected as a change and it shows up in the drafts panel (and Studio bugs you to commit it).
I don’t think this is good behavior.
Firstly, it is annoying having random drafts appear out of nowhere just from opening a copied script. They are redundant (at least from the developer’s perspective) and distracting.
Secondly, often times I’ll open one of these scripts for the first time and make a small change somewhere. But the specific change I made does not get tracked, since the entire script’s source is considered a change and so I’m forced to commit the entire thing. I consider that to be broken, since the whole point of source control is to be able to track specific changes in source.
Some examples where the current behavior is undesirable:
- Editing default Roblox such as PlayerModule and its submodules. I’ll clone the PlayerModule early in development, then over the course of the project I’ll occasionally need to tweak some behavior in which case I need to make edits to various modules I have never opened in that place before.
- Editing frameworks or other libraries created outside of the current place.
- General copy-pasting of scripts within a single place, e.g. temporary scripts.
So the solution I propose for this would be automatically doing a default commit of the script’s source when they get added to the place, without requiring any developer interaction.