Files in the top-level directory in any check-in
- .eslintrc.json
- .gitignore
- .nycrc
- .prettierrc
- .vscodeignore
- .github
- .vscode
- design-docs
- docs
- images
- media
- out
- pikchr
- resources
- src
- test
- AGENTS.md
- CHANGELOG.md
- esbuild.config.js
- icon.png
- icon.svg
- LICENSE.txt
- npm-shrinkwrap.json
- package-lock.json
- package.json
- package.nls.json
- README.md
- tsconfig.json
Integrated Fossil source control for Visual Studio Code
Prerequisites
This extension leverages your machine's Fossil installation, so you need to install Fossil first. Also read the cloning documentation for info about cloning from the extension.

Features
Add files and commit from the source control panel (i.e. where git normally appears).
All the basics: commit, add, revert, update, push and pull.
See changes inline within text editor.
Interactive log for basic file history and diff.
Branch, merge, resolve files.
Praise
Quickly switch branches, push and pull via status bar.
Supports named-branches workflows.
Automatic incoming/outgoing counters.
Undo/Redo.
Preview
md,wikiandpikchrfilesSyntax highlighting for
pikchrlanguageTicket sidebar with grouped open tickets (By Type / By Priority)
Open ticket details in Fossil Web UI (
/tktview/<ticket_id>) from VS Code commands/tree itemsUse command palette
Ctrl-Shift-P>>fossil:to see all commands. (Not everything has a UI control.)
View file changes

- Click a file see the diff view
- Or open a file by using context menu
Initialize a new repo

- Just click the Fossil icon from the source control title area
- Follow prompts
Update to a branch/tag

- The current branch name is shown in the bottom-left corner.
- Click it to see a list of branches and tags that you can update to.
Browse and open tickets
- Open the Fossil Tickets activity bar view.
- Expand By Type or By Priority to browse open tickets.
- Select a ticket to open Fossil's ticket page in your system browser.
How to
- Checkout by hash?
Use branch menu in the status bar.
- Create a new branch?
Create a branch with "Commit Creating New Branch..." action in SCM menu or in command palette.
- Modify commit message?
Use "Fossil log" from command palette and navigate the options till specific checkout.
- Get current checkout hash or tags?
Hover over current branch name in the status bar
- Close/reopen a branch?
Use 'Close branch...' and 'Reopen branch...' actions from command palette.
Commit partially
- Run
Stash Snapshotcommand - Manually remove lines that you don't want in the commit
- Make a commit
- Run
Stash Pop
- Run
Blame
Use Fossil: praise command from command palette
Settings
fossil.autoRefresh { boolean }
- Enables automatic refreshing of Source Control tab and badge counter
when files within the project change:
"true"— enabled"false"— disabled, manual refresh still available.
fossil.path { string }
- Specifies an explicit
fossilfile path to use. - This should only be used if
fossilcannot be found automatically. - The default behavior is to search for
fossilon the PATH. - Takes effect immediately.
fossil.username { string }
- Specifies an explicit user to use for fossil commits (
--user-override). - This should only be used if the user is different than the fossil default user.
- Username could be passed with
fossil.commitArgsbut this is just convenient shortcut.
fossil.autoSyncInterval { number }
* The duration, in seconds, between each background fossil sync operation.
* 0 to disable.
fossil.globalArgs
* Extra arguments added to each fossil command (see fossil help -o)
fossil.commitArgs
* Extra arguments added to fossil commit command (see fossil help commit)
Troubleshooting
In general, Fossil designers maintain an abundance of documentation. Reference that documentation as much as possible.
| Issue | Resolution |
|---|---|
| Unknown certificate authority | Read the Fossil SSL Documentation to update fossil with the correct CA |
| inputBox prompt difficult to read | Run the same fossil command on the built-in terminal (Ctrl+`). Unfortunately VS Code strips newlines and tabs from inputBox prompts. |
Feedback & Contributing
This fork does not accept outside contributors
For developers
Acknowledgements
Ben Crowl, koog1000, senyai, ajansveld, hoffmael, nioh-wiki, joaomoreno, nsgundy