View Ticket
Not logged in
Ticket UUID: 173e80a4df2d12f239850a28237968cf5713b07e
Title: fossil header/footer/css/ticket pages should be version controlled
Status: Open Type: Feature_Request
Severity: Cosmetic Priority:
Subsystem: Resolution: Open
Last Modified: 2010-05-09 23:14:46
Version Found In: 11b3f31de959dc5bb81c8d20a4716d6354d2801a
Description & Comments:
Fossil header/footer/css/ticket pages (possibly everything under fossil config) should be version controlled. I understand that it is not desiderable to have them synced by default, but when you DO want to keep them synchronized between several repositories, it would be much simpler if the system automatically knew what is the most current one so the "fossil config sync ..." would do the right thing (currently I must think if I want pull or push, and doing the synchronization automatically is impossible ; also, configuration is transfered even when already identical).

Also, ticket [bf536aff75] mentioned that "it would also be nice if these elements were revision controlled, but that is an entirely different ticket" ... I didn't found such ticket so I'm writting it.


anonymous claiming to be anonymous (reporter) added on 2010-05-09 23:14:46:
Based on my (possibly limited) understanding of syncing process, I would propose following implementation:

1) Instead of storing value of config variable directly, the value would be stored in artefact (with additional information like parent artefact) and the ID of artefact would be stored in config variable.

2) On config push/pull, the "pushing side" would say "I'm using artefact with ID X for this config variable". The "pulling side" would then compare ancestors of the pushing side artefact and its own artefact for this variable and determine which is newer. In case of conflict, the configuration would stay unchanged but user would be warned and given some tool to resolve the conflict on "pulling side" repository (use local, use remote, "merge" and edit).