Replies: 1 comment 4 replies
|
Very old changelog I know, but I just started using Jujutsu and my first thought was "okay, surely this has its own way of initializing a new repo other than using a So I looked in the documentation, the CLI help, etc. Then finally I just did a search in this repo for "init" and finally came across this changelog that indicates Jujutsu used to have its own Given my first experiences with Jujutsu, this seems like a mistake. And, at the very least, this should be touched on in the tutorial documentation.
|
Uh oh!
There was an error while loading. Please reload this page.
About
jj is a Git-compatible version control system that is both simple and powerful. See the installation instructions to get started.
Release highlights
Improved Git push/fetch compatibility by spawning an external
gitprocess.This can be enabled by the
git.subprocess=trueconfig knob, and will be thedefault in a future release.
jj logcan now show cryptographic commit signatures. The output can becontrolled by the
ui.show-cryptographic-signatures=trueconfig knob.Breaking changes
jj abandonnow deletes bookmarks pointing to the revisions to be abandoned.Use
--retain-bookmarksto move bookmarks backwards. If deleted bookmarkswere tracking remote bookmarks, the associated bookmarks (or branches) will be
deleted from the remote on
jj git push --all.#3505
jj init --gitandjj init --git-repohave been removed. They weredeprecated in early 2024. Use
jj git initinstead.The following deprecated commands have been removed:
jj catis replaced byjj file show.jj chmodis replaced byjj file chmod.jj filesis replaced byjj file list.The deprecated
-lshort alias for--limitinjj log,jj op logand
jj obsloghas been removed. The-nshort alias can be used instead.The deprecated
--siblingsoptions forjj splithas been removed.jj split --parallelcan be used instead.The deprecated
fix.tool-commandconfig option has been removed.In colocated repos, the Git index now contains the changes from all parents
of the working copy instead of just the first parent (
HEAD). 2-sidedconflicts from the merged parents are now added to the Git index as conflicts
as well.
The following change introduced in 0.25.0 is reverted:
jj config listnow prints inline tables{ key = value, .. }literally.Inner items of inline tables are no longer merged across configuration
files.
jj resolvewill now attempt to resolve all conflicted files instead ofresolving the first conflicted file. To resolve a single file, pass a file
path to
jj resolve.jj util mangenis replaced withjj util install-man-pages, which caninstall man pages for all
jjsubcommands to a given path.In
jj config listtemplate,valueis now typed asConfigValue, not asStringserialized in TOML syntax.jj git remote add/set-urlnow converts relative Git remote path toabsolute path.
jj log/op lognow applies-n/--limitbefore the items are reversed.Rationale: It's more useful to see the N most recent commits/operations, and
is more performant. The old behavior can be achieved by
jj log .. | head.#5403
Upgraded
scm-recordfrom v0.4.0 to v0.5.0. See release notes athttps://github.com/arxanas/scm-record/releases/tag/v0.5.0.
The builtin pager is switched to
streampager. It can handle large
inputs better and can be configured.
Conflicts materialized in the working copy before
jj 0.19.0may no longerbe parsed correctly. If you are using version 0.18.0 or earlier, check out a
non-conflicted commit before upgrading to prevent issues.
Deprecations
New features
jj git {push,clone,fetch}can now spawn an externalgitsubprocess, viathe
git.subprocess = trueconfig knob. This provides an alternative that,when turned on, fixes SSH bugs when interacting with Git remotes due to
libgit2s limitations #4979.jj describenow accepts--edit.jj evologandjj op lognow accept--reversed.jj restorenow supports-i/--interactiveselection.jj file listnow supports templating.There is a new
builtin_op_log_onelinetemplate alias you can pass tojj op log -Tfor a more compact output. You can useformat_operation_onelineandformat_snapshot_operation_onelineto customize parts of it.New template function
config(name)to access to configuration variable fromtemplate.
New template function
pad_centered()to center content within a minimumwidth.
Templater now supports
list.filter(|x| ..)method.The
diffcommit template keyword now supports custom formatting viadiff.files(). For example,diff.files().map(|e| e.path().display())printschanged file paths.
The
diff.stat()template method now provides methods to get summary values.jj logcan now show cryptographic commit signatures. The output can becontrolled by the
ui.show-cryptographic-signatures=trueconfig knob. Thesignature template can be customized using
format_detailed_cryptographic_signature(signature)andformat_short_cryptographic_signature(signature).New
git.sign-on-pushconfig option to automatically sign commits which arebeing pushed to a Git remote.
New
git.push-new-bookmarksconfig option to push new bookmarks without--allow-new.jj statusnow shows untracked files when they reside directly under atracked directory. There's still an issue that files under untracked
directories aren't listed. #5389
New
merge-tools.<TOOL>.diff-expected-exit-codesconfig option to suppresswarnings from tools exiting with non-zero exit codes.
New
fix.tools.TOOL.enabledconfig option to enable/disable tools. This isuseful for defining disabled tools in user configuration that can be enabled
in individual repositories with one config setting.
Added
--intoflag tojj restore, similarly tojj squashandjj absorb. It is equivalent to--to, but--intois the recommended name.Italic text is now supported. You can set e.g.
color.error = { fg = "red", italic = true }in your config.New
author_name/author_email/committer_name/committer_email(pattern)revset functions to match either name or email field explicitly.
New
subject(pattern)revset function that matches first line of commitdescriptions.
Conditional configuration now supports
--when.commandsto changeconfiguration based on subcommand.
The Jujutsu documentation site now publishes a schema for the official
configuration file, which can be integrated into your editor for autocomplete,
inline errors, and more.
Please see the documentation for more
on this.
Fixed bugs
jj git fetchwith multiple remotes will now fetch from all remotes beforeimporting refs into the jj repo. This fixes a race condition where the
treatment of a commit that is found in multiple fetch remotes depended on the
order the remotes were specified.
Fixed diff selection by external tools with
jj split/commit -i FILESETS.#5252
Conditional configuration now applies when initializing new repository.
#5144
[diff.<format>]configuration now applies to.diff().<format>()committemplate methods.
Conflicts at the end of files which don't end with a newline character are
now materialized in a way that can be parsed correctly.
#3968
Bookmark and remote names written by
jj git clonetorevset-aliases.'trunk()'are now escaped if necessary.#5359
Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.26.0.
All reactions