project: rename project from Jujube to Jujutsu

"Jujutsu" is probably much more familiar and relatable to most
people. Also, I'm still not sure how "jujube" is supposed to be
pronounced :P
This commit is contained in:
Martin von Zweigbergk 2021-05-15 09:16:31 -07:00
parent 1cdac0f902
commit d42e6c77b2
34 changed files with 153 additions and 152 deletions

6
Cargo.lock generated
View file

@ -541,7 +541,7 @@ dependencies = [
] ]
[[package]] [[package]]
name = "jujube" name = "jujutsu"
version = "0.1.1" version = "0.1.1"
dependencies = [ dependencies = [
"blake2", "blake2",
@ -554,7 +554,7 @@ dependencies = [
"git2", "git2",
"hex", "hex",
"indoc", "indoc",
"jujube-lib", "jujutsu-lib",
"pest", "pest",
"pest_derive", "pest_derive",
"protobuf", "protobuf",
@ -569,7 +569,7 @@ dependencies = [
] ]
[[package]] [[package]]
name = "jujube-lib" name = "jujutsu-lib"
version = "0.1.1" version = "0.1.1"
dependencies = [ dependencies = [
"backoff", "backoff",

View file

@ -1,13 +1,13 @@
[package] [package]
name = "jujube" name = "jujutsu"
version = "0.1.1" version = "0.1.1"
authors = ["Martin von Zweigbergk <martinvonz@google.com>"] authors = ["Martin von Zweigbergk <martinvonz@google.com>"]
edition = "2018" edition = "2018"
license = "Apache-2.0" license = "Apache-2.0"
description = "Jujube (an experimental VCS)" description = "Jujutsu (an experimental VCS)"
homepage = "https://github.com/martinvonz/jj" homepage = "https://github.com/martinvonz/jj"
repository = "https://github.com/martinvonz/jj" repository = "https://github.com/martinvonz/jj"
documentation = "https://docs.rs/jujube" documentation = "https://docs.rs/jujutsu"
readme = "README.md" readme = "README.md"
keywords = ["VCS", "DVCS", "SCM", "Git", "Mercurial"] keywords = ["VCS", "DVCS", "SCM", "Git", "Mercurial"]
categories = ["command-line-utilities", "development-tools"] categories = ["command-line-utilities", "development-tools"]
@ -30,7 +30,7 @@ dirs = "3.0.1"
git2 = "0.13.14" git2 = "0.13.14"
hex = "0.4.2" hex = "0.4.2"
indoc = "1.0.3" indoc = "1.0.3"
jujube-lib = { version = "=0.1.1", path = "lib"} jujutsu-lib = { version = "=0.1.1", path = "lib"}
pest = "2.1.3" pest = "2.1.3"
pest_derive = "2.1.0" pest_derive = "2.1.0"
protobuf = { version = "2.22.1", features = ["with-bytes"] } protobuf = { version = "2.22.1", features = ["with-bytes"] }

View file

@ -1,4 +1,4 @@
# Jujube # Jujutsu
## Disclaimer ## Disclaimer
@ -20,8 +20,9 @@ blobs. However, the blobs are actually split into three types: normal files,
symlinks (Unicode paths), and conflicts (more about that later). symlinks (Unicode paths), and conflicts (more about that later).
The command-line tool is called `jj` for now because it's easy to type and easy The command-line tool is called `jj` for now because it's easy to type and easy
to replace (rare in English). The project is called "Jujube" (a fruit) because to replace (rare in English). The project is called "Jujutsu" because it matches
that's the first word I could think of that matched "jj". "jj" (I initially called it "Jujube", but changed since jujutsu is more
well-known).
## Features ## Features
@ -34,7 +35,7 @@ readers who are already familiar with other VCSs.
The tool currently has two backends. One is called "local store" and is very The tool currently has two backends. One is called "local store" and is very
simple and inefficient. The other backend uses a Git repo as storage. The simple and inefficient. The other backend uses a Git repo as storage. The
commits are stored as regular Git commits. Commits can be read from and written commits are stored as regular Git commits. Commits can be read from and written
to an existing Git repo. This makes it possible to create a Jujube repo and use to an existing Git repo. This makes it possible to create a Jujutsu repo and use
it as an alternative interface for a Git repo (it will be backed by the Git repo it as an alternative interface for a Git repo (it will be backed by the Git repo
just like additional Git worktrees are). just like additional Git worktrees are).
@ -58,7 +59,7 @@ running.
### Supports Evolution ### Supports Evolution
Jujube copies the Evolution feature from Mercurial. It keeps track of when a Jujutsu copies the Evolution feature from Mercurial. It keeps track of when a
commit gets rewritten. A commit has a list of predecessors in addition to the commit gets rewritten. A commit has a list of predecessors in addition to the
usual list of parents. This lets the tool figure out where to rebase descendant usual list of parents. This lets the tool figure out where to rebase descendant
commits to when a commit has been rewritten (amended, rebased, etc.). See commits to when a commit has been rewritten (amended, rebased, etc.). See
@ -123,14 +124,14 @@ yet.)
The criss-cross merge case becomes simpler. In Git, the virtual ancestor may The criss-cross merge case becomes simpler. In Git, the virtual ancestor may
have conflicts and you may get nested conflict markers in the working copy. In have conflicts and you may get nested conflict markers in the working copy. In
Jujube, the result is a merge with multiple parts, which may even get simplified Jujutsu, the result is a merge with multiple parts, which may even get simplified
to not be recursive. to not be recursive.
The in-tree conflicts make it natural and easy to define the contents of a merge The in-tree conflicts make it natural and easy to define the contents of a merge
commit to be the difference compared to the merged parents (the so-called "evil" commit to be the difference compared to the merged parents (the so-called "evil"
part of the merge), so that's what Jujube does. Rebasing merge commits therefore part of the merge), so that's what Jujutsu does. Rebasing merge commits
works as you would expect (Git and Mercurial both handle rebasing of merge therefore works as you would expect (Git and Mercurial both handle rebasing of
commits poorly). It's even possible to change the number of parents while merge commits poorly). It's even possible to change the number of parents while
rebasing, so if A is non-merge commit, you can make it a merge commit with `jj rebasing, so if A is non-merge commit, you can make it a merge commit with `jj
rebase -r A -d B -d C`. `jj diff -r <commit>` will show you the diff compared to rebase -r A -d B -d C`. `jj diff -r <commit>` will show you the diff compared to
the merged parents. the merged parents.

View file

@ -1,13 +1,13 @@
[package] [package]
name = "jujube-lib" name = "jujutsu-lib"
version = "0.1.1" version = "0.1.1"
authors = ["Martin von Zweigbergk <martinvonz@google.com>"] authors = ["Martin von Zweigbergk <martinvonz@google.com>"]
edition = "2018" edition = "2018"
license = "Apache-2.0" license = "Apache-2.0"
description = "Library for Jujube (an experimental VCS)" description = "Library for Jujutsu (an experimental VCS)"
homepage = "https://github.com/martinvonz/jj" homepage = "https://github.com/martinvonz/jj"
repository = "https://github.com/martinvonz/jj" repository = "https://github.com/martinvonz/jj"
documentation = "https://docs.rs/jujube" documentation = "https://docs.rs/jujutsu"
readme = "../README.md" readme = "../README.md"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -2,7 +2,7 @@
extern crate test; extern crate test;
use jujube_lib::diff; use jujutsu_lib::diff;
use test::Bencher; use test::Bencher;
fn unchanged_lines(count: usize) -> (String, String) { fn unchanged_lines(count: usize) -> (String, String) {

View file

@ -24,7 +24,7 @@ pub enum GitImportError {
InternalGitError(#[from] git2::Error), InternalGitError(#[from] git2::Error),
} }
// Reflect changes made in the underlying Git repo in the Jujube repo. // Reflect changes made in the underlying Git repo in the Jujutsu repo.
pub fn import_refs( pub fn import_refs(
mut_repo: &mut MutableRepo, mut_repo: &mut MutableRepo,
git_repo: &git2::Repository, git_repo: &git2::Repository,

View file

@ -133,7 +133,7 @@ impl Debug for ReadonlyRepo {
#[derive(Error, Debug, PartialEq)] #[derive(Error, Debug, PartialEq)]
pub enum RepoLoadError { pub enum RepoLoadError {
#[error("There is no Jujube repo in {0}")] #[error("There is no Jujutsu repo in {0}")]
NoRepoHere(PathBuf), NoRepoHere(PathBuf),
} }

View file

@ -14,8 +14,8 @@
use std::path::Path; use std::path::Path;
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use tempfile::TempDir; use tempfile::TempDir;
use test_case::test_case; use test_case::test_case;

View file

@ -12,11 +12,11 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::repo_path::FileRepoPath; use jujutsu_lib::repo_path::FileRepoPath;
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::tree::DiffSummary; use jujutsu_lib::tree::DiffSummary;
use test_case::test_case; use test_case::test_case;
#[test_case(false ; "local store")] #[test_case(false ; "local store")]

View file

@ -15,8 +15,8 @@
use std::cmp::max; use std::cmp::max;
use std::thread; use std::thread;
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::{dag_walk, testutils}; use jujutsu_lib::{dag_walk, testutils};
use test_case::test_case; use test_case::test_case;
fn count_non_merge_operations(repo: &ReadonlyRepo) -> usize { fn count_non_merge_operations(repo: &ReadonlyRepo) -> usize {

View file

@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::repo_path::FileRepoPath; use jujutsu_lib::repo_path::FileRepoPath;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::tree::DiffSummary; use jujutsu_lib::tree::DiffSummary;
use test_case::test_case; use test_case::test_case;
#[test_case(false ; "local store")] #[test_case(false ; "local store")]

View file

@ -14,15 +14,15 @@
#![feature(assert_matches)] #![feature(assert_matches)]
use jujube_lib::commit::Commit; use jujutsu_lib::commit::Commit;
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::evolution::{ use jujutsu_lib::evolution::{
DivergenceResolution, DivergenceResolver, OrphanResolution, OrphanResolver, DivergenceResolution, DivergenceResolver, OrphanResolution, OrphanResolver,
}; };
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::repo_path::FileRepoPath; use jujutsu_lib::repo_path::FileRepoPath;
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use test_case::test_case; use test_case::test_case;
#[must_use] #[must_use]

View file

@ -17,12 +17,12 @@ use std::path::PathBuf;
use std::sync::Arc; use std::sync::Arc;
use git2::Oid; use git2::Oid;
use jujube_lib::commit::Commit; use jujutsu_lib::commit::Commit;
use jujube_lib::git::{GitFetchError, GitPushError}; use jujutsu_lib::git::{GitFetchError, GitPushError};
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
use jujube_lib::store::CommitId; use jujutsu_lib::store::CommitId;
use jujube_lib::{git, testutils}; use jujutsu_lib::{git, testutils};
use maplit::hashset; use maplit::hashset;
use tempfile::TempDir; use tempfile::TempDir;
@ -69,7 +69,7 @@ fn test_import_refs() {
let mut tx = repo.start_transaction("test"); let mut tx = repo.start_transaction("test");
let mut_repo = tx.mut_repo(); let mut_repo = tx.mut_repo();
let heads_before: HashSet<_> = repo.view().heads().clone(); let heads_before: HashSet<_> = repo.view().heads().clone();
jujube_lib::git::import_refs(mut_repo, &git_repo).unwrap_or_default(); jujutsu_lib::git::import_refs(mut_repo, &git_repo).unwrap_or_default();
let view = mut_repo.view(); let view = mut_repo.view();
let expected_heads: HashSet<_> = heads_before let expected_heads: HashSet<_> = heads_before
.union(&hashset!( .union(&hashset!(
@ -118,7 +118,7 @@ fn test_import_refs_reimport() {
let heads_before = repo.view().heads().clone(); let heads_before = repo.view().heads().clone();
let mut tx = repo.start_transaction("test"); let mut tx = repo.start_transaction("test");
jujube_lib::git::import_refs(tx.mut_repo(), &git_repo).unwrap_or_default(); jujutsu_lib::git::import_refs(tx.mut_repo(), &git_repo).unwrap_or_default();
tx.commit(); tx.commit();
// Delete feature1 and rewrite feature2 // Delete feature1 and rewrite feature2
@ -129,7 +129,7 @@ fn test_import_refs_reimport() {
repo = repo.reload().unwrap(); repo = repo.reload().unwrap();
let mut tx = repo.start_transaction("test"); let mut tx = repo.start_transaction("test");
let mut_repo = tx.mut_repo(); let mut_repo = tx.mut_repo();
jujube_lib::git::import_refs(mut_repo, &git_repo).unwrap_or_default(); jujutsu_lib::git::import_refs(mut_repo, &git_repo).unwrap_or_default();
let view = mut_repo.view(); let view = mut_repo.view();
// TODO: commit3 and commit4 should probably be removed // TODO: commit3 and commit4 should probably be removed
@ -201,7 +201,7 @@ fn test_import_refs_merge() {
git_ref(&git_repo, "refs/heads/forward-remove", commit1.id()); git_ref(&git_repo, "refs/heads/forward-remove", commit1.id());
git_ref(&git_repo, "refs/heads/remove-forward", commit1.id()); git_ref(&git_repo, "refs/heads/remove-forward", commit1.id());
let mut tx = repo.start_transaction("initial import"); let mut tx = repo.start_transaction("initial import");
jujube_lib::git::import_refs(tx.mut_repo(), &git_repo).unwrap_or_default(); jujutsu_lib::git::import_refs(tx.mut_repo(), &git_repo).unwrap_or_default();
tx.commit(); tx.commit();
repo = repo.reload().unwrap(); repo = repo.reload().unwrap();
@ -214,7 +214,7 @@ fn test_import_refs_merge() {
delete_git_ref(&git_repo, "refs/heads/remove-forward"); delete_git_ref(&git_repo, "refs/heads/remove-forward");
git_ref(&git_repo, "refs/heads/add-add", commit3.id()); git_ref(&git_repo, "refs/heads/add-add", commit3.id());
let mut tx1 = repo.start_transaction("concurrent import 1"); let mut tx1 = repo.start_transaction("concurrent import 1");
jujube_lib::git::import_refs(tx1.mut_repo(), &git_repo).unwrap_or_default(); jujutsu_lib::git::import_refs(tx1.mut_repo(), &git_repo).unwrap_or_default();
tx1.commit(); tx1.commit();
// The other concurrent operation: // The other concurrent operation:
@ -226,7 +226,7 @@ fn test_import_refs_merge() {
git_ref(&git_repo, "refs/heads/remove-forward", commit2.id()); git_ref(&git_repo, "refs/heads/remove-forward", commit2.id());
git_ref(&git_repo, "refs/heads/add-add", commit4.id()); git_ref(&git_repo, "refs/heads/add-add", commit4.id());
let mut tx2 = repo.start_transaction("concurrent import 2"); let mut tx2 = repo.start_transaction("concurrent import 2");
jujube_lib::git::import_refs(tx2.mut_repo(), &git_repo).unwrap_or_default(); jujutsu_lib::git::import_refs(tx2.mut_repo(), &git_repo).unwrap_or_default();
tx2.commit(); tx2.commit();
// Reload the repo, causing the operations to be merged. // Reload the repo, causing the operations to be merged.
@ -283,7 +283,7 @@ fn test_import_refs_empty_git_repo() {
let heads_before = repo.view().heads().clone(); let heads_before = repo.view().heads().clone();
let mut tx = repo.start_transaction("test"); let mut tx = repo.start_transaction("test");
let mut_repo = tx.mut_repo(); let mut_repo = tx.mut_repo();
jujube_lib::git::import_refs(mut_repo, &git_repo).unwrap_or_default(); jujutsu_lib::git::import_refs(mut_repo, &git_repo).unwrap_or_default();
assert_eq!(*mut_repo.view().heads(), heads_before); assert_eq!(*mut_repo.view().heads(), heads_before);
assert_eq!(mut_repo.view().git_refs().len(), 0); assert_eq!(mut_repo.view().git_refs().len(), 0);
tx.discard(); tx.discard();

View file

@ -14,14 +14,14 @@
use std::sync::Arc; use std::sync::Arc;
use jujube_lib::commit::Commit; use jujutsu_lib::commit::Commit;
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::index::IndexRef; use jujutsu_lib::index::IndexRef;
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
use jujube_lib::store::CommitId; use jujutsu_lib::store::CommitId;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::testutils::{create_random_commit, CommitGraphBuilder}; use jujutsu_lib::testutils::{create_random_commit, CommitGraphBuilder};
use test_case::test_case; use test_case::test_case;
#[must_use] #[must_use]

View file

@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::testutils; use jujutsu_lib::testutils;
#[test] #[test]
fn test_init_local() { fn test_init_local() {

View file

@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::repo::{ReadonlyRepo, RepoLoadError, RepoLoader}; use jujutsu_lib::repo::{ReadonlyRepo, RepoLoadError, RepoLoader};
use jujube_lib::testutils; use jujutsu_lib::testutils;
use test_case::test_case; use test_case::test_case;
#[test] #[test]

View file

@ -12,10 +12,10 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::repo_path::{DirRepoPath, FileRepoPath, RepoPath}; use jujutsu_lib::repo_path::{DirRepoPath, FileRepoPath, RepoPath};
use jujube_lib::store::{ConflictPart, TreeValue}; use jujutsu_lib::store::{ConflictPart, TreeValue};
use jujube_lib::tree::Tree; use jujutsu_lib::tree::Tree;
use jujube_lib::{testutils, trees}; use jujutsu_lib::{testutils, trees};
use test_case::test_case; use test_case::test_case;
#[test_case(false ; "local store")] #[test_case(false ; "local store")]

View file

@ -14,12 +14,12 @@
use std::sync::Arc; use std::sync::Arc;
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::repo_path::FileRepoPath; use jujutsu_lib::repo_path::FileRepoPath;
use jujube_lib::store::{Conflict, ConflictId, ConflictPart, TreeValue}; use jujutsu_lib::store::{Conflict, ConflictId, ConflictPart, TreeValue};
use jujube_lib::store_wrapper::StoreWrapper; use jujutsu_lib::store_wrapper::StoreWrapper;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::testutils::CommitGraphBuilder; use jujutsu_lib::testutils::CommitGraphBuilder;
use test_case::test_case; use test_case::test_case;
// TODO Many of the tests here are not run with Git because they end up creating // TODO Many of the tests here are not run with Git because they end up creating

View file

@ -14,10 +14,10 @@
use std::path::Path; use std::path::Path;
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::repo::RepoRef; use jujutsu_lib::repo::RepoRef;
use jujube_lib::store::CommitId; use jujutsu_lib::store::CommitId;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use test_case::test_case; use test_case::test_case;
fn list_dir(dir: &Path) -> Vec<String> { fn list_dir(dir: &Path) -> Vec<String> {

View file

@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::repo::RepoRef; use jujutsu_lib::repo::RepoRef;
use jujube_lib::revset::{evaluate_expression, parse, resolve_symbol, RevsetError}; use jujutsu_lib::revset::{evaluate_expression, parse, resolve_symbol, RevsetError};
use jujube_lib::store::{CommitId, MillisSinceEpoch, Signature, Timestamp}; use jujutsu_lib::store::{CommitId, MillisSinceEpoch, Signature, Timestamp};
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::testutils::CommitGraphBuilder; use jujutsu_lib::testutils::CommitGraphBuilder;
use test_case::test_case; use test_case::test_case;
#[test_case(false ; "local store")] #[test_case(false ; "local store")]

View file

@ -12,10 +12,10 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::revset::revset_for_commits; use jujutsu_lib::revset::revset_for_commits;
use jujube_lib::revset_graph_iterator::RevsetGraphEdge; use jujutsu_lib::revset_graph_iterator::RevsetGraphEdge;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::testutils::CommitGraphBuilder; use jujutsu_lib::testutils::CommitGraphBuilder;
use maplit::hashset; use maplit::hashset;
use test_case::test_case; use test_case::test_case;

View file

@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::testutils::CommitGraphBuilder; use jujutsu_lib::testutils::CommitGraphBuilder;
use maplit::hashset; use maplit::hashset;
use test_case::test_case; use test_case::test_case;

View file

@ -18,13 +18,13 @@ use std::io::{Read, Write};
use std::os::unix::fs::PermissionsExt; use std::os::unix::fs::PermissionsExt;
use std::sync::Arc; use std::sync::Arc;
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::repo_path::{FileRepoPath, RepoPath}; use jujutsu_lib::repo_path::{FileRepoPath, RepoPath};
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
use jujube_lib::store::TreeValue; use jujutsu_lib::store::TreeValue;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::tree_builder::TreeBuilder; use jujutsu_lib::tree_builder::TreeBuilder;
use test_case::test_case; use test_case::test_case;
#[test_case(false ; "local store")] #[test_case(false ; "local store")]

View file

@ -16,12 +16,12 @@ use std::cmp::max;
use std::collections::HashSet; use std::collections::HashSet;
use std::thread; use std::thread;
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::repo::ReadonlyRepo; use jujutsu_lib::repo::ReadonlyRepo;
use jujube_lib::repo_path::FileRepoPath; use jujutsu_lib::repo_path::FileRepoPath;
use jujube_lib::store::CommitId; use jujutsu_lib::store::CommitId;
use jujube_lib::testutils; use jujutsu_lib::testutils;
use jujube_lib::working_copy::CheckoutError; use jujutsu_lib::working_copy::CheckoutError;
use test_case::test_case; use test_case::test_case;
#[test_case(false ; "local store")] #[test_case(false ; "local store")]

View file

@ -28,30 +28,30 @@ use std::{fs, io};
use clap::{crate_version, App, Arg, ArgMatches, SubCommand}; use clap::{crate_version, App, Arg, ArgMatches, SubCommand};
use criterion::Criterion; use criterion::Criterion;
use jujube_lib::commit::Commit; use jujutsu_lib::commit::Commit;
use jujube_lib::commit_builder::CommitBuilder; use jujutsu_lib::commit_builder::CommitBuilder;
use jujube_lib::dag_walk::topo_order_reverse; use jujutsu_lib::dag_walk::topo_order_reverse;
use jujube_lib::evolution::{ use jujutsu_lib::evolution::{
DivergenceResolution, DivergenceResolver, OrphanResolution, OrphanResolver, DivergenceResolution, DivergenceResolver, OrphanResolution, OrphanResolver,
}; };
use jujube_lib::files::DiffLine; use jujutsu_lib::files::DiffLine;
use jujube_lib::git::GitFetchError; use jujutsu_lib::git::GitFetchError;
use jujube_lib::index::HexPrefix; use jujutsu_lib::index::HexPrefix;
use jujube_lib::op_store::{OpStore, OpStoreError, OperationId}; use jujutsu_lib::op_store::{OpStore, OpStoreError, OperationId};
use jujube_lib::operation::Operation; use jujutsu_lib::operation::Operation;
use jujube_lib::repo::{MutableRepo, ReadonlyRepo, RepoLoadError, RepoLoader}; use jujutsu_lib::repo::{MutableRepo, ReadonlyRepo, RepoLoadError, RepoLoader};
use jujube_lib::repo_path::RepoPath; use jujutsu_lib::repo_path::RepoPath;
use jujube_lib::revset::{RevsetError, RevsetParseError}; use jujutsu_lib::revset::{RevsetError, RevsetParseError};
use jujube_lib::revset_graph_iterator::RevsetGraphEdgeType; use jujutsu_lib::revset_graph_iterator::RevsetGraphEdgeType;
use jujube_lib::rewrite::{back_out_commit, merge_commit_trees, rebase_commit}; use jujutsu_lib::rewrite::{back_out_commit, merge_commit_trees, rebase_commit};
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
use jujube_lib::store::{StoreError, Timestamp, TreeValue}; use jujutsu_lib::store::{StoreError, Timestamp, TreeValue};
use jujube_lib::store_wrapper::StoreWrapper; use jujutsu_lib::store_wrapper::StoreWrapper;
use jujube_lib::transaction::Transaction; use jujutsu_lib::transaction::Transaction;
use jujube_lib::tree::Tree; use jujutsu_lib::tree::Tree;
use jujube_lib::trees::Diff; use jujutsu_lib::trees::Diff;
use jujube_lib::working_copy::{CheckoutStats, WorkingCopy}; use jujutsu_lib::working_copy::{CheckoutStats, WorkingCopy};
use jujube_lib::{conflicts, files, git, revset}; use jujutsu_lib::{conflicts, files, git, revset};
use pest::Parser; use pest::Parser;
use self::chrono::{FixedOffset, TimeZone, Utc}; use self::chrono::{FixedOffset, TimeZone, Utc};
@ -699,7 +699,7 @@ fn get_app<'a, 'b>() -> App<'a, 'b> {
) )
.subcommand(SubCommand::with_name("index").about("Show commit index stats")) .subcommand(SubCommand::with_name("index").about("Show commit index stats"))
.subcommand(SubCommand::with_name("reindex").about("Rebuild commit index")); .subcommand(SubCommand::with_name("reindex").about("Rebuild commit index"));
App::new("Jujube") App::new("Jujutsu")
.global_setting(clap::AppSettings::ColoredHelp) .global_setting(clap::AppSettings::ColoredHelp)
.setting(clap::AppSettings::SubcommandRequiredElseHelp) .setting(clap::AppSettings::SubcommandRequiredElseHelp)
.version(crate_version!()) .version(crate_version!())

View file

@ -16,13 +16,13 @@ use std::path::{Path, PathBuf};
use std::process::Command; use std::process::Command;
use std::sync::Arc; use std::sync::Arc;
use jujube_lib::repo_path::{DirRepoPath, RepoPath}; use jujutsu_lib::repo_path::{DirRepoPath, RepoPath};
use jujube_lib::store::{StoreError, TreeId, TreeValue}; use jujutsu_lib::store::{StoreError, TreeId, TreeValue};
use jujube_lib::store_wrapper::StoreWrapper; use jujutsu_lib::store_wrapper::StoreWrapper;
use jujube_lib::tree::Tree; use jujutsu_lib::tree::Tree;
use jujube_lib::tree_builder::TreeBuilder; use jujutsu_lib::tree_builder::TreeBuilder;
use jujube_lib::trees::merge_trees; use jujutsu_lib::trees::merge_trees;
use jujube_lib::working_copy::{CheckoutError, TreeState}; use jujutsu_lib::working_copy::{CheckoutError, TreeState};
use tempfile::tempdir; use tempfile::tempdir;
use thiserror::Error; use thiserror::Error;
@ -58,7 +58,7 @@ fn add_to_tree(
TreeValue::Conflict(conflict_id) => { TreeValue::Conflict(conflict_id) => {
let conflict = store.read_conflict(conflict_id)?; let conflict = store.read_conflict(conflict_id)?;
let materialized_value = let materialized_value =
jujube_lib::conflicts::conflict_to_materialized_value(store, repo_path, &conflict); jujutsu_lib::conflicts::conflict_to_materialized_value(store, repo_path, &conflict);
tree_builder.set(repo_path.clone(), materialized_value); tree_builder.set(repo_path.clone(), materialized_value);
} }
_ => { _ => {

View file

@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube::commands::dispatch; use jujutsu::commands::dispatch;
use jujube::ui::Ui; use jujutsu::ui::Ui;
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
fn main() { fn main() {
// TODO: We need to do some argument parsing here, at least for things like // TODO: We need to do some argument parsing here, at least for things like

View file

@ -16,7 +16,7 @@ use std::collections::HashMap;
use std::io; use std::io;
use std::io::{Error, Read, Write}; use std::io::{Error, Read, Write};
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
// Lets the caller label strings and translates the labels to colors // Lets the caller label strings and translates the labels to colors
pub trait Styler: Write { pub trait Styler: Write {

View file

@ -15,9 +15,9 @@
extern crate pest; extern crate pest;
use chrono::{FixedOffset, TimeZone, Utc}; use chrono::{FixedOffset, TimeZone, Utc};
use jujube_lib::commit::Commit; use jujutsu_lib::commit::Commit;
use jujube_lib::repo::RepoRef; use jujutsu_lib::repo::RepoRef;
use jujube_lib::store::{CommitId, Signature}; use jujutsu_lib::store::{CommitId, Signature};
use pest::iterators::{Pair, Pairs}; use pest::iterators::{Pair, Pairs};
use pest::Parser; use pest::Parser;

View file

@ -16,9 +16,9 @@ use std::borrow::BorrowMut;
use std::io; use std::io;
use std::ops::Add; use std::ops::Add;
use jujube_lib::commit::Commit; use jujutsu_lib::commit::Commit;
use jujube_lib::repo::RepoRef; use jujutsu_lib::repo::RepoRef;
use jujube_lib::store::{CommitId, Signature}; use jujutsu_lib::store::{CommitId, Signature};
use crate::styler::Styler; use crate::styler::Styler;

View file

@ -15,7 +15,7 @@
use std::io::Cursor; use std::io::Cursor;
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use jujube_lib::testutils::{new_user_home, user_settings}; use jujutsu_lib::testutils::{new_user_home, user_settings};
use crate::commands; use crate::commands;
use crate::ui::Ui; use crate::ui::Ui;

View file

@ -17,9 +17,9 @@ use std::path::{Path, PathBuf};
use std::sync::{Mutex, MutexGuard}; use std::sync::{Mutex, MutexGuard};
use std::{fmt, io}; use std::{fmt, io};
use jujube_lib::commit::Commit; use jujutsu_lib::commit::Commit;
use jujube_lib::repo::RepoRef; use jujutsu_lib::repo::RepoRef;
use jujube_lib::settings::UserSettings; use jujutsu_lib::settings::UserSettings;
use crate::styler::{ColorStyler, PlainTextStyler, Styler}; use crate::styler::{ColorStyler, PlainTextStyler, Styler};
use crate::templater::TemplateFormatter; use crate::templater::TemplateFormatter;

View file

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube::testutils; use jujutsu::testutils;
use regex::Regex; use regex::Regex;
#[test] #[test]

View file

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use jujube::testutils; use jujutsu::testutils;
#[test] #[test]
fn test_init_git_internal() { fn test_init_git_internal() {