README.md

Pijul for VS Code

** Experimental ! **

Pijul is a distributed version control system that is easy to learn and use. This experimental beta-version extension provides access from VS Code to the essential features of Pijul:

  • Add, Reset, or Record one, some, or all of the files in the Pijul Repository.
  • Decorations in the file tree indicating the current state of each file.
  • VS Code comparison integration for diffing working files with their last recorded versions.
  • Basic views for the change log and the channels.

Other operations need to be done using Pijul's command line interface in a terminal.

Installation

This extension is available in VS Code marketplace. It requires Pijul.

To install Pijul,:

  1. Install pijul (Tested with 1.0.0-beta.9)
  2. Make sure that pijul is in the PATH: pijul --version
  3. Create an identity: pijul identity new

To activate Pijul version control in a folder, run pijul init in the folder.

Feedback on this extension is welcome on Zulip.

Contributing

Pijul for VS Code welcomes all contributions. Areas of development include:

  • make all Pijul commands available from VS Code
  • properly handle move and deletion of files
  • show diff for past changes

To set-up your environment for the development of a VS Code Extension:

  1. Install Node, e.g., using nvm:
nvm install node
  1. Install dependencies
npm install -gD yo generator-code yarn webpack webpack-cli ts-loader
npm install --global @vscode/vsce
yarn
  1. clone this repository:
pijul clone https://nest.pijul.com/pcarbonn/pijul-vscode
cd pijul-vscode
  1. Add the following hook to your Pijul config file for linting:
[hooks]
record = ["yarn run lint"]
  1. create a channel for your changes (not main)
pijul fork <your name>
  1. test and build this extension, as in this example.

To submit your change:

  1. create an account on The Nest

  2. send me a message to request access to my repository in this discussion

  3. create an SSH key if you don't have one yet, and note where it is stored (e.g. ~/.ssh/id_rsa.pub)

  4. copy your public SSH key to The Nest (possibly use cat ~/.ssh/id_rsa.pub to view it)

  5. push your change: pijul push pcarbonn@ssh.pijul.com:pcarbonn/pijul-vscode

  6. alert me of your submission in this discussion