Hello,

I've been using fossil for a few repos, and I really like the system. I'm about 
to move my final repo to it, but it's quite a big project and will require a 
bit of work to fit in with fossil. In particular, it assumes the SCM supports 
empty directories and symlinks. Also, in my current use, I've found the 
ignore-glob setting a bit cumbersome as it's not versioned.

Since these issues have come up in the past, I thought I might have a go at 
adding support for them in fossil instead of modifying my code to cope. I'm not 
100% sure this is best strategy, as there's a lot to be said for only requiring 
the lowest common denominator in an SCM.

As a first step, I've made an experimental patch to see what the reaction is, 
and whether the approach is worth tidying up:

  http://pastebin.com/tbKGu3s6 

This adds (badly):

* "Versionable" settings

The ignore-glob, binary-glob, crnl-glob and manifest settings can be version 
controlled. Add a directory .fossil-settings to your project, and within that, 
create a file named after that setting, eg '.fossil-settings/ignore-glob'. If 
this file exists, it'll be used in preference to the setting in the database.

Glob parsing has been changed to allow multi-line settings, so you can do one 
glob per line as well as one line full of comma separated globs.


* empty-dirs setting

Each line of this setting specifies a directory name. When you checkout or 
update, those directories are created.

Since the UI doesn't allow multi-line settings, you'll have to use a 
versionable setting for now as '.fossil-settings/empty-dirs'.


I had a quick look at supporting symlinks, but wasn't entirely sure the best 
approach or where to start in the code. I wondered about having artefacts which 
contained the target of the symlinks, and were flagged somehow so they were 
written as symlinks instead of regular files.

Any thoughts? I realise these changes may go against fossil's philosophy and 
not be suitable for inclusion. It was fun poking around the code.

Ben


--
http://bens.me.uk/


_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to