From dbb9b20c55c6bc6704fee4b2017a0a7c5fe403b0 Mon Sep 17 00:00:00 2001 From: Martin von Zweigbergk Date: Sun, 14 Apr 2024 06:57:20 -0700 Subject: [PATCH] politics: delete references to Pijul The Pijul maintainer has opinions that I don't understand about how we mention Pijul (they consider the current mentions offensive as "bashing Pijul"). Let's just remove the references so we don't have to deal with it. I think the references to Darcs we already had in most of these places are sufficient. --- README.md | 9 ++++----- docs/conflicts.md | 15 +++++++-------- docs/related-work.md | 2 -- lib/src/merge.rs | 4 ++-- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 8cd4a6b87d..badedbb37d 100644 --- a/README.md +++ b/README.md @@ -58,13 +58,12 @@ systems into a single tool. Some of those sources of inspiration include: powerful and simple. Formatting output is done with a robust template language that can be configured by the user. -- **Pijul & Darcs**: Jujutsu keeps track of conflicts as [first-class +- **Darcs**: Jujutsu keeps track of conflicts as [first-class objects][conflicts] in its model; they are first-class in the same way commits are, while alternatives like Git simply think of conflicts as textual diffs. - While not as rigorous as systems like Darcs and Pijul (which are based on a - formalized theory of patches, as opposed to snapshots), the effect is that - many forms of conflict resolution can be performed and propagated - automatically. + While not as rigorous as systems like Darcs (which is based on a formalized + theory of patches, as opposed to snapshots), the effect is that many forms of + conflict resolution can be performed and propagated automatically. [perf]: https://github.com/martinvonz/jj/discussions/49 [revset]: https://martinvonz.github.io/jj/latest/revsets/ diff --git a/docs/conflicts.md b/docs/conflicts.md index e6c5af6bd3..9f22265f14 100644 --- a/docs/conflicts.md +++ b/docs/conflicts.md @@ -3,14 +3,13 @@ ## Introduction -Like [Pijul](https://pijul.org/) and [Darcs](http://darcs.net/) but unlike most -other VCSs, Jujutsu can record conflicted states in commits. For example, if you -rebase a commit and it results in a conflict, the conflict will be recorded in -the rebased commit and the rebase operation will succeed. You can then resolve -the conflict whenever you want. Conflicted states can be further rebased, -merged, or backed out. Note that what's stored in the commit is a logical -representation of the conflict, not conflict *markers*; rebasing a conflict -doesn't result in a nested conflict markers (see +Unlike most other VCSs, Jujutsu can record conflicted states in commits. For +example, if you rebase a commit and it results in a conflict, the conflict will +be recorded in the rebased commit and the rebase operation will succeed. You can +then resolve the conflict whenever you want. Conflicted states can be further +rebased, merged, or backed out. Note that what's stored in the commit is a +logical representation of the conflict, not conflict *markers*; rebasing a +conflict doesn't result in a nested conflict markers (see [technical doc](technical/conflicts.md) for how this works). diff --git a/docs/related-work.md b/docs/related-work.md index 384bd22326..5ef2fb8069 100644 --- a/docs/related-work.md +++ b/docs/related-work.md @@ -18,8 +18,6 @@ Similar tools: interface for Git. Like Jujutsu, does not have an "index"/"staging area" concept. Also doesn't move the working-copy changes between branches (which we do simply as a consequence of making the working copy a commit). -* [Pijul](https://pijul.org/): Architecturally quite different from Jujutsu, - but its "first-class conflicts" feature seems quite similar to ours. * [Breezy](https://www.breezy-vcs.org/): Another VCS that's similar in that it has multiple storage backends, including its own format as well as .git support. diff --git a/lib/src/merge.rs b/lib/src/merge.rs index b5d66a9152..46330b901f 100644 --- a/lib/src/merge.rs +++ b/lib/src/merge.rs @@ -92,8 +92,8 @@ where } else if counts.len() == 2 { // All sides made the same change. // This matches what Git and Mercurial do (in the 3-way case at least), but not - // what Darcs and Pijul do. It means that repeated 3-way merging of multiple - // trees may give different results depending on the order of merging. + // what Darcs does. It means that repeated 3-way merging of multiple trees may + // give different results depending on the order of merging. // TODO: Consider removing this special case, making the algorithm more strict, // and maybe add a more lenient version that is used when the user explicitly // asks for conflict resolution.