The fsl Fossil Wrapper Script
Purpose
This wrapper script helps adapt fossil for the needs of a large design team used to working in a pure Linux/Unix environment.
Features
(not all implemented yet, see
Plan)
Feature | Motive |
Unix mv semantics | Early in a project mv is used extensively and matching Unix semantics is very helpful |
Add -f to mv and rm | Most often users desire to do the physical move simultaneously with the fossil move |
Repos management | It makes sense to break a large amount of code into self contained repos and some helper routines make it easier to find and get appropriate repos |
Wrap clone and open into a single command | This simplifies ramp up of new users at a small cost in disk space |
Unfold wrapped timeline report lines | Wrapped lines make use of sed, awk etc. difficult, example, extract the leaf ids for a given branch |
Default to allow-symlinks | Dereferencing symlinks is a huge danger for scm in typical design engineering Unix usage. It is also irreversable (checkout != checkin) and thus usually doesn't make sense from a source control perspective. |
Reduce noise in various commands by removing non-essential output unless -v switch is present | Standard Unix philosophy |
Template support on create repo | In our usage a few files are common to all repos |
Dependencies
- A recent Fossil executable
- Bash
- Sqlite3
Bugs
- mv and mv -f are not done. ETA: 2/15/2012
Ideas
- Unix mode - default to quiet mode and de-wrapped lines on Unix/Linux but automatically switch behavior under Windows to the normal behavior? However the fsl wrapper is not going to work on Windows (except perhaps Cygwin).