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 status reports link in Fuchsia repo as removed #2878

Closed
martinvonz opened this issue Jan 23, 2024 · 4 comments
Closed

jj status reports link in Fuchsia repo as removed #2878

martinvonz opened this issue Jan 23, 2024 · 4 comments

Comments

@martinvonz
Copy link
Member

Steps to Reproduce the Problem

$ jj git clone https://fuchsia.googlesource.com/fuchsia
$ cd fuchsia
$ jj st
Working copy changes:
R third_party/rust_crates/intree/fuchsia-cprng
Working copy : pvlt 915e3db8 (no description set)
Parent commit: tluk 8b9bdc30 main master | [bt] Define the host-watcher crate

I haven't had time to figure out why it's happening. It may be relevant that the link points to a directory. We might not have any test coverage for that.

@ilyagr
Copy link
Contributor

ilyagr commented Jan 23, 2024

See also the Discord discussion for weirder-looking problems with snapshotting/materializing the working copy that the problem Martin demoed seems to cause if you try to work with that repo.

@yuja
Copy link
Contributor

yuja commented Jan 23, 2024

We have .metadata() call in gitigreno-special case. Perhaps, that's the source of the problem. I'll take a look.

https://github.com/martinvonz/jj/blob/57d5abab0ceabd8a441aff4d50d3280d59eca411/lib/src/local_working_copy.rs#L889-L911

@joyously
Copy link

So in jj, the R indicates removed?
I would expect D for delete and R for rename.

@martinvonz
Copy link
Member Author

So in jj, the R indicates removed?

Correct.

I would expect D for delete and R for rename.

Makes sense. That's what git status -s uses.

@yuja yuja closed this as completed in 5a7d8ac Jan 24, 2024
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Feb 13, 2024
## [0.14.0] - 2024-02-07

### 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](docs/glossary.md#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](jj-vcs/jj#2878)

* Fixed data loss in dirty working copy when checked-out branch is rebased or
  abandoned by Git.
  [#2876](jj-vcs/jj#2876)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants