2345 lines
56 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="canonical" href="https://jj-vcs.github.io/jj/latest/install-and-setup/">
<link rel="prev" href="..">
<link rel="next" href="../tutorial/">
<link rel="icon" href="../images/favicon-96x96.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.4">
<title>Installation and Setup - Jujutsu docs</title>
<link rel="stylesheet" href="../assets/stylesheets/main.8608ea7d.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#installation-and-setup" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="Jujutsu docs" class="md-header__button md-logo" aria-label="Jujutsu docs" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Jujutsu docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Installation and Setup
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to system preference" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="Jujutsu docs" class="md-nav__button md-logo" aria-label="Jujutsu docs" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
Jujutsu docs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
Getting started
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Getting started
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Installation and Setup
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Installation and Setup
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#installation" class="md-nav__link">
<span class="md-ellipsis">
Installation
</span>
</a>
<nav class="md-nav" aria-label="Installation">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#download-pre-built-binaries-for-a-release" class="md-nav__link">
<span class="md-ellipsis">
Download pre-built binaries for a release
</span>
</a>
<nav class="md-nav" aria-label="Download pre-built binaries for a release">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#cargo-binstall" class="md-nav__link">
<span class="md-ellipsis">
Cargo Binstall
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#linux" class="md-nav__link">
<span class="md-ellipsis">
Linux
</span>
</a>
<nav class="md-nav" aria-label="Linux">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#from-source" class="md-nav__link">
<span class="md-ellipsis">
From Source
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#arch-linux" class="md-nav__link">
<span class="md-ellipsis">
Arch Linux
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#nix-os" class="md-nav__link">
<span class="md-ellipsis">
Nix OS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#homebrew" class="md-nav__link">
<span class="md-ellipsis">
Homebrew
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#gentoo-linux" class="md-nav__link">
<span class="md-ellipsis">
Gentoo Linux
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#mac" class="md-nav__link">
<span class="md-ellipsis">
Mac
</span>
</a>
<nav class="md-nav" aria-label="Mac">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#from-source-vendored-openssl" class="md-nav__link">
<span class="md-ellipsis">
From Source, Vendored OpenSSL
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#from-source-homebrew-openssl" class="md-nav__link">
<span class="md-ellipsis">
From Source, Homebrew OpenSSL
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#homebrew_1" class="md-nav__link">
<span class="md-ellipsis">
Homebrew
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#macports" class="md-nav__link">
<span class="md-ellipsis">
MacPorts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#windows" class="md-nav__link">
<span class="md-ellipsis">
Windows
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#initial-configuration" class="md-nav__link">
<span class="md-ellipsis">
Initial configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#command-line-completion" class="md-nav__link">
<span class="md-ellipsis">
Command-line completion
</span>
</a>
<nav class="md-nav" aria-label="Command-line completion">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#bash" class="md-nav__link">
<span class="md-ellipsis">
Bash
</span>
</a>
<nav class="md-nav" aria-label="Bash">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#standard" class="md-nav__link">
<span class="md-ellipsis">
Standard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dynamic" class="md-nav__link">
<span class="md-ellipsis">
Dynamic
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#zsh" class="md-nav__link">
<span class="md-ellipsis">
Zsh
</span>
</a>
<nav class="md-nav" aria-label="Zsh">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#standard_1" class="md-nav__link">
<span class="md-ellipsis">
Standard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dynamic_1" class="md-nav__link">
<span class="md-ellipsis">
Dynamic
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#fish" class="md-nav__link">
<span class="md-ellipsis">
Fish
</span>
</a>
<nav class="md-nav" aria-label="Fish">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#standard_2" class="md-nav__link">
<span class="md-ellipsis">
Standard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dynamic_2" class="md-nav__link">
<span class="md-ellipsis">
Dynamic
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#nushell" class="md-nav__link">
<span class="md-ellipsis">
Nushell
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#xonsh" class="md-nav__link">
<span class="md-ellipsis">
Xonsh
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#powershell" class="md-nav__link">
<span class="md-ellipsis">
Powershell
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../tutorial/" class="md-nav__link">
<span class="md-ellipsis">
Tutorial and Birds-Eye View
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../github/" class="md-nav__link">
<span class="md-ellipsis">
Working with GitHub
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../windows/" class="md-nav__link">
<span class="md-ellipsis">
Working on Windows
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../FAQ/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli-reference/" class="md-nav__link">
<span class="md-ellipsis">
CLI Reference
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../testimonials/" class="md-nav__link">
<span class="md-ellipsis">
Testimonials
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../community_tools/" class="md-nav__link">
<span class="md-ellipsis">
Community-built tools
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Concepts
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Concepts
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../working-copy/" class="md-nav__link">
<span class="md-ellipsis">
Working Copy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../bookmarks/" class="md-nav__link">
<span class="md-ellipsis">
Bookmarks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../conflicts/" class="md-nav__link">
<span class="md-ellipsis">
Conflicts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../operation-log/" class="md-nav__link">
<span class="md-ellipsis">
Operation Log
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../glossary/" class="md-nav__link">
<span class="md-ellipsis">
Glossary
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-ellipsis">
Configuration
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Configuration
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../config/" class="md-nav__link">
<span class="md-ellipsis">
Settings
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../filesets/" class="md-nav__link">
<span class="md-ellipsis">
Fileset language
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../revsets/" class="md-nav__link">
<span class="md-ellipsis">
Revset language
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../templates/" class="md-nav__link">
<span class="md-ellipsis">
Templating language
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-ellipsis">
Comparisons
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
Comparisons
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../git-comparison/" class="md-nav__link">
<span class="md-ellipsis">
Git comparison
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../git-command-table/" class="md-nav__link">
<span class="md-ellipsis">
Git command table
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../git-compatibility/" class="md-nav__link">
<span class="md-ellipsis">
Git compatibility
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../sapling-comparison/" class="md-nav__link">
<span class="md-ellipsis">
Sapling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../related-work/" class="md-nav__link">
<span class="md-ellipsis">
Other related work
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-ellipsis">
Technical details
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
Technical details
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../technical/architecture/" class="md-nav__link">
<span class="md-ellipsis">
Architecture
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../technical/concurrency/" class="md-nav__link">
<span class="md-ellipsis">
Concurrency
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../technical/conflicts/" class="md-nav__link">
<span class="md-ellipsis">
Conflicts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-ellipsis">
Contributing
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../contributing/" class="md-nav__link">
<span class="md-ellipsis">
Guidelines and "How to...?"
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../code-of-conduct/" class="md-nav__link">
<span class="md-ellipsis">
Code of conduct
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../design_docs/" class="md-nav__link">
<span class="md-ellipsis">
Design Docs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../design_doc_blueprint/" class="md-nav__link">
<span class="md-ellipsis">
Design Doc Blueprint
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../releasing/" class="md-nav__link">
<span class="md-ellipsis">
Releasing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../governance/temporary-voting/" class="md-nav__link">
<span class="md-ellipsis">
Temporary Voting for Governance
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../governance/GOVERNANCE/" class="md-nav__link">
<span class="md-ellipsis">
Governance
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-ellipsis">
Design docs
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon"></span>
Design docs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../design/git-submodules/" class="md-nav__link">
<span class="md-ellipsis">
git-submodules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../design/git-submodule-storage/" class="md-nav__link">
<span class="md-ellipsis">
git-submodule-storage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../design/run/" class="md-nav__link">
<span class="md-ellipsis">
JJ run
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../design/sparse-v2/" class="md-nav__link">
<span class="md-ellipsis">
Sparse Patterns v2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../design/tracking-branches/" class="md-nav__link">
<span class="md-ellipsis">
Tracking branches
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../design/copy-tracking/" class="md-nav__link">
<span class="md-ellipsis">
Copy tracking and tracing
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../roadmap/" class="md-nav__link">
<span class="md-ellipsis">
Development Roadmap
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#installation" class="md-nav__link">
<span class="md-ellipsis">
Installation
</span>
</a>
<nav class="md-nav" aria-label="Installation">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#download-pre-built-binaries-for-a-release" class="md-nav__link">
<span class="md-ellipsis">
Download pre-built binaries for a release
</span>
</a>
<nav class="md-nav" aria-label="Download pre-built binaries for a release">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#cargo-binstall" class="md-nav__link">
<span class="md-ellipsis">
Cargo Binstall
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#linux" class="md-nav__link">
<span class="md-ellipsis">
Linux
</span>
</a>
<nav class="md-nav" aria-label="Linux">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#from-source" class="md-nav__link">
<span class="md-ellipsis">
From Source
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#arch-linux" class="md-nav__link">
<span class="md-ellipsis">
Arch Linux
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#nix-os" class="md-nav__link">
<span class="md-ellipsis">
Nix OS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#homebrew" class="md-nav__link">
<span class="md-ellipsis">
Homebrew
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#gentoo-linux" class="md-nav__link">
<span class="md-ellipsis">
Gentoo Linux
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#mac" class="md-nav__link">
<span class="md-ellipsis">
Mac
</span>
</a>
<nav class="md-nav" aria-label="Mac">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#from-source-vendored-openssl" class="md-nav__link">
<span class="md-ellipsis">
From Source, Vendored OpenSSL
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#from-source-homebrew-openssl" class="md-nav__link">
<span class="md-ellipsis">
From Source, Homebrew OpenSSL
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#homebrew_1" class="md-nav__link">
<span class="md-ellipsis">
Homebrew
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#macports" class="md-nav__link">
<span class="md-ellipsis">
MacPorts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#windows" class="md-nav__link">
<span class="md-ellipsis">
Windows
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#initial-configuration" class="md-nav__link">
<span class="md-ellipsis">
Initial configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#command-line-completion" class="md-nav__link">
<span class="md-ellipsis">
Command-line completion
</span>
</a>
<nav class="md-nav" aria-label="Command-line completion">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#bash" class="md-nav__link">
<span class="md-ellipsis">
Bash
</span>
</a>
<nav class="md-nav" aria-label="Bash">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#standard" class="md-nav__link">
<span class="md-ellipsis">
Standard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dynamic" class="md-nav__link">
<span class="md-ellipsis">
Dynamic
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#zsh" class="md-nav__link">
<span class="md-ellipsis">
Zsh
</span>
</a>
<nav class="md-nav" aria-label="Zsh">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#standard_1" class="md-nav__link">
<span class="md-ellipsis">
Standard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dynamic_1" class="md-nav__link">
<span class="md-ellipsis">
Dynamic
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#fish" class="md-nav__link">
<span class="md-ellipsis">
Fish
</span>
</a>
<nav class="md-nav" aria-label="Fish">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#standard_2" class="md-nav__link">
<span class="md-ellipsis">
Standard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dynamic_2" class="md-nav__link">
<span class="md-ellipsis">
Dynamic
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#nushell" class="md-nav__link">
<span class="md-ellipsis">
Nushell
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#xonsh" class="md-nav__link">
<span class="md-ellipsis">
Xonsh
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#powershell" class="md-nav__link">
<span class="md-ellipsis">
Powershell
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="installation-and-setup">Installation and setup<a class="headerlink" href="#installation-and-setup" title="Permanent link">&para;</a></h1>
<h2 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h2>
<h3 id="download-pre-built-binaries-for-a-release">Download pre-built binaries for a release<a class="headerlink" href="#download-pre-built-binaries-for-a-release" title="Permanent link">&para;</a></h3>
<p>There are <a href="https://github.com/jj-vcs/jj/releases/latest">pre-built binaries</a> of the last released version of <code>jj</code> for
Windows, Mac, or Linux (the "musl" version should work on all distributions).</p>
<h4 id="cargo-binstall">Cargo Binstall<a class="headerlink" href="#cargo-binstall" title="Permanent link">&para;</a></h4>
<p>If you use <a href="https://github.com/cargo-bins/cargo-binstall"><code>cargo-binstall</code></a>, you
can install binaries of the latest <code>jj</code> release from GitHub as follows:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># Will put the jj binary for the latest release in ~/.cargo/bin by default</span>
cargo<span class="w"> </span>binstall<span class="w"> </span>--strategies<span class="w"> </span>crate-meta-data<span class="w"> </span>jj-cli
</code></pre></div>
<p>Without the <code>--strategies</code> option, you may get equivalent binaries that should
be compiled from the same source code.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you'd like to install a prerelease version, you'll need to use one of the
options below.</p>
</div>
<h3 id="linux">Linux<a class="headerlink" href="#linux" title="Permanent link">&para;</a></h3>
<h4 id="from-source">From Source<a class="headerlink" href="#from-source" title="Permanent link">&para;</a></h4>
<p>First make sure that you have a Rust version &gt;= 1.76 and that the <code>libssl-dev</code>,
<code>openssl</code>, <code>pkg-config</code>, and <code>build-essential</code> packages are installed by running
something like this:</p>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>apt-get<span class="w"> </span>install<span class="w"> </span>libssl-dev<span class="w"> </span>openssl<span class="w"> </span>pkg-config<span class="w"> </span>build-essential
</code></pre></div>
<p>Now run either:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the *prerelease* version from the main branch</span>
cargo<span class="w"> </span>install<span class="w"> </span>--git<span class="w"> </span>https://github.com/jj-vcs/jj.git<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli
</code></pre></div>
<p>or:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the latest release</span>
cargo<span class="w"> </span>install<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli
</code></pre></div>
<h4 id="arch-linux">Arch Linux<a class="headerlink" href="#arch-linux" title="Permanent link">&para;</a></h4>
<p>You can install the <code>jujutsu</code> package from the <a href="https://archlinux.org/packages/extra/x86_64/jujutsu/">official extra repository</a>:</p>
<div class="highlight"><pre><span></span><code>pacman<span class="w"> </span>-S<span class="w"> </span>jujutsu
</code></pre></div>
<p>Or install from the <a href="https://aur.archlinux.org/packages/jujutsu-git">AUR repository</a> with an <a href="https://wiki.archlinux.org/title/AUR_helpers">AUR Helper</a>:</p>
<div class="highlight"><pre><span></span><code>yay<span class="w"> </span>-S<span class="w"> </span>jujutsu-git
</code></pre></div>
<h4 id="nix-os">Nix OS<a class="headerlink" href="#nix-os" title="Permanent link">&para;</a></h4>
<p>If you're on Nix OS you can install a <strong>released</strong> version of <code>jj</code> using the
<a href="https://search.nixos.org/packages?channel=unstable&amp;show=jujutsu">nixpkgs <code>jujutsu</code> package</a>.</p>
<p>To install a <strong>prerelease</strong> version, you can use the flake for this repository.
For example, if you want to run <code>jj</code> loaded from the flake, use:</p>
<div class="highlight"><pre><span></span><code>nix<span class="w"> </span>run<span class="w"> </span><span class="s1">&#39;github:jj-vcs/jj&#39;</span>
</code></pre></div>
<p>You can also add this flake url to your system input flakes. Or you can
install the flake to your user profile:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># Installs the prerelease version from the main branch</span>
nix<span class="w"> </span>profile<span class="w"> </span>install<span class="w"> </span><span class="s1">&#39;github:jj-vcs/jj&#39;</span>
</code></pre></div>
<h4 id="homebrew">Homebrew<a class="headerlink" href="#homebrew" title="Permanent link">&para;</a></h4>
<p>If you use Homebrew, you can run:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># Installs the latest release</span>
brew<span class="w"> </span>install<span class="w"> </span>jj
</code></pre></div>
<h4 id="gentoo-linux">Gentoo Linux<a class="headerlink" href="#gentoo-linux" title="Permanent link">&para;</a></h4>
<p><code>dev-vcs/jj</code> is available in the <a href="https://wiki.gentoo.org/wiki/Project:GURU">GURU</a> repository.
Details on how to enable the GURU repository can be found <a href="https://wiki.gentoo.org/wiki/Project:GURU/Information_for_End_Users">here</a>.</p>
<p>Once you have synced the GURU repository, you can install <code>dev-vcs/jj</code> via Portage:</p>
<div class="highlight"><pre><span></span><code>emerge<span class="w"> </span>-av<span class="w"> </span>dev-vcs/jj
</code></pre></div>
<h3 id="mac">Mac<a class="headerlink" href="#mac" title="Permanent link">&para;</a></h3>
<h4 id="from-source-vendored-openssl">From Source, Vendored OpenSSL<a class="headerlink" href="#from-source-vendored-openssl" title="Permanent link">&para;</a></h4>
<p>First make sure that you have a Rust version &gt;= 1.76. You may also need to run:</p>
<div class="highlight"><pre><span></span><code>xcode-select<span class="w"> </span>--install
</code></pre></div>
<p>Now run either:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the *prerelease* version from the main branch</span>
cargo<span class="w"> </span>install<span class="w"> </span>--git<span class="w"> </span>https://github.com/jj-vcs/jj.git<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>--features<span class="w"> </span>vendored-openssl<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli
</code></pre></div>
<p>or:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the latest release</span>
cargo<span class="w"> </span>install<span class="w"> </span>--features<span class="w"> </span>vendored-openssl<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli
</code></pre></div>
<h4 id="from-source-homebrew-openssl">From Source, Homebrew OpenSSL<a class="headerlink" href="#from-source-homebrew-openssl" title="Permanent link">&para;</a></h4>
<p>First make sure that you have a Rust version &gt;= 1.76. You will also need
<a href="https://brew.sh/">Homebrew</a> installed. You may then need to run some or all of
these:</p>
<div class="highlight"><pre><span></span><code>xcode-select<span class="w"> </span>--install
brew<span class="w"> </span>install<span class="w"> </span>openssl
brew<span class="w"> </span>install<span class="w"> </span>pkg-config
<span class="nb">export</span><span class="w"> </span><span class="nv">PKG_CONFIG_PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>brew<span class="w"> </span>--prefix<span class="k">)</span><span class="s2">/opt/openssl@3/lib/pkgconfig&quot;</span>
</code></pre></div>
<p>Now run either:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the *prerelease* version from the main branch</span>
cargo<span class="w"> </span>install<span class="w"> </span>--git<span class="w"> </span>https://github.com/jj-vcs/jj.git<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli
</code></pre></div>
<p>or:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the latest release</span>
cargo<span class="w"> </span>install<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli
</code></pre></div>
<h4 id="homebrew_1">Homebrew<a class="headerlink" href="#homebrew_1" title="Permanent link">&para;</a></h4>
<p>If you use Homebrew, you can run:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># Installs the latest release</span>
brew<span class="w"> </span>install<span class="w"> </span>jj
</code></pre></div>
<h4 id="macports">MacPorts<a class="headerlink" href="#macports" title="Permanent link">&para;</a></h4>
<p>You can also install <code>jj</code> via <a href="https://ports.macports.org/port/jujutsu/">the MacPorts <code>jujutsu</code>
port</a>:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># Installs the latest release</span>
sudo<span class="w"> </span>port<span class="w"> </span>install<span class="w"> </span>jujutsu
</code></pre></div>
<h3 id="windows">Windows<a class="headerlink" href="#windows" title="Permanent link">&para;</a></h3>
<p>First make sure that you have a Rust version &gt;= 1.76. Now run either:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the *prerelease* version from the main branch</span>
cargo<span class="w"> </span>install<span class="w"> </span>--git<span class="w"> </span>https://github.com/jj-vcs/jj.git<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli<span class="w"> </span>--features<span class="w"> </span>vendored-openssl
</code></pre></div>
<p>or:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># To install the latest release</span>
cargo<span class="w"> </span>install<span class="w"> </span>--locked<span class="w"> </span>--bin<span class="w"> </span>jj<span class="w"> </span>jj-cli<span class="w"> </span>--features<span class="w"> </span>vendored-openssl
</code></pre></div>
<h2 id="initial-configuration">Initial configuration<a class="headerlink" href="#initial-configuration" title="Permanent link">&para;</a></h2>
<p>You may want to configure your name and email so commits are made in your name.</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>jj<span class="w"> </span>config<span class="w"> </span><span class="nb">set</span><span class="w"> </span>--user<span class="w"> </span>user.name<span class="w"> </span><span class="s2">&quot;Martin von Zweigbergk&quot;</span>
$<span class="w"> </span>jj<span class="w"> </span>config<span class="w"> </span><span class="nb">set</span><span class="w"> </span>--user<span class="w"> </span>user.email<span class="w"> </span><span class="s2">&quot;martinvonz@google.com&quot;</span>
</code></pre></div>
<h2 id="command-line-completion">Command-line completion<a class="headerlink" href="#command-line-completion" title="Permanent link">&para;</a></h2>
<p>To set up command-line completion, source the output of
<code>jj util completion bash/zsh/fish</code>. Exactly how to source it
depends on your shell.</p>
<p>Improved completions are also available. They will complete things like
bookmarks, aliases, revisions, operations and files. They can be context aware,
for example they respect the global flags <code>--repository</code> and <code>--at-operation</code> as
well as some command-specific ones like <code>--revision</code>, <code>--from</code> and <code>--to</code>. You
can activate them with the alternative "dynamic" instructions below. They should
still complete everything the static completions did, so only activate one of
them. Please let us know if you encounter any issues, so we can ensure a smooth
transition once we default to these new completions.</p>
<div class="admonition info">
<p class="admonition-title">Why are the improved completions not the default?</p>
<p>To generate the dynamic completion script, execute <code>jj</code> with <code>$COMPLETE</code> set
to the name of your shell (see examples below). See the upstream clap issue
<a href="https://github.com/clap-rs/clap/issues/3166">#3166</a> for the explanation.</p>
</div>
<h3 id="bash">Bash<a class="headerlink" href="#bash" title="Permanent link">&para;</a></h3>
<h4 id="standard">Standard<a class="headerlink" href="#standard" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code><span class="nb">source</span><span class="w"> </span>&lt;<span class="o">(</span>jj<span class="w"> </span>util<span class="w"> </span>completion<span class="w"> </span>bash<span class="o">)</span>
</code></pre></div>
<h4 id="dynamic">Dynamic<a class="headerlink" href="#dynamic" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code><span class="nb">source</span><span class="w"> </span>&lt;<span class="o">(</span><span class="nv">COMPLETE</span><span class="o">=</span>bash<span class="w"> </span>jj<span class="o">)</span>
</code></pre></div>
<h3 id="zsh">Zsh<a class="headerlink" href="#zsh" title="Permanent link">&para;</a></h3>
<h4 id="standard_1">Standard<a class="headerlink" href="#standard_1" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code>autoload<span class="w"> </span>-U<span class="w"> </span>compinit
compinit
<span class="nb">source</span><span class="w"> </span>&lt;<span class="o">(</span>jj<span class="w"> </span>util<span class="w"> </span>completion<span class="w"> </span>zsh<span class="o">)</span>
</code></pre></div>
<h4 id="dynamic_1">Dynamic<a class="headerlink" href="#dynamic_1" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code><span class="nb">source</span><span class="w"> </span>&lt;<span class="o">(</span><span class="nv">COMPLETE</span><span class="o">=</span>zsh<span class="w"> </span>jj<span class="o">)</span>
</code></pre></div>
<h3 id="fish">Fish<a class="headerlink" href="#fish" title="Permanent link">&para;</a></h3>
<h4 id="standard_2">Standard<a class="headerlink" href="#standard_2" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code>jj<span class="w"> </span>util<span class="w"> </span>completion<span class="w"> </span>fish<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nb">source</span>
</code></pre></div>
<h4 id="dynamic_2">Dynamic<a class="headerlink" href="#dynamic_2" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code><span class="nv">COMPLETE</span><span class="o">=</span>fish<span class="w"> </span>jj<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nb">source</span>
</code></pre></div>
<h3 id="nushell">Nushell<a class="headerlink" href="#nushell" title="Permanent link">&para;</a></h3>
<div class="highlight"><pre><span></span><code>jj util completion nushell | save completions-jj.nu
use completions-jj.nu * # Or `source completions-jj.nu`
</code></pre></div>
<p>(dynamic completions not available yet)</p>
<h3 id="xonsh">Xonsh<a class="headerlink" href="#xonsh" title="Permanent link">&para;</a></h3>
<div class="highlight"><pre><span></span><code>source-bash<span class="w"> </span><span class="k">$(</span>jj<span class="w"> </span>util<span class="w"> </span>completion<span class="k">)</span>
</code></pre></div>
<p>(dynamic completions not available yet)</p>
<h3 id="powershell">Powershell<a class="headerlink" href="#powershell" title="Permanent link">&para;</a></h3>
<p>Insert this line in your $PROFILE file:
(usually $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1)</p>
<div class="highlight"><pre><span></span><code>Invoke-Expression<span class="w"> </span><span class="o">(</span><span class="p">&amp;</span><span class="w"> </span><span class="o">{</span><span class="w"> </span><span class="o">(</span>jj<span class="w"> </span>util<span class="w"> </span>completion<span class="w"> </span>power-shell<span class="w"> </span><span class="p">|</span><span class="w"> </span>Out-String<span class="o">)</span><span class="w"> </span><span class="o">})</span>
</code></pre></div>
<p>(dynamic completions not available yet)</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"alias": true, "provider": "mike"}}</script>
<script src="../assets/javascripts/bundle.f1b6f286.min.js"></script>
</body>
</html>