Hi,
I think I can improve on Lex's recent proposal to split up project
settings into two files, one for version control and one for local changes.
The problems with that are:
* How do we decide which settings are in each - e.g. build menu commands
- a project might want to override the make command in the VC settings
file, but the user will want to add their own build commands too.
There's a conflict. This becomes increasingly messy as we add project
settings.
* Backwards compatibility - we would need to handle existing project
files anyway, which makes code more complex. I don't think we need to
break compatibility.
* If the user changes a setting which is stored in the VC file they may
end up committing it, or perhaps sometimes not even realizing they are
overriding the VC setting.
My solution:
A foo.geanystub project file goes in version control. It is never
written to. It should be prepared by manually editing a copy of a local
project file.
On opening a foo.geanystub file, Geany creates foo.geany in the same
path then opens it.
When opening foo.geany, if foo.geanystub exists, then override settings
with the stub contents.
This way the VC file can decide which settings are not overridable.
My solution shouldn't require much code to implement. I've only noted
the bare bones of it, there are some things that could be added to make
it better. Even with these I think it's simpler and neater.
Nick
_______________________________________________
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel