ok/jj
1
0
Fork 0
forked from mirrors/jj

readme: format with IntelliJ

This makes it easier for me to make further changes. Hopefully it
won't make it harder for others.
This commit is contained in:
Martin von Zweigbergk 2023-08-02 09:05:24 -07:00 committed by Martin von Zweigbergk
parent 44903ed603
commit 82be7f727c

View file

@ -22,7 +22,6 @@ the
[slides](https://docs.google.com/presentation/d/1F8j9_UOOSGUN9MvHxPZX_L4bQ9NMcYOp1isn17kTC_M/view)
or the [recording](https://www.youtube.com/watch?v=bx_LGilOuE4).
## Introduction
Jujutsu is a [Git-compatible](docs/git-compatibility.md)
@ -127,7 +126,6 @@ which lets you edit the changes in a commit without checking it out. To split
a commit into two, use `jj split`. You can even move part of the changes in a
commit to any other commit using `jj move`.
## Status
The tool is quite feature-complete, but some important features like (the
@ -145,7 +143,6 @@ away from `jj`). For any format changes, we'll try to implement transparent
upgrades (as we've done with recent changes), or provide upgrade commands or
scripts if requested.
## Installation
See below for how to build from source. There are also
@ -160,16 +157,17 @@ On most distributions, you'll need to build from source using `cargo` directly.
First make sure that you have the `libssl-dev`, `openssl`, and `pkg-config`
packages installed by running something like this:
```shell script
sudo apt-get install libssl-dev openssl pkg-config
```
Now run:
```shell script
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli
```
#### Nix OS
If you're on Nix OS you can use the flake for this repository.
@ -186,7 +184,6 @@ install the flake to your user profile:
nix profile install 'github:martinvonz/jj'
```
#### Homebrew
If you use linuxbrew, you can run:
@ -195,7 +192,6 @@ If you use linuxbrew, you can run:
brew install jj
```
### Mac
#### Homebrew
@ -208,7 +204,8 @@ brew install jj
#### MacPorts
You can also install `jj` via [MacPorts](https://www.macports.org) (as the `jujutsu` port):
You can also install `jj` via [MacPorts](https://www.macports.org) (as
the `jujutsu` port):
```shell script
sudo port install jujutsu
@ -219,6 +216,7 @@ sudo port install jujutsu
#### From Source
You may need to run some or all of these:
```shell script
xcode-select --install
brew install openssl
@ -227,24 +225,25 @@ export PKG_CONFIG_PATH="$(brew --prefix)/opt/openssl@3/lib/pkgconfig"
```
Now run:
```shell script
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli
```
### Windows
Run:
```shell script
cargo install --git https://github.com/martinvonz/jj.git --locked --bin jj jj-cli --features vendored-openssl
```
## Initial configuration
You may want to configure your name and email so commits are made in your name.
Create a file at `~/.jjconfig.toml` and make it look something like
this:
```shell script
$ cat ~/.jjconfig.toml
[user]
@ -252,7 +251,6 @@ name = "Martin von Zweigbergk"
email = "martinvonz@google.com"
```
## Command-line completion
To set up command-line completion, source the output of
@ -260,21 +258,27 @@ To set up command-line completion, source the output of
jj <= 0.7.0). Exactly how to source it depends on your shell.
### Bash
```shell script
source <(jj util completion) # --bash is the default
```
Or, with jj <= 0.7.0:
```shell script
source <(jj debug completion) # --bash is the default
```
### Zsh
```shell script
autoload -U compinit
compinit
source <(jj util completion --zsh)
```
Or, with jj <= 0.7.0:
```shell script
autoload -U compinit
compinit
@ -282,24 +286,29 @@ source <(jj debug completion --zsh)
```
### Fish
```shell script
jj util completion --fish | source
```
Or, with jj <= 0.7.0:
```shell script
jj debug completion --fish | source
```
### Xonsh
```shell script
source-bash $(jj util completion)
```
Or, with jj <= 0.7.0:
```shell script
source-bash $(jj debug completion)
```
## Getting started
The best way to get started is probably to go through
@ -307,7 +316,6 @@ The best way to get started is probably to go through
[Git comparison](docs/git-comparison.md), which includes a table of
`jj` vs. `git` commands.
## Related work
There are several tools trying to solve similar problems as Jujutsu. See