# Is there an equivalent of \`git status\`?

**URL:** <https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690>\
**Category:** Question\
**Created:** [December 16, 2020, 6:27pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690 "2020-12-16T18:27:33Z")\
**Posts on this page:** 11\
**Page:** 2

<div class="post-metadata">

**Author:** ![eschnett](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/eschnett/32/107_2.png) [@eschnett](https://discourse.pijul.org/u/eschnett)\
**Post date:** [February 18, 2021, 8:50pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/21 "2021-02-18T20:50:10Z")

</div>

A graphical user interface would show certain basic information at a glance, always visible. A shell tool can’t, of course. `git status` solves that problem. A `pijul status` would be convenient to that effect as well:

- current channel
- remote repo
- files that are not tracked
- files that are changed but not added
- files that are added but not recorded

`git status` also shows which commands should be used to undo such changes. It’s an important part of my workflow. The working directory, tree, and pristine carry a lot of state, and a `status` command would help people not to accidentally miss anything.

---

<div class="post-metadata">

**Author:** ![mwchase](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/mwchase/32/182_2.png) [@mwchase](https://discourse.pijul.org/u/mwchase)\
**Post date:** [February 24, 2021, 9:47pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/22 "2021-02-24T21:47:00Z")

</div>

Would it be better to discuss potential tooling that would benefit from a status-like command here, or in a topic dedicated to that tooling, and any feature requests it may generate? I’ve got something I want to work on inspired by [cruft](https://github.com/cruft/cruft), but with pijul instead of git, and a somewhat different workflow. For this kind of automated, change the repo state tooling, it would be really helpful to have an equivalent of the command that cruft uses, `git status --porcelain`, which outputs a minimal list of filenames that don’t correspond to the state of the repository head, and are not ignored.

---

<div class="post-metadata">

**Author:** ![pmeunier](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/pmeunier/32/4_2.png) [@pmeunier](https://discourse.pijul.org/u/pmeunier)\
**Post date:** [February 24, 2021, 10:00pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/23 "2021-02-24T22:00:50Z")

</div>

That would be really helpful indeed. I’m not making much progress on this question at the moment, because I’m changing the backend in Pijul, and that is a massive job.

---

<div class="post-metadata">

**Author:** ![mwchase](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/mwchase/32/182_2.png) [@mwchase](https://discourse.pijul.org/u/mwchase)\
**Post date:** [April 17, 2021, 11:27pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/24 "2021-04-17T23:27:42Z")

</div>

I just now put together that it’s probably a smaller conceptual leap to talk about _Darcs_ interface features that sound useful (or have been useful, if you have Darcs experience). So, I think what I would like is some equivalent to `darcs whatsnew --look-for-adds`.

I had more I was going to say here, before I realized that I have some related issues about Pijul’s existing commands that I think should be discussed elsewhere. I’m not sure whether “here are these subcommands that I think should act differently” is best in a new thread here, on the Nest, in Zulip, or somewhere else.

---

<div class="post-metadata">

**Author:** ![bdarcus](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/bdarcus/32/350_2.png) [@bdarcus](https://discourse.pijul.org/u/bdarcus)\
**Post date:** [April 21, 2021, 9:45am UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/25 "2021-04-21T09:45:01Z")

</div>

> [@mwchase](#):
>
> I just now put together that it’s probably a smaller conceptual leap to talk about _Darcs_ interface features that sound useful …

More than the smaller leap, while it’s been a long time since I’ve used it given the prevalence of git, the darcs interface is simply _excellent_.

IIRC, [darcs whatsnew](http://darcs.net/manual/Darcs_commands.html#SECTION00670000000000000000) is similar to `git status`.

---

<div class="post-metadata">

**Author:** ![porky11](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/porky11/32/152_2.png) [@porky11](https://discourse.pijul.org/u/porky11)\
**Post date:** [November 2, 2021, 8:16pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/26 "2021-11-02T20:16:42Z")

</div>

I always do `git status` first, and then either `git diff file` or just `git diff` if there aren’t many files. But more often I just do an interactive `git add -p` instead of a diff and never use diff.  
I guess, if `diff` and `status` are the same command, the default should be the short version, and the long version should require an additional flag (`--long`?)

---

<div class="post-metadata">

**Author:** ![luke-clifton](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/luke-clifton/32/458_2.png) [@luke-clifton](https://discourse.pijul.org/u/luke-clifton)\
**Post date:** [April 11, 2022, 4:46am UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/27 "2022-04-11T04:46:03Z")

</div>

I believe this is now answered by

```bash
pijul diff --untracked

```

With

```bash
pijul diff --untracked --short

```

Giving you a most of what `git status` gives you.

---

<div class="post-metadata">

**Author:** ![nuttycom](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/nuttycom/32/480_2.png) [@nuttycom](https://discourse.pijul.org/u/nuttycom)\
**Post date:** [August 27, 2022, 5:38pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/28 "2022-08-27T17:38:57Z")

</div>

I absolutely agree with this: `pijul change` is not at all discoverable; I just spent half an hour trying to figure out how to do the equivalent of `git show`. Verbs should describe what they do.

---

<div class="post-metadata">

**Author:** ![nuttycom](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/nuttycom/32/480_2.png) [@nuttycom](https://discourse.pijul.org/u/nuttycom)\
**Post date:** [August 27, 2022, 5:43pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/29 "2022-08-27T17:43:54Z")

</div>

I agree, the staging area is one of git’s best features. One often wants to record just a part of a diff, for example when you are making some edits to a file and discover an unrelated change that you want to make; it’s best to make both changes at once but persist them separately.

---

<div class="post-metadata">

**Author:** ![ThrashAbaddon](https://avatars.discourse-cdn.com/v4/letter/t/d78d45/32.png) [@ThrashAbaddon](https://discourse.pijul.org/u/ThrashAbaddon)\
**Post date:** [September 16, 2022, 2:49pm UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/30 "2022-09-16T14:49:19Z")

</div>

This, I completely agree. 👌

As for Darcs, the [darcs whatsnew](https://darcsbook.acmelabs.space/chapter03.html#whats-new-pussy-cat) seems so intuitive, one doesn’t have to read the doc.

---

<div class="post-metadata">

**Author:** ![stellarpower](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.pijul.org/stellarpower/32/489_2.png) [@stellarpower](https://discourse.pijul.org/u/stellarpower)\
**Post date:** [September 20, 2022, 12:47am UTC](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690/31 "2022-09-20T00:47:45Z")

</div>

I guess a GUI would be lovely at this point. I don’t approach other VCS without using bazaar-explorer, as it presents everything up-front and changes in realtime, rather than relying on my keeping a mental model of what I think is happening, which may not match what is.

However assuming that is some way off, `brz status` gives what is for me a very important output. I find the way breezy/bazaar tracks files probably more intuitive than git, and this follows pijul’s model, that some files will be tracked and have changes recorded automatically, rather than constantly having to add everything into the area by default. Therefore having a summary of what is up with each file that is not exactly as it was last commit, is really useful for knowing the state of the system as a whole:

```auto
[🍇] user@host /b/S/I/P/repo> brz status

added:
  a/new/file
modified:
   some/path/foo
unknown:
  some/other/path/bar
moved:
  some/other/path
kind changed:
  Notes.md
[🍇] user@host /b/S/I/P/repo>

```

[Previous page](https://discourse.pijul.org/t/is-there-an-equivalent-of-git-status/690.md?page=1)
