﻿## Pointless Fossil - A Desktop Fossil SCM Helper GUI

Pointless Fossil is a GUI helper program for [Fossil](https://fossil-scm.org/). In many cases the excellent command line interface and information in Fossil's built in web interface is all you need - but I wanted a little help to:
  - Have a dedicated interface to see changes/additions/deletes
  - Very quick access to diffs for any changes
  - GUI picker for files - especially for situations where I want to only commit changes from a subset of the changed files
  - Quick access to a number of different repositories
  - Work with/help with the command line interface and web interface rather than try to hide or replace them

### Features:
  - The program watches for changes and displays a list of new/removed/changed files
  - Generate some common commands based on selected files
  - Offer a very simple command line to run any Fossil command
  - Tab dedicated to the Timeline page from the web interface
  - Right click and copy file names/paths to the clipboard

![Pointless Fossil Main Window](ScreenShots/2025-03-16--MainWindow.jpg "Pointless Fossil Main Window")

### Packages

Many Thanks to the authors of [Fossil](https://fossil-scm.org/) - and many thanks to the countless contributors to all the packages that make reasonable for individuals to build software like Pointless Fossil!

  - [AnyClone](https://github.com/replaysMike/AnyClone)
    - Description: Deep clone or copy any complex object without the hassle of serialization, decoration or custom mappings.
    - Authors: Michael Brown
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Avalonia](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link)
    - Description: Avalonia is a cross-platform UI framework for .NET providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS and with experimental support for Android, iOS and WebAssembly.
    - Authors: Avalonia Team
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Avalonia.Controls.DataGrid](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link)
    - Description: Avalonia is a cross-platform UI framework for .NET providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS and with experimental support for Android, iOS and WebAssembly.
    - Authors: Avalonia Team
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Avalonia.Desktop](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link)
    - Description: Avalonia is a cross-platform UI framework for .NET providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS and with experimental support for Android, iOS and WebAssembly.
    - Authors: Avalonia Team
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Avalonia.Diagnostics](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link)
    - Description: Avalonia is a cross-platform UI framework for .NET providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS and with experimental support for Android, iOS and WebAssembly.
    - Authors: Avalonia Team
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Avalonia.Fonts.Inter](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link)
    - Description: Avalonia is a cross-platform UI framework for .NET providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS and with experimental support for Android, iOS and WebAssembly.
    - Authors: Avalonia Team
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Avalonia.Themes.Fluent](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link)
    - Description: Avalonia is a cross-platform UI framework for .NET providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS and with experimental support for Android, iOS and WebAssembly.
    - Authors: Avalonia Team
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Avalonia.Xaml.Behaviors](https://github.com/wieslawsoltes/Xaml.Behaviors)
    - Description: Easily add interactivity to your Avalonia apps using XAML Behaviors. Behaviors encapsulate reusable functionalities for elements that can be easily added to your XAML without the need for more imperative code.
    - Authors: Wiesław Šoltés
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [AWSSDK.S3](https://github.com/aws/aws-sdk-net/)
    - Description: Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage.
    - Authors: Amazon Web Services
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [CliWrap](https://github.com/Tyrrrz/CliWrap)
    - Description: Library for interacting with external command-line interfaces
    - Authors: Tyrrrz
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [ClosedXML](https://github.com/ClosedXML/ClosedXML)
    - Description: See release notes https://github.com/ClosedXML/ClosedXML/releases/tag/0.104.2 ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.
    - Authors: Jan Havlíček, Francois Botha, Aleksei Pankratev, Manuel de Leon, Amir Ghezelbash
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [CommunityToolkit.Mvvm](https://github.com/CommunityToolkit/dotnet)
    - Description: This package includes a .NET MVVM library with helpers such as:
    - Authors: Microsoft
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Deadpikle.AvaloniaProgressRing](https://github.com/Deadpikle/AvaloniaProgressRing/)
    - Description: A progress ring control for Avalonia modeled after ModernWpf's ProgressRing control
    - Authors: Deadpikle
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Devlooped.CredentialManager](https://clarius.org/CredentialManager)
    - Description: Packages the Git Credential Manager cross-platform implementation for Windows, macOS and Linux for use as a generic credential store.
    - Authors: Daniel Cazzulino
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [DiffPlex](https://github.com/mmanela/diffplex/)
    - Description: DiffPlex is a diffing library that allows you to programatically create text diffs. DiffPlex is a fast and tested library.
    - Authors: Matthew Manela
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Flurl.Http](https://flurl.dev/)
    - Description: A fluent, testable HTTP client library.
    - Authors: Todd Menier
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
GHSoftware.Avalonia.SpellChecker
    - Description: A spell-checking extension for Avalonia TextBox using WeCantSpell.Hunspell.
    - Authors: Gustavo Augusto Hennig
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Markdig](https://github.com/lunet-io/markdig)
    - Description: A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET with 20+ builtin extensions (pipetables, footnotes, definition lists... etc.)
    - Authors: Alexandre Mutel
    - License: [https://licenses.nuget.org/BSD-2-Clause](https://licenses.nuget.org/BSD-2-Clause)
  - [Metalama.Framework](https://github.com/postsharp/Metalama)
    - Description: Metalama. A tool for aspect-oriented programming (AOP) using templates written in pure C#.
    - Authors: PostSharp Technologies
  - [Microsoft.Extensions.FileProviders.Embedded](https://asp.net/)
    - Description: File provider for files in embedded resources for Microsoft.Extensions.FileProviders.
    - Authors: Microsoft
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [MyOddWeb.DirectoryWatcher](https://github.com/FFMG/myoddweb.directorywatcher)
    - Description: A fast and reliable, (non blocking!), .NET File/Directory watcher, complete rewrite of FileSystemWatcher to ensure speed/acuracy/reliability/suppress duplicate events
    - Authors: Florent Guelfucci,myoddweb.com
  - [Notification.Avalonia](https://github.com/AvaloniaCommunity/Avalonia.Notification)
    - Description: Package Description
    - Authors: Lary
    - License: [https://github.com/AvaloniaCommunity/Avalonia.Notification/blob/master/LICENSE](https://github.com/AvaloniaCommunity/Avalonia.Notification/blob/master/LICENSE)
  - [ObjectDumper.NET](https://github.com/thomasgalliker/ObjectDumper)
    - Description: ObjectDumper is a utility which aims to serialize C# objects to string for debugging and logging purposes.
    - Authors: Thomas Galliker
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [OneOf](https://github.com/mcintyre321/OneOf/)
    - Description: F# style discriminated unions for C#, using a custom type OneOf<T0, ... Tn> which holds a single value and has a .Match(...) method on it for exhaustive matching. Simple but powerful.
    - Authors: Harry McIntyre
    - License: [https://github.com/mcintyre321/OneOf/blob/master/licence.md](https://github.com/mcintyre321/OneOf/blob/master/licence.md)
  - [OneOf.SourceGenerator](https://github.com/mcintyre321/OneOf/)
    - Description: This source generator automaticly implements OneOfBase hierarchies
    - Authors: Harry McIntyre, Damian Romanowski
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Polly](https://github.com/App-vNext/Polly)
    - Description: Polly is a .NET resilience and transient-fault-handling library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.
    - Authors: Michael Wolfenden, App vNext
    - License: [https://licenses.nuget.org/BSD-3-Clause](https://licenses.nuget.org/BSD-3-Clause)
  - [Serilog](https://serilog.net/)
    - Description: Simple .NET logging with fully-structured events
    - Authors: Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Enrichers.CallerInfo](https://github.com/pm4net/serilog-enrichers-callerinfo)
    - Description: A simple Serilog enricher to add information about the calling method.
    - Authors: johannesmols
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Enrichers.Environment](https://github.com/serilog/serilog-enrichers-environment)
    - Description: Enrich Serilog log events with properties from System.Environment.
    - Authors: Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Enrichers.GlobalLogContext](https://github.com/serilog-contrib/serilog-enrichers-globallogcontext)
    - Description: A Serilog Enricher for adding properties to all log events in your app.
    - Authors: C. Augusto Proiete & Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Enrichers.Process](http://serilog.net/)
    - Description: The process enricher for Serilog.
    - Authors: Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Enrichers.Thread](http://serilog.net/)
    - Description: Enrich Serilog events with properties from the current thread.
    - Authors: Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Exceptions](https://github.com/RehanSaeed/Serilog.Exceptions)
    - Description: Log exception details and custom properties that are not output in Exception.ToString().
    - Authors: Muhammad Rehan Saeed (RehanSaeed.com)
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [Serilog.Extensions.Logging](https://github.com/serilog/serilog-extensions-logging)
    - Description: Low-level Serilog provider for Microsoft.Extensions.Logging
    - Authors: Microsoft,Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Formatting.Compact](https://github.com/serilog/serilog-formatting-compact)
    - Description: A simple, compact JSON-based event format for Serilog.
    - Authors: Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Sinks.Console](https://github.com/serilog/serilog-sinks-console)
    - Description: A Serilog sink that writes log events to the console/terminal.
    - Authors: Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Sinks.DelegatingText](https://github.com/victorvogelpoel/Serilog.Sinks.DelegatingText)
    - Description: A Serilog sink to write formatted log events to a delegate
    - Authors: Victor Vogelpoel
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [Serilog.Sinks.File](https://github.com/serilog/serilog-sinks-file)
    - Description: Write Serilog events to text files in plain or JSON format.
    - Authors: Serilog Contributors
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [SimMetricsCore](https://github.com/HamedFathi/SimMetricsCore)
    - Description: Package Description
    - Authors: Hamed Fathi
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [System.Linq.Async](https://github.com/dotnet/reactive)
    - Description: Provides support for Language-Integrated Query (LINQ) over IAsyncEnumerable<T> sequences.
    - Authors: .NET Foundation and Contributors
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [System.Linq.Dynamic.Core](https://dynamic-linq.net/)
    - Description: This is a .NETStandard / .NET Core port of the the Microsoft assembly for the .Net 4.0 Dynamic language functionality.
    - Authors: ZZZ Projects,Stef Heyenrath,Microsoft,Scott Guthrie,King Wilder,Nathan Arnott
    - License: [https://licenses.nuget.org/Apache-2.0](https://licenses.nuget.org/Apache-2.0)
  - [TinyIpc](https://github.com/steamcore/TinyIpc)
    - Description: .NET inter process broadcast message bus.
    - Authors: Steamcore
    - License: [https://licenses.nuget.org/MIT](https://licenses.nuget.org/MIT)
  - [VectSharp.MarkdownCanvas](https://github.com/arklumpus/VectSharp)
    - Description: A library to produce vector graphics (including text) without too many dependencies. Extensible to support multiple output formats. This package contains a control to display Markdown documents in Avalonia applications. For more information, see https://github.com/arklumpus/VectSharp
    - Authors: Giorgio Bianchini
    - License: [https://licenses.nuget.org/LGPL-3.0-only](https://licenses.nuget.org/LGPL-3.0-only)
  - [WebViewControl-Avalonia](https://github.com/OutSystems/WebView)
    - Description: WebViewControl for Avalonia powered by CefGlue
    - Authors: OutSystems
