fcommit
fcommit is a fairly simple Tk interface for use with Fossil repositories.
I've implemented a large proportion of the features I want, and have started to use it for my own projects. I need to add a few more features, use it a bit more, then I'll put the code on chiselapp.
The main GUI window is just about complete:
- Modified tab shows modified files. Files can be included/excluded for a commit.
- Files listed in the modified tab can be selected and reverted.
- Extras tab shows extra files in checkout. Files can be selected for a commit.
- Any files in the checkout that have been renamed or deleted appear in the missing tab. From there they can be selected as renamed or deleted for the next commit.
- A commit to button selects branch to commit to, or can be used to specify a new branch.
- Text area for commit message.
- Clicking on the Commit... button brings up a confirm dialog with a small summary.
Toolbar currently includes:
- Diff button - shows diff for current checkout.
- History button - brings up a fairly simple history dialog, with clickable links to show diffs.
- Update Current button.
- Switch Checkout button.
- Merge button.
- Pull button.
- Push button.
Additional toolbar buttons are for showing a menu, and for refreshing GUI. Currently the menu includes:
- View -> Browser Interface, to show fossil ui.
- View -> Log, to display a log of fossil commands executed by the GUI, and the resulting output.
- New -> Empty Repository... brings up a dialog for creating a new repository.
- New -> Cloned Repository... displays a dialog for cloning a repository.
- New -> Source Tree... displays a dialog for checking out a new source tree.
- New -> Imported Repository... will display a dialog for importing a GIT repository.
- New -> Exported Repository... will display a dialog for exporting to a GIT repository.
- Change Directory..., for changing working directory.
- Ignore Files..., will show a dialog for managing which files in a source tree should be ignored.
The image below shows the fcommit history dialog, showing history for the Fossil project.