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

Reply via email to