update to 0.22.0
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/jujutsu?expand=0&rev=27
This commit is contained in:
commit
068101f40a
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
23
_service
Normal file
23
_service
Normal file
@ -0,0 +1,23 @@
|
||||
<services>
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="url">https://github.com/martinvonz/jj</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="exclude">.git</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="revision">v0.22.0</param>
|
||||
<param name="versionrewrite-pattern">v(.*)</param>
|
||||
<param name="changesgenerate">disable</param>
|
||||
<param name="filename">jujutsu</param>
|
||||
</service>
|
||||
<service name="set_version" mode="manual">
|
||||
</service>
|
||||
<service name="cargo_vendor" mode="manual">
|
||||
<param name="update">true</param>
|
||||
<param name="srcdir">jj</param>
|
||||
</service>
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
</services>
|
3
jj-0.18.0.obscpio
Normal file
3
jj-0.18.0.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9c20b2b26a9d97ccde20c500470af0767e78d59dc049bc3d22b1bd05a787b689
|
||||
size 5770765
|
3
jj-0.20.0.obscpio
Normal file
3
jj-0.20.0.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9c095c934750c53479446a3dce6f529a79c3d0b7c7e87e8a2f742e195c994e03
|
||||
size 6293005
|
3
jj-0.21.0.obscpio
Normal file
3
jj-0.21.0.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7a8a78e26e9d4eeef85188dbe0c633346b8b6ffe52557c4338373d54b2806b73
|
||||
size 6437389
|
4
jj.obsinfo
Normal file
4
jj.obsinfo
Normal file
@ -0,0 +1,4 @@
|
||||
name: jj
|
||||
version: 0.21.0
|
||||
mtime: 1725469873
|
||||
commit: d002a5ad35e624a731e96e85f490f28febc7797e
|
3
jujutsu-0.22.0.obscpio
Normal file
3
jujutsu-0.22.0.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ddfbcdd0dc1005aaf6226a26a3ed6f42beff4a7868e844b21ca478a304f9b68f
|
||||
size 7652877
|
782
jujutsu.changes
Normal file
782
jujutsu.changes
Normal file
@ -0,0 +1,782 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 3 12:13:57 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.22.0:
|
||||
* Breaking changes
|
||||
- Fixing #4239 means the ordering of some messages have
|
||||
changed.
|
||||
- Invalid ui.graph.style configuration is now an error.
|
||||
- The builtin template branch_list has been renamed to
|
||||
bookmark_list as part of the jj branch deprecation.
|
||||
* Deprecations
|
||||
- jj branch has been deprecated in favor of jj bookmark.
|
||||
- Rationale: Jujutsu's branches don't behave like Git branches,
|
||||
which a confused many newcomers, as they expected a similar
|
||||
behavior given the name. We've renamed them to "bookmarks"
|
||||
to match the actual behavior, as we think that describes them
|
||||
better, and they also behave similar to Mercurial's
|
||||
bookmarks.
|
||||
- jj obslog is now called jj evolution-log/jj evolog. jj obslog
|
||||
remains as an alias.
|
||||
- jj unsquash has been deprecated in favor of jj squash and jj
|
||||
diffedit --restore-descendants.
|
||||
- Rationale: jj squash can be used in interactive mode to pull
|
||||
changes from one commit to another, including from a parent
|
||||
commit to a child commit. For fine-grained dependent diffs,
|
||||
such as when the parent and the child commits must
|
||||
successively modify the same location in a file, jj diffedit
|
||||
--restore-descendants can be used to set the parent commit to
|
||||
the desired content without altering the content of the child
|
||||
commit.
|
||||
- The git.push-branch-prefix config has been deprecated in
|
||||
favor of git.push-bookmark-prefix.
|
||||
- conflict() and file() revsets have been renamed to
|
||||
conflicts() and files() respectively. The old names are still
|
||||
around and will be removed in a future release.
|
||||
* New features
|
||||
- The new config option snapshot.auto-track lets you
|
||||
automatically track only the specified paths (all paths by
|
||||
default). Use the new jj file track command to manually
|
||||
tracks path that were not automatically tracked. There is no
|
||||
way to list untracked files yet. Use git status in a
|
||||
colocated workspace as a workaround. #323
|
||||
- jj fix now allows fixing unchanged files with the
|
||||
--include-unchanged-files flag. This can be used to more
|
||||
easily introduce automatic formatting changes in a new commit
|
||||
separate from other changes.
|
||||
- jj workspace add now accepts a --sparse-patterns=<MODE>
|
||||
option, which allows control of the sparse patterns for a
|
||||
newly created workspace: copy (inherit from parent; default),
|
||||
full (full working copy), or empty (the empty working copy).
|
||||
- New command jj workspace rename that can rename the current
|
||||
workspace.
|
||||
- jj op log gained an option to include operation diffs.
|
||||
- jj git clone now accepts a --remote <REMOTE NAME> option,
|
||||
which allows to set a name for the remote instead of using
|
||||
the default origin.
|
||||
- jj op undo now reports information on the operation that has
|
||||
been undone.
|
||||
- jj squash: the -k flag can be used as a shorthand for
|
||||
--keep-emptied.
|
||||
- CommitId / ChangeId template types now support .normal_hex().
|
||||
- jj commit and jj describe now accept --author option allowing
|
||||
to quickly change author of given commit.
|
||||
- jj diffedit, jj abandon, and jj restore now accept a
|
||||
--restore-descendants flag. When used, descendants of the
|
||||
edited or deleted commits will keep their original content.
|
||||
- jj git fetch -b <remote-git-branch-name> will now warn if the
|
||||
branch(es) can not be found in any of the
|
||||
specified/configured remotes.
|
||||
- jj split now lets the user select all changes in interactive
|
||||
mode. This may be used to keeping all changes into the first
|
||||
commit while keeping the current commit description for the
|
||||
second commit (the newly created empty one).
|
||||
- Author and committer names are now yellow by default.
|
||||
* Fixed bugs
|
||||
- Update working copy before reporting changes. This prevents
|
||||
errors during reporting from leaving the working copy in a
|
||||
stale state.
|
||||
- Fixed panic when parsing invalid conflict markers of a
|
||||
particular form. (#2611)
|
||||
- Editing a hidden commit now makes it visible.
|
||||
- The present() revset now suppresses missing working copy
|
||||
error. For example, present(@) evaluates to none() if the
|
||||
current workspace has no working-copy commit.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 10 04:57:58 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.21.0:
|
||||
* Breaking changes
|
||||
- next/prev will no longer infer when to go into edit mode when
|
||||
moving from commit to commit. It now either follows the flags
|
||||
--edit|--no-edit or it gets the mode from ui.movement.edit.
|
||||
* Deprecations
|
||||
- jj untrack has been renamed to jj file untrack.
|
||||
* New features
|
||||
- Add new boolean config knob, ui.movement.edit for controlling
|
||||
the behaviour of prev/next. The flag turns edit mode on and
|
||||
off permanently when set respectively to true or false.
|
||||
- All diff formats except --name-only now include information
|
||||
about copies and moves. So do external diff tools in
|
||||
file-by-file mode. jj status also includes information about
|
||||
copies and moves.
|
||||
- Color-words diff has gained an option to display complex
|
||||
changes as separate lines. It's enabled by default. To
|
||||
restore the old behavior, set
|
||||
diff.color-words.max-inline-alternation = -1.
|
||||
- A tilde (~) at the start of the path will now be expanded to
|
||||
the user's home directory when configuring a signing.key for
|
||||
SSH commit signing.
|
||||
- When reconfiguring the author, warn that the working copy
|
||||
won't be updated
|
||||
* Fixed bugs
|
||||
- Release binaries for Intel Macs have been restored. They were
|
||||
previously broken due to using a sunset version of GitHub's
|
||||
macOS runners (but nobody had previously complained.)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 8 05:04:18 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.20.0:
|
||||
* Breaking changes
|
||||
- jj rebase --skip-empty has been renamed to jj rebase
|
||||
--skip-emptied
|
||||
- jj backout --revision has been renamed to jj backout
|
||||
--revisions. The short alias -r is still supported.
|
||||
- The default immutable_heads() set now includes
|
||||
untracked_remote_branches() with the assumption that
|
||||
untracked branches aren't managed by you. Therefore,
|
||||
untracked branches are no longer displayed in jj log by
|
||||
default.
|
||||
- Updated defaults for graph node symbol templates
|
||||
templates.log_node and templates.op_log_node.
|
||||
- The "fileset" language is now enabled by default. It can
|
||||
still be disable by setting ui.allow-filesets=false.
|
||||
- On jj git fetch/import, commits referred to by HEAD@git are
|
||||
no longer preserved. If a checked-out named branch gets
|
||||
deleted locally or remotely, the corresponding commits will
|
||||
be abandoned.
|
||||
- jj --at-op=@ no longer merges concurrent operations if
|
||||
explicitly specified.
|
||||
- jj obslog -p no longer shows diffs at non-partial squash
|
||||
operations. Previously, it showed the same diffs as the
|
||||
second predecessor.
|
||||
* Deprecations
|
||||
- The original configuration syntax for jj fix is now
|
||||
deprecated in favor of one that allows defining multiple
|
||||
tools that can affect different filesets.
|
||||
These can be used in combination for now. See jj help fix for
|
||||
details.
|
||||
* New features
|
||||
- External diff tools can now be configured to invoke the tool
|
||||
on each file individually instead of being passed a directory
|
||||
by setting
|
||||
merge-tools.$TOOL.diff-invocation-mode="file-by-file" in
|
||||
config.toml.
|
||||
- In git diffs, word-level hunks are now highlighted with
|
||||
underline. See diff colors and styles for customization.
|
||||
- New .diff().<format>() commit template methods are added.
|
||||
They can be used in order to show diffs conditionally. For
|
||||
example, if(current_working_copy, diff.summary()).
|
||||
- jj git clone and jj git init with an existing git repository
|
||||
adds the default branch of the remote as repository settings
|
||||
for revset-aliases."trunk()".`
|
||||
- jj workspace forget now abandons the workspace's working-copy
|
||||
commit if it was empty.
|
||||
- jj backout now includes the backed out commit's subject in
|
||||
the new commit message.
|
||||
- jj backout can now back out multiple commits at once.
|
||||
- jj git clone some/nested/path now creates the full directory
|
||||
tree for nested destination paths if they don't exist.
|
||||
- String patterns now support case‐insensitive matching by
|
||||
suffixing any pattern kind with -i. mine() uses
|
||||
case‐insensitive matching on your email address
|
||||
unconditionally. Only ASCII case folding is currently
|
||||
implemented, but this will likely change in the future.
|
||||
- String patterns now support regex:"pattern".
|
||||
- New tracked_remote_branches() and untracked_remote_branches()
|
||||
revset functions can be used to select tracked/untracked
|
||||
remote branches.
|
||||
- The file() revset function now accepts fileset as argument.
|
||||
- New diff_contains() revset function can be used to search
|
||||
diffs.
|
||||
- New command jj operation diff that can compare changes made
|
||||
between two operations.
|
||||
- New command jj operation show that can show the changes made
|
||||
in a single operation.
|
||||
- New config setting git.private-commits to prevent commits
|
||||
from being pushed.
|
||||
- The default commit description template can now be configured
|
||||
by templates.draft_commit_description.
|
||||
- jj fix can now be configured to run different tools on
|
||||
different filesets. This simplifies the use case of
|
||||
configuring code formatters for specific file types. See jj
|
||||
help fix for details.
|
||||
- Added revset functions author_date and committer_date.
|
||||
- jj describe can now update the description of multiple
|
||||
commits.
|
||||
* Fixed bugs
|
||||
- jj status will show different messages in a conflicted tree,
|
||||
depending on the state of the working commit. In particular,
|
||||
if a child commit fixes a conflict in the parent, this will
|
||||
be reflected in the hint provided by jj status
|
||||
- jj diff --git no longer shows the contents of binary files.
|
||||
- Windows binaries no longer require vcruntime140.dll to be
|
||||
installed (normally through Visual Studio.)
|
||||
- On quit, the builtin pager no longer waits for all outputs to
|
||||
be discarded.
|
||||
- jj branch rename no longer shows a warning in colocated
|
||||
repos.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 11 05:39:28 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.19.0:
|
||||
* Breaking changes
|
||||
- In revset aliases, top-level kind:pattern expression is now
|
||||
parsed as modifier. Surround with parentheses if it should be
|
||||
parsed as string/file pattern.
|
||||
- Dropped support for automatic upgrade of repo formats used by
|
||||
versions before 0.12.0.
|
||||
- jj fix now defaults to the broader revset -s reachable(@,
|
||||
mutable()) instead of -s @.
|
||||
- Dropped support for deprecated jj branch delete/forget --glob
|
||||
option.
|
||||
- jj branch set now creates new branch if it doesn't exist. Use
|
||||
jj branch move to ensure that the target branch already
|
||||
exists. #3584
|
||||
* Deprecations
|
||||
- Replacing -l shorthand for --limit with -n in jj log, jj op
|
||||
log and jj obslog.
|
||||
- jj split --siblings is deprecated in favor of jj split
|
||||
--parallel (to match jj parallelize).
|
||||
- A new jj file subcommand now replaces several existing
|
||||
uncategorized commands, which are deprecated.
|
||||
- jj file show replaces jj cat.
|
||||
- jj file chmod replaces jj chmod.
|
||||
- jj file list replaces jj files.
|
||||
* New features
|
||||
- Support background filesystem monitoring via watchman
|
||||
triggers enabled with the
|
||||
core.watchman.register_snapshot_trigger = true config.
|
||||
- Show paths to config files when configuration errors occur.
|
||||
- jj fix now supports configuring the default revset for -s
|
||||
using the revsets.fix config.
|
||||
- The descendants() revset function now accepts an optional
|
||||
depth argument; like the ancestors() depth argument, it
|
||||
limits the depth of the set.
|
||||
- Revset/template aliases now support function overloading.
|
||||
#2966
|
||||
- Conflicted files are individually simplified before being
|
||||
materialized.
|
||||
- The jj file subcommand now contains several existing file
|
||||
utilities.
|
||||
- jj file show, replacing jj cat.
|
||||
- jj file chmod replacing jj chmod.
|
||||
- jj file list replacing jj files.
|
||||
- New command jj branch move let you update branches by name
|
||||
pattern or source revision.
|
||||
- New diff option jj diff --name-only allows for easier shell
|
||||
scripting.
|
||||
- In color-words diffs, hunks are now highlighted with
|
||||
underline. See diff colors and styles for customization.
|
||||
- jj git push -c <arg> can now accept revsets that resolve to
|
||||
multiple revisions. This means that jj git push -c xyz -c abc
|
||||
is now equivalent to jj git push -c 'all:(xyz | abc)'.
|
||||
- jj prev and jj next have gained a --conflict flag which moves
|
||||
you to the next conflict in a child commit.
|
||||
- New command jj git remote set-url that sets the url of a git
|
||||
remote.
|
||||
- Author timestamp is now reset when rewriting discardable
|
||||
commits (empty commits with no description) if authored by
|
||||
the current user. #2000
|
||||
- jj commit now accepts --reset-author option to match jj
|
||||
describe.
|
||||
- jj squash now accepts a --keep-emptied option to keep the
|
||||
source commit.
|
||||
* Fixed bugs
|
||||
- jj git push now ignores immutable commits when checking
|
||||
whether a to-be-pushed commit has conflicts, or has no
|
||||
description / committer / author set. #3029
|
||||
- jj will look for divergent changes outside the short prefix
|
||||
set even if it finds the change id inside the short prefix
|
||||
set. #2476
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 7 20:02:25 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.18.0:
|
||||
* Breaking changes
|
||||
- Dropped support for ui.default-revset config (replaced by
|
||||
revsets.log in 0.8.0).
|
||||
- The commit_summary_no_branches template is superseded by
|
||||
templates.branch_list.
|
||||
- jj split will now refuse to split an empty commit.
|
||||
- jj config list now uses multi-line strings and single-quoted
|
||||
strings in the output when appropriate.
|
||||
- jj config get/list/set now parse name argument as TOML key.
|
||||
Quote meta characters as needed. Example: jj config get
|
||||
"revset-aliases.'trunk()'"
|
||||
- When updating the working copy away from an empty and
|
||||
undescribed commit, it is now abandoned even if it is a merge
|
||||
commit.
|
||||
- If a new working-copy commit is created because the old one
|
||||
was abandoned, and the old commit was merge, then the new
|
||||
commit will now also be. #2859
|
||||
- jj new's --insert-before/--insert-after options must now be
|
||||
set for each commit the new commit will be inserted
|
||||
before/after. Previously, those options were global flags and
|
||||
specifying them once would insert the new commit before/
|
||||
after all the specified commits.
|
||||
* Deprecations
|
||||
- Attempting to alias a built-in command now gives a warning, rather than being
|
||||
silently ignored.
|
||||
* New features
|
||||
- jj branch list/tag list now accept -T/--template option. The
|
||||
tag list prints commit summary along with the tag name by
|
||||
default.
|
||||
- Conflict markers now include an explanation of what each part
|
||||
of the conflict represents.
|
||||
- ui.color = "debug" prints active labels alongside the regular
|
||||
colored output.
|
||||
- jj branch track now show conflicts if there are some.
|
||||
- A new revset reachable(srcs, domain) will return all commits
|
||||
that are reachable from srcs within domain.
|
||||
- There are now prebuilt binaries for
|
||||
aarch64-linux-unknown-musl. Note, these are cross compiled
|
||||
and currently untested. We plan on providing fully tested
|
||||
builds later once our CI system allows it.
|
||||
- Added new revsets mutable() and immutable().
|
||||
- Upgraded scm-record from v0.2.0 to v0.3.0. See release notes
|
||||
at https://github.com/arxanas/scm-record/releases/tag/v0.3.0
|
||||
- New command jj fix that can be configured to update commits
|
||||
by running code formatters (or similar tools) on changed
|
||||
files. The configuration schema and flags are minimal for
|
||||
now, with a number of improvements planned (for example,
|
||||
#3800 and #3801).
|
||||
- jj new's --insert-before and --insert-after options can now
|
||||
be used simultaneously.
|
||||
- jj git push now can push commits with empty descriptions with
|
||||
the --allow-empty-description flag
|
||||
* Fixed bugs
|
||||
- Previously, jj git push only made sure that the branch is in
|
||||
the expected location on the remote server when pushing a
|
||||
branch forward (as opposed to sideways or backwards). Now, jj
|
||||
git push makes a safety check in all cases and fails whenever
|
||||
jj git fetch would have introduced a conflict.
|
||||
In other words, previously branches that moved sideways or
|
||||
backward were pushed similarly to Git's git push --force; now
|
||||
they have protections similar to git push --force-with-lease
|
||||
(though not identical to it, to match the behavior of jj git
|
||||
fetch). Note also that because of the way jj git fetch works,
|
||||
jj does not suffer from the same problems as Git's git push
|
||||
--force-with-lease in situations when git fetch is run in the
|
||||
background.
|
||||
- When the working copy commit becomes immutable, a new one is
|
||||
automatically created on top of it to avoid letting the user
|
||||
edit the immutable one.
|
||||
- jj config list now properly escapes TOML keys (#1322).
|
||||
- Files with conflicts are now checked out as executable if all
|
||||
sides of the conflict are executable.
|
||||
- The progress bar (visible when using e.g. jj git clone)
|
||||
clears the remainder of the cursor row after drawing rather
|
||||
than clearing the entire row before drawing, eliminating the
|
||||
"flicker" effect seen on some terminals.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 8 06:55:40 UTC 2024 - Gordon Leung <pirateclip@protonmail.com>
|
||||
|
||||
- update to 0.17.1:
|
||||
* jj status no longer scans through the entire history to look
|
||||
for ancestors with conflicts.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 2 17:49:33 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.17.0:
|
||||
* Breaking changes
|
||||
- The default template aliases were replaced as follows:
|
||||
builtin_op_log_root(op_id: OperationId) ->
|
||||
format_root_operation(root: Operation)
|
||||
builtin_log_root(change_id: ChangeId, commit_id: CommitId) ->
|
||||
format_root_commit(root: Commit)
|
||||
builtin_change_id_with_hidden_and_divergent_info ->
|
||||
format_short_change_id_with_hidden_and_divergent_info(commit: Commit)
|
||||
- The --revision option of jj rebase is renamed to --revisions.
|
||||
The short alias -r is still supported.
|
||||
* New features
|
||||
- The list of conflicted paths is printed whenever the working
|
||||
copy changes.
|
||||
This can be disabled with the --quiet option.
|
||||
- Commit objects in templates now have a mine() -> Boolean
|
||||
method analog to the same function in revsets. It evaluates
|
||||
to true if the email of the commit author matches the current
|
||||
user.email.
|
||||
- Commit objects in templates now have a contained_in(revset:
|
||||
String) -> Boolean method.
|
||||
- Operation objects in templates now have a snapshot() ->
|
||||
Boolean method that evaluates to true if the operation was a
|
||||
snapshot created by a non-mutating command (e.g. jj log).
|
||||
- Revsets and templates now support single-quoted raw string
|
||||
literals.
|
||||
- A new config option ui.always-allow-large-revsets has been
|
||||
added to allow large revsets expressions in some commands,
|
||||
without the all: prefix.
|
||||
- A new config option ui.allow-filesets has been added to
|
||||
enable "fileset" expressions. Note that filesets are
|
||||
currently experimental, but will be enabled by default in a
|
||||
future release.
|
||||
- A new global flag --ignore-immutable lets you rewrite
|
||||
immutable commits.
|
||||
- New command jj parallelize that rebases a set of revisions
|
||||
into siblings.
|
||||
- jj status now supports filtering by paths. For example, jj
|
||||
status . will only list changed files that are descendants of
|
||||
the current directory.
|
||||
- jj prev and jj next now work when the working copy revision
|
||||
is a merge.
|
||||
- jj squash now accepts a --use-destination-message/-u option
|
||||
that uses the description of the destination for the new
|
||||
squashed revision and discards the descriptions of the source
|
||||
revisions.
|
||||
- You can check whether Watchman fsmonitor is enabled or
|
||||
installed with the new jj debug watchman status command.
|
||||
- jj rebase now accepts revsets resolving to multiple revisions
|
||||
with the --revisions/-r option.
|
||||
- jj rebase -r now accepts --insert-after and --insert-before
|
||||
options to customize the location of the rebased revisions.
|
||||
* Fixed bugs
|
||||
- Revsets now support \-escapes in string literal.
|
||||
- The builtin diff editor now allows empty files to be selected
|
||||
during jj split.
|
||||
- Fixed a bug with jj split introduced in 0.16.0 that caused it
|
||||
to incorrectly rebase the children of the revision being
|
||||
split if they had other parents (i.e. if the child was a
|
||||
merge).
|
||||
- The snapshot.max-new-file-size option can now handle raw
|
||||
integer literals, interpreted as a number of bytes, where
|
||||
previously it could only handle string literals. This means
|
||||
that snapshot.max-new-file-size="1" and
|
||||
snapshot.max-new-file-size=1 are now equivalent.
|
||||
- jj squash <path> is now a no-op if the path argument didn't
|
||||
match any paths (it used to create new commits with bumped
|
||||
timestamp). #3334
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 4 05:15:23 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.16.0:
|
||||
* Deprecations
|
||||
- jj move was deprecated in favor of jj squash.
|
||||
* Breaking changes
|
||||
- The git_head template keyword now returns an optional value
|
||||
instead of a list of 0 or 1 element.
|
||||
- The jj sparse set --edit/--reset flags were split up into jj
|
||||
sparse edit/reset subcommands respectively.
|
||||
- The jj sparse subcommands now parse and print patterns as
|
||||
workspace-relative paths.
|
||||
- The jj log command no longer uses the default revset when a
|
||||
path is specified.
|
||||
* New features
|
||||
- Config now supports rgb hex colors (in the form #rrggbb)
|
||||
wherever existing color names are supported.
|
||||
- ui.default-command now accepts multiple string arguments, for
|
||||
more complex default jj commands.
|
||||
- Graph node symbols are now configurable via templates
|
||||
* templates.log_node
|
||||
* templates.op_log_node
|
||||
- jj log now includes synthetic nodes in the graph where some
|
||||
revisions were elided.
|
||||
- jj squash now accepts --from and --into (also aliased as
|
||||
--to) if -r is not specified. It can now be used for all use
|
||||
cases where jj move could previously be used. The --from
|
||||
argument accepts a revset that resolves to more than one
|
||||
revision.
|
||||
- Commit templates now support immutable keyword.
|
||||
- New template function coalesce(content, ..) is added.
|
||||
- Timestamps are now shown in local timezone and without
|
||||
milliseconds and timezone offset by default.
|
||||
- jj git push now prints messages from the remote.
|
||||
- jj branch list now supports a --conflicted/-c option to show
|
||||
only conflicted branches.
|
||||
- jj duplicate and jj abandon can now take more than a single
|
||||
-r argument, for consistency with other commands.
|
||||
- jj branch list now allows combining -r REVISIONS/NAMES and -a
|
||||
options.
|
||||
- --all is now named --all-remotes for jj branch list
|
||||
- There is a new global --quiet flag to silence commands'
|
||||
non-primary output.
|
||||
- jj split now supports a --siblings/-s option that splits the
|
||||
target revision into siblings with the same parents and
|
||||
children.
|
||||
- new function working_copies() for revsets to show the working
|
||||
copy commits of all workspaces.
|
||||
* Fixed bugs
|
||||
- None
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 16 17:29:53 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.15.1:
|
||||
* No code changes (fixing Rust Cargo.toml stuff).
|
||||
- BuildRequire gnupg to fix failing tests
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 16 17:09:19 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.15.0:
|
||||
* Breaking changes
|
||||
- The minimum supported Rust version (MSRV) is now 1.76.0.
|
||||
- The on-disk index format changed. New index files will be
|
||||
created automatically, but it can fail if the repository is
|
||||
co-located and predates Git GC issues #815. If reindexing
|
||||
failed, you'll need to clean up corrupted operation history
|
||||
by jj op abandon ..<bad operation ID>.
|
||||
- Dropped support for the "legacy" graph-drawing style. Use
|
||||
"ascii" for a very similar result.
|
||||
- The default log output no longer lists all tagged heads. Set
|
||||
revsets.log = "@ | ancestors(immutable_heads().., 2) |
|
||||
heads(immutable_heads())" to restore the old behavior.
|
||||
- Dropped support for the deprecated : revset operator. Use ::
|
||||
instead.
|
||||
- jj rebase --skip-empty no longer abandons commits that were
|
||||
already empty before the rebase.
|
||||
* New features
|
||||
- Partial support for commit signing. Currently you can
|
||||
configure jj to "keep" commit signatures by making new ones
|
||||
for rewritten commits, and to sign new commits when they are
|
||||
created.
|
||||
This comes with out-of-the-box support for the following
|
||||
backends:
|
||||
— GnuPG
|
||||
- SSH
|
||||
- Signature verification and an explicit sign command will
|
||||
hopefully come soon.
|
||||
- Templates now support logical operators: ||, &&, !
|
||||
- Templates now support the self keyword, which is the current
|
||||
commit in jj log/obslog templates.
|
||||
- jj show now accepts -T/--template option to render its output
|
||||
using template
|
||||
- jj config list now accepts -T/--template option.
|
||||
- jj git fetch now accepts -b as a shorthand for --branch,
|
||||
making it more consistent with other commands that accept a
|
||||
branch
|
||||
- In the templating language, Timestamps now have a .local()
|
||||
method for converting to the local timezone.
|
||||
- jj next/prev now infer --edit when you're already editing a
|
||||
non-head commit (a commit with children).
|
||||
- A new built-in pager named :builtin is available on all
|
||||
platforms, implemented with minus
|
||||
- Set config ui.log-synthetic-elided-nodes = true to make jj
|
||||
log include synthetic nodes in the graph where some revisions
|
||||
were elided (#1252, #2971). This may become the default
|
||||
depending on feedback.
|
||||
- When creating a new workspace, the sparse patterns are now
|
||||
copied over from the current workspace.
|
||||
- jj git init --colocate can now import an existing Git
|
||||
repository. This is equivalent to jj git init --git-repo=..
|
||||
- jj git fetch now automatically prints new remote branches and
|
||||
tags by default.
|
||||
- --verbose/-v is now --debug (no short option since it's not
|
||||
intended to be used often)
|
||||
- jj move --from/--to can now be abbreviated to jj move -f/-t
|
||||
- jj commit/diffedit/move/resolve/split/squash/unsquash now
|
||||
accept --tool=<NAME> option to override the default. #2575
|
||||
- Added completions for Nushell to jj util completion
|
||||
- jj branch list now supports a --tracked/-t option which can
|
||||
be used to show tracked branches only. Omits local
|
||||
Git-tracking branches by default.
|
||||
- Commands producing diffs now accept a --context flag for the
|
||||
number of lines of context to show.
|
||||
- jj commands with the -T/--template option now provide a hint
|
||||
containing defined template names when no argument is given,
|
||||
assisting the user in making a selection.
|
||||
* Fixed bugs
|
||||
- On Windows, symlinks in the repo are now supported when
|
||||
Developer Mode is enabled. When symlink support is
|
||||
unavailable, they will be materialized as regular files in
|
||||
the working copy (instead of resulting in a crash). #2
|
||||
- On Windows, the :builtin pager is now used by default, rather
|
||||
than being disabled entirely.
|
||||
- Auto-rebase now preserves the shape of history even for merge
|
||||
commits where one parent is an ancestor of another. #2600
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 8 06:50:56 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.14.0:
|
||||
* Deprecations
|
||||
- jj checkout and jj merge are both deprecated; use jj new
|
||||
instead to replace both of these commands in all instances.
|
||||
Rationale: jj checkout and jj merge both implement identical
|
||||
functionality, which is a subset of jj new. checkout creates
|
||||
a new working copy commit on top of a single specified
|
||||
revision, i.e. with one parent. merge creates a new working
|
||||
copy commit on top of at least two specified revisions, i.e.
|
||||
with two or more parents.
|
||||
The only difference between these commands and jj new, which
|
||||
also creates a new working copy commit, is that new can
|
||||
create a working copy commit on top of any arbitrary number
|
||||
of revisions, so it can handle both the previous cases at
|
||||
once. The only actual difference between these three commands
|
||||
is the command syntax and their name. These names were chosen
|
||||
to be familiar to users of other version control systems, but
|
||||
we instead encourage all users to adopt jj new instead; it is
|
||||
more general and easier to remember than both of these.
|
||||
jj checkout and jj merge will no longer be shown as part of
|
||||
jj help, but will still function for now, emitting a warning
|
||||
about their deprecation.
|
||||
Deadline: jj checkout and jj merge will be deleted and are
|
||||
expected become a hard error later in 2024.
|
||||
- jj init --git and jj init --git-repo are now deprecated and
|
||||
will be removed in the near future. Use jj git init instead.
|
||||
* Breaking changes
|
||||
- (Minor) Diff summaries (e.g. jj diff -s) now use D for
|
||||
"Deleted" instead of R for "Removed". @joyously pointed out
|
||||
that R could also mean "Renamed".
|
||||
- jj util completion now takes the shell as a positional
|
||||
argument, not a flag. the previous behavior is deprecated,
|
||||
but supported for now. it will be removed in the future.
|
||||
* New features
|
||||
- jj util completion now supports powershell and elvish.
|
||||
- Official binaries for macOS running on Apple Silicon
|
||||
(aarch64-apple-darwin) are now available, alongside the
|
||||
existing macOS x86 binaries.
|
||||
- New jj op abandon command is added to clean up the operation
|
||||
history. Git refs and commit objects can be further compacted
|
||||
by jj util gc.
|
||||
- jj util gc now removes unreachable operation, view, and Git
|
||||
objects.
|
||||
- jj branch rename will now warn if the renamed branch has a
|
||||
remote branch, since those will have to be manually renamed
|
||||
outside of jj.
|
||||
- jj git push gained a --tracked option, to push all the
|
||||
tracked branches.
|
||||
- There's now a virtual root operation, similar to the virtual
|
||||
root commit. It appears at the end of jj op log.
|
||||
- jj config list gained a --include-overridden option to allow
|
||||
printing overridden config values.
|
||||
- jj config list now accepts --user or --repo option to specify
|
||||
config origin.
|
||||
- New jj config path command to print the config file path
|
||||
without launching an editor.
|
||||
- jj tag list command prints imported git tags.
|
||||
- jj next and jj prev now prompt in the event of the
|
||||
next/previous commit being ambiguous, instead of failing
|
||||
outright.
|
||||
- jj resolve now displays the file being resolved.
|
||||
- jj workspace root was aliased to jj root, for ease of
|
||||
discoverability
|
||||
- jj diff no longer shows the contents of binary files.
|
||||
- jj git now has an init command that initializes a git backed
|
||||
repo.
|
||||
- New template function surround(prefix, suffix, content) is
|
||||
added.
|
||||
* Fixed bugs
|
||||
- Fixed snapshots of symlinks in gitignore-d directory. #2878
|
||||
- Fixed data loss in dirty working copy when checked-out branch
|
||||
is rebased or abandoned by Git. #2876
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 7 15:42:43 UTC 2024 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
|
||||
|
||||
- update to 0.13.0:
|
||||
* Breaking changes
|
||||
- `jj git fetch` no longer imports new remote branches as local
|
||||
branches. Set `git.auto-local-branch = true` to restore the
|
||||
old behavior.
|
||||
* New features
|
||||
- Information about new and resolved conflicts is now printed
|
||||
by every command.
|
||||
- `jj branch` has gained a new `rename` subcommand that allows
|
||||
changing a branch name atomically. `jj branch help rename`
|
||||
for details.
|
||||
* Fixed bugs
|
||||
- Command aliases can now be loaded from repository config
|
||||
relative to the current working directory.
|
||||
[#2414](https://github.com/martinvonz/jj/issues/2414)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 6 12:15:35 UTC 2023 - Johannes Kastl <kastl@b1-systems.de>
|
||||
|
||||
- update to 0.12.0:
|
||||
* Breaking changes
|
||||
- The remote_branches() revset no longer includes branches
|
||||
exported to the Git repository (so called Git-tracking
|
||||
branches.)
|
||||
- jj branch set no longer creates a new branch. Use jj branch
|
||||
create instead.
|
||||
- jj init --git in an existing Git repository now errors and
|
||||
exits rather than creating a second Git store.
|
||||
* New features
|
||||
- jj workspace add can now take multiple --revision arguments,
|
||||
which will create a new workspace with its working-copy
|
||||
commit on top of all the parents, as if you had run
|
||||
jj new r1 r2 r3 ....
|
||||
- You can now set git.abandon-unreachable-commits = false to
|
||||
disable the usual behavior where commits that became
|
||||
unreachable in the Git repo are abandoned (#2504).
|
||||
- jj new gained a --no-edit option to prevent editing the newly
|
||||
created commit. For example, jj new a b --no-edit -m Merge
|
||||
creates a merge commit without affecting the working copy.
|
||||
- jj rebase now takes the flag --skip-empty, which doesn't copy
|
||||
over commits that would become empty after a rebase.
|
||||
- There is a new jj util gc command for cleaning up the
|
||||
repository storage. For now, it simply runs git gc on the
|
||||
backing Git repo (when using the Git backend).
|
||||
* Fixed bugs
|
||||
- Fixed another file conflict resolution issue where jj status
|
||||
would disagree with the actual file content. #2654
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 01 19:12:45 UTC 2023 - kastl@b1-systems.de
|
||||
|
||||
- Update to version 0.11.0:
|
||||
* Breaking changes
|
||||
- Conflicts are now stored in a different way. Commits written
|
||||
by a new jj binary will not be read correctly by older jj
|
||||
binaries. The new model solves some performance problems with
|
||||
the old model. For example, jj log should be noticeably
|
||||
faster on large repos. You may need to create a new clone to
|
||||
see the full speedup.
|
||||
- The remote_branches() revset now includes branches exported
|
||||
to the Git repository (so called Git-tracking branches.) Use
|
||||
remote_branches(remote=exact:"origin") to query branches of
|
||||
certain remote.
|
||||
- Status messages are now printed to stderr.
|
||||
- jj config set now interprets the value as TOML also if it's a
|
||||
valid TOML array or table. For example, jj config set --user
|
||||
'aliases.n' '["new"]'
|
||||
- Remote branches now have tracking or non-tracking flags. The
|
||||
git.auto-local-branch setting is applied only to newly
|
||||
fetched remote branches. Existing remote branches are
|
||||
migrated as follows:
|
||||
- If local branch exists, the corresponding remote branches
|
||||
are considered tracking branches.
|
||||
- Otherwise, the remote branches are non-tracking branches.
|
||||
- If the deduced tracking flags are wrong, use jj branch
|
||||
track/untrack commands to fix them up.
|
||||
- See automatic local branch creation for details.
|
||||
- Non-tracking remote branches aren't listed by default. Use jj
|
||||
branch list --all to show all local and remote branches.
|
||||
- It's not allowed to push branches if non-tracking remote
|
||||
branches of the same name exist.
|
||||
- Pushing deleted/moved branches no longer abandons the local
|
||||
commits referenced by the remote branches.
|
||||
- jj git fetch --branch now requires glob: prefix to expand *
|
||||
in branch name.
|
||||
* New features
|
||||
- jj's stable release can now be installed with cargo binstall
|
||||
jj-cli.
|
||||
- jj workspace add now takes a --revision argument.
|
||||
- jj workspace forget can now forget multiple workspaces at
|
||||
once.
|
||||
- branches()/remote_branches()/author()/committer()/description()
|
||||
revsets now support glob matching.
|
||||
- jj branch delete/forget/list, and jj git push --branch now
|
||||
support string pattern syntax. The --glob option is
|
||||
deprecated in favor of glob: pattern.
|
||||
- The branches/tags/git_refs/git_head template keywords now
|
||||
return a list of RefNames. They were previously pre-formatted
|
||||
strings.
|
||||
- The new template keywords local_branches/remote_branches are
|
||||
added to show only local/remote branches.
|
||||
- jj workspace add now preserves all parents of the old
|
||||
working-copy commit instead of just the first one.
|
||||
- jj rebase -r gained the ability to rebase a revision A onto a
|
||||
descendant of A.
|
||||
* Fixed bugs
|
||||
- Updating the working copy to a commit where a file that's
|
||||
currently ignored in the working copy no longer leads to a
|
||||
crash (#976).
|
||||
- Conflicts in executable files can now be resolved just like
|
||||
conflicts in non-executable files (#1279).
|
||||
- jj new --insert-before and --insert-after now respect
|
||||
immutable revisions (#2468).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 9 15:49:09 UTC 2023 - Johannes Kastl <kastl@b1-systems.de>
|
||||
|
||||
- new package jujutsu: A Git-compatible DVCS that is both simple
|
||||
and powerful
|
4
jujutsu.obsinfo
Normal file
4
jujutsu.obsinfo
Normal file
@ -0,0 +1,4 @@
|
||||
name: jujutsu
|
||||
version: 0.22.0
|
||||
mtime: 1727889920
|
||||
commit: 67c2ae0a9e3e445f034a456b299e3f37c4dc4b93
|
81
jujutsu.spec
Normal file
81
jujutsu.spec
Normal file
@ -0,0 +1,81 @@
|
||||
#
|
||||
# spec file for package jujutsu
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define binary_name jj
|
||||
|
||||
Name: jujutsu
|
||||
Version: 0.22.0
|
||||
Release: 0
|
||||
Summary: Git-compatible DVCS that is both simple and powerful
|
||||
License: MIT
|
||||
URL: https://github.com/martinvonz/jj
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
Source1: vendor.tar.zst
|
||||
BuildRequires: cargo >= 1.76
|
||||
BuildRequires: cargo-packaging
|
||||
BuildRequires: gnupg
|
||||
BuildRequires: openssh-common
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: zstd
|
||||
|
||||
# serde_bser fails to compile on s390x
|
||||
# error[E0599]: no method named `put_f64_be` found for struct `Vec<u8>` in the current scope
|
||||
ExcludeArch: s390x
|
||||
|
||||
%description
|
||||
Jujutsu is a Git-compatible DVCS. It combines features from Git (data model,
|
||||
speed), Mercurial (anonymous branching, simple CLI free from "the index",
|
||||
revsets, powerful history-rewriting), and Pijul/Darcs (first-class conflicts),
|
||||
with features not found in most of them (working-copy-as-a-commit, undo
|
||||
functionality, automatic rebase, safe replication via rsync, Dropbox, or
|
||||
distributed file system).
|
||||
|
||||
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 "Jujutsu" because it
|
||||
matches "jj".
|
||||
|
||||
Jujutsu is relatively young, with lots of work to still be done. If you have
|
||||
any questions, or want to talk about future plans, please join us on Discord
|
||||
Discord or start a GitHub Discussion; the developers monitor both channels.
|
||||
|
||||
Important
|
||||
Jujutsu is an experimental version control system. While Git compatibility is
|
||||
stable, and most developers use it daily for all their needs, there may still
|
||||
be work-in-progress features, suboptimal UX, and workflow gaps that make it
|
||||
unusable for your particular use.
|
||||
|
||||
%prep
|
||||
%autosetup -p 1 -a 1
|
||||
|
||||
%build
|
||||
%{cargo_build}
|
||||
|
||||
%install
|
||||
install -D -d -m 0755 %{buildroot}%{_bindir}
|
||||
install -m 0755 %{_builddir}/%{name}-%{version}/target/release/%{binary_name} %{buildroot}%{_bindir}/%{binary_name}
|
||||
|
||||
%check
|
||||
rm -rf tests/contest/
|
||||
%{cargo_test}
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/%{binary_name}
|
||||
|
||||
%changelog
|
3
vendor.tar.zst
Normal file
3
vendor.tar.zst
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a7cda8f0abc00e59e92d5d661d46e69333f92c39e733afcc3fe149036dc5eb65
|
||||
size 39986467
|
Loading…
Reference in New Issue
Block a user