Easy local file state tracking
- About
- Installation
- Usage
- Build from source
- Code coverage
- Deployment
- Contributing
- Built Using
- Authors
- Acknowledgments
CheckPoint is a Visual Studio Code extension to track file change history from an easy to use graphical interface.
File changes are marked as milestones called checkpoints
. Easily navigate between checkpoints on click and set file contents to reflect any desired state.
checkpoints
are intelligently computed with only the file changes being stored making it ideal for large documents as well.
Let's end the torture of having to continuously jab the undo button! ;)
Here's how to get CheckPoint up and running.
Ensure Visual Studio Code is installed. You can get it here.
- Open Extensions sidebar panel in Visual Studio Code
View β Extensions
- Search for
burntbanana.checkpoint
- Click Install
- Click Reload, if required
- Interval: Interval to save full file content.
- Log File: File name for extension logs.
- Error Log File: File name for extension error logs.
Activate CheckPoint by clicking the π icon on the activity bar.
The green circle icon indicates the active checkpoint
.
Start tracking file changes by pressing the Commence tracking
button in the sidebar. This initializes a new checkpoint
for the active file in the editor.
Once tracking has been commenced, simply save the file to create a new checkpoint
.
Click on any checkpoint
in the sidebar to view the state in the editor. This action does not change the file content, it only modifies the content in the editor.
Unsaved changes in the active file will be stored as a new checkpoint
.
Click on the β‘ button next to any checkpoint
to set file content to the required state. This will modify the file to reflect the selected state.
Click on the ποΈ οΈbutton next to any checkpoint
to delete the saved state.
Click on the ποΈ οΈbutton at the top of the sidebar to remove all saved states for the active file.
Here's how to build CheckPoint from source code and run tests
- Clone the repository from GitHub
git clone
- Install dependencies
npm install
- Run the extension from Visual Studio Code
Run β Run extension
Run mocha tests for CheckPoint.
Run β Extension Tests
from Visual Studio Code
or
npm test
from the command line
Run UI tests for CheckPoint.
Run β Run UI tests
from Visual Studio Code
or
npm run ui-test
from the command line
UI tests have been tested on Windows platform only and may give inconsistent results for other platforms.
Run coverage tests with npm run test-coverage
from the command line.
codecov.io provides highly integrated tools to group, merge, archive, and compare coverage reports.
Coverage results obtained from coverage tests can be uploaded to codecov.io to obtain coverage report and graphs.
CheckPoint has been deployed and released using Azure DevOps pipelines.
-
Build pipeline uses the build pipeline YAML file in the project directory.
-
Release pipeline was built using the Azure DevOps classic editor.
BurntBanana welcomes contributions to CheckPoint. In general, we follow the "fork-and-pull" Git workflow.
- Fork the repo on GitHub
- Clone the project to your own machine
- Commit changes to your
develop
branch - Push your work back up to your fork
- Submit a Pull request to the
develop
branch so that we can review your changes
NOTE: Be sure to merge the latest from "upstream" before making a pull request!
- Visual Studio Code - Code Editor
- NodeJS - Backend
- Diff Patch Match - File change computation
- Winston - Logging
- dateFormat - Date Formatting
- Mocha - Tests
- VSCode Extension Tester - UI tests
- Istanbul - Code Coverage
- Webpack - Code packing
- Method Draw - SVG editor
- codecov.io - Code coverage analysis
- shields.io - Badges
- Codacy - Automated code reviews & code analytics
- Azure DevOps - Build & Release pipelines
- Azure Boards - Work item tracking
- gren - Release Notes
See also the list of contributors who participated in this project.