Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jj 0.8.0 #136764

Merged
merged 2 commits into from
Jul 16, 2023
Merged

jj 0.8.0 #136764

merged 2 commits into from
Jul 16, 2023

Conversation

chenrui333
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
### Breaking changes
  • The jujutsu and jujutsu-lib crates were renamed to jj-cli and jj-lib,
    respectively.

  • The ui.oplog-relative-timestamps option has been removed. Use the
    format_time_range() template alias instead. For details, see
    the documentation.

  • Implicit concatenation of template expressions has been disabled. Use
    ++ operator, concat(), or separate() function instead.
    Example: description ++ "\n"

  • jj git push will consider pushing the parent commit only when the
    current commit has no content and no description, such as right after
    a jj squash.

  • The minimum supported Rust version (MSRV) is now 1.64.0.

  • The heads() revset function was split up into two functions. heads()
    without arguments is now called visible_heads(). heads() with one argument
    is unchanged.

  • The ui.default-revset config was renamed to revsets.log.

  • The jj sparse command was split up into jj sparse list and
    jj sparse set.

  • jj hide (alias for jj abandon) is no longer available. Use jj abandon
    instead.

  • jj debug completion, jj debug mangen and jj debug config-schema have
    been moved from jj debug to jj util.

  • jj will no longer parse br as a git_ref refs/heads/br when a branch br
    does not exist but the git_ref does (this is rare). Use br@git instead.

  • jj git fetch will no longer import unrelated branches from the underlying
    Git repo.

New features

  • jj git push --deleted will remove all locally deleted branches from the remote.

  • jj restore without --from works correctly even if @ is a merge
    commit.

  • jj rebase now accepts multiple -s and -b arguments. Revsets with
    multiple commits are allowed with --allow-large-revsets.

  • jj git fetch now supports a --branch argument to fetch some of the
    branches only.

  • jj config get command allows retrieving config values for use in scripting.

  • jj config set command allows simple config edits like
    jj config set --repo user.email "[email protected]"

  • Added ui.log-word-wrap option to wrap jj log/obslog/op log content
    based on terminal width. #1043

  • Nodes in the (text-based) graphical log output now use a symbol instead
    of the letter o. The ASCII-based graph styles still use o.

  • Commands that accept a diff format (jj diff, jj interdiff, jj show,
    jj log, and jj obslog) now accept --types to show only the type of file
    before and after.

  • jj describe now supports --reset-author for resetting a commit's author
    to the configured user. jj describe also gained a --no-edit option to
    avoid opening the editor.

  • Added latest(x[, n]) revset function to select the latest n commits.

  • Added conflict() revset function to select commits with conflicts.

  • jj squash AKA jj amend now accepts a --message option to set the
    description of the squashed commit on the command-line.

  • The progress display on jj git clone/fetch now includes the downloaded size.

  • The formatter now supports a "default" color that can override another color
    defined by a parent style.

  • jj obslog and jj log now show abandoned commits as hidden.

  • jj git fetch and jj git push will now use the single defined remote even
    if it is not named "origin".

  • jj git push now accepts --branch and --change arguments together.

  • jj git push now accepts a -r/--revisions flag to specify revisions to
    push. All branches pointing to any of the specified revisions will be pushed.
    The flag can be used together with --branch and --change.

  • jj with no subcommand now defaults to jj log instead of showing help. This
    command can be overridden by setting ui.default-command.

  • Description tempfiles created via jj describe now have the file extension
    .jjdescription to help external tooling detect a unique filetype.

  • The shortest unique change ID prefixes and commit ID prefixes in jj log are
    now shorter within the default log revset. You can override the default by
    setting the revsets.short-prefixes config to a different revset.

  • The last seen state of branches in the underlying git repo is now presented by
    jj branch list/jj log as a remote called git (e.g. main@git). They can
    also be referenced in revsets. Such branches exist in colocated repos or if
    you use jj git export.

  • The new jj chmod command allows setting or removing the executable bit on
    paths. Unlike the POSIX chmod, it works on Windows, on conflicted files, and
    on arbitrary revisions. Bits other than the executable bit are not planned to
    be supported.

  • jj sparse set now accepts an --edit flag which brings up the $EDITOR to
    edit sparse patterns.

  • jj branch list can now be filtered by revset.

  • Initial support for the Watchman filesystem monitor. Set
    core.fsmonitor = "watchman" in your repo to enable.

Fixed bugs

  • Modify/delete conflicts now include context lines
    #1244.

  • It is now possible to modify either side of a modify/delete conflict (any
    change used to be considered a resolution).

  • Fixed a bug that could get partially resolved conflicts to be interpreted
    incorrectly.

  • jj git fetch: when re-adding a remote repository that had been previously
    removed, in some situations the remote branches were not recreated.

  • jj git remote rename: the git remote references were not rewritten with
    the new name. If a new remote with the old name and containing the same
    branches was added, the remote branches may not be recreated in some cases.

  • jj workspace update-stale now snapshots the working-copy changes before
    updating to the new working-copy commit.

  • It is no longer allowed to create branches at the root commit.

  • git checkout (without using jj) in colocated repo no longer abandons
    the previously checked-out anonymous branch.
    #1042.

  • jj git fetch in a colocated repo now abandons branches deleted on the
    remote, just like in a non-colocated repo.
    #864

  • jj git fetch can now fetch forgotten branches even if they didn't move on
    the remote.
    #1714
    #1771

  • It is now possible to jj branch forget deleted branches.
    #1537

  • Fixed race condition when assigning change id to Git commit. If you've
    already had unreachable change ids, run jj debug reindex.
    #924

  • Fixed false divergence on racy working-copy snapshots.
    #697,
    #1608

  • In colocated repos, a bug causing conflicts when undoing branch moves (#922)
    has been fixed. Some surprising behaviors related to undoing jj git push or
    jj git fetch remain.

Contributors

Thanks to the people who made this release happen!

  • Aaron Bull Schaefer (@elasticdog)
  • Anton Bulakh (@necauqua)
  • Austin Seipp (@thoughtpolice)
  • Benjamin Saunders (@Ralith)
  • B Wilson (@xelxebar)
  • Christophe Poucet (@poucet)
  • David Barnett (@dbarnett)
  • Glen Choo (@chooglen)
  • Grégoire Geis (@71)
  • Ilya Grigoriev (@ilyagr)
  • Isabella Basso (@isinyaaa)
  • Kevin Liao (@kevincliao)
  • Martin von Zweigbergk (@martinvonz)
  • mlcui (@mlcui-google)
  • Samuel Tardieu (@samueltardieu)
  • Tal Pressman (@talpr)
  • Vamsi Avula (@avamsi)
  • Waleed Khan (@arxanas)
  • Yuya Nishihara (@yuja)

@github-actions github-actions bot added rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Jul 16, 2023
@chenrui333

This comment was marked as resolved.

jj: fix completion build and add manpage

Signed-off-by: Rui Chen <[email protected]>
@chenrui333 chenrui333 added the ready to merge PR can be merged once CI is green label Jul 16, 2023
@github-actions
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jul 16, 2023
@BrewTestBot BrewTestBot enabled auto-merge July 16, 2023 23:45
@BrewTestBot BrewTestBot added this pull request to the merge queue Jul 16, 2023
Merged via the queue into Homebrew:master with commit 26c5409 Jul 16, 2023
@github-actions github-actions bot added the outdated PR was locked due to age label Aug 16, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 16, 2023
@chenrui333 chenrui333 deleted the bump-jj-0.8.0 branch January 22, 2024 15:25
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. outdated PR was locked due to age ready to merge PR can be merged once CI is green rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants