git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC/PATCH] shortstatus v1

From
Jeff King <peff@peff.net>
Date
Feb 10, 2009, 11:45 UTC
Message-ID
<20090210114506.GF12089@coredump.intra.peff.net>
In-Reply-To
<49916524.4000400@drmicha.warpmail.net>
On Tue, Feb 10, 2009 at 12:29:40PM +0100, Michael J Gruber wrote:
Show 6 quoted lines
> >   3. What advantage does this have over just doing:
> > 
> >        (git diff --name-status;
> >         git diff --cached --name-status) | sort -k2
> 
> That is fine, except that it can't list untracked files.
Well, neither does this patch:
  $ echo content >tracked &&
  > echo content >untracked &&
  > git add tracked &&
  > git shortstatus
  A           tracked
but you could easily include that:
  (git diff --name-status;
   git diff --cached --name-status;
   git ls-files --exclude-standard -o | sed 's/^/? /') | sort -k2
which is really more or less what the wt-status code does.

Note that I am not _against_ a convenient command for doing this. But I have to wonder why such a large patch is necessary when I can do it in three lines. I don't mind the C version being a little longer, but I wonder what advantage there is in using wt_status for this.

> Right now, "git status" is basically "git commit --dry-run", which may
> or may not be good, but certainly is not what people coming from other
> vcs expect. I would suggest having "git commit -n" replace "git status"
> if I hadn't done so already or if I dared to (I can't remember ;) ).

I would much prefer that, if it had been done that way from the beginning. But I think we are stuck with "git status" due to hysterical raisins.

> "git ls-files" may do but has a different set of mode characters. I
> think that sums up what preceeded Junio's patch from October.

But you only need to use it here to get the untracked files, so it doesn't matter what it says about modified files.

The big downside with the snippet I posted above is that it runs three separate commands that go through the index. In theory, you could do it in one pass. But wt-status _doesn't_ do that, since the diff infrastructure isn't there (a long time ago, Junio had an experimental parallel diff walker patch, but it never made it out of next).

-Peff
Previous: Tuncer AyazNext: Michael J Gruber
Message 10 of 25 in “shortstatus v1”
  1. shortstatus v1Tuncer Ayaz, Feb 10, 2009
  2. Junio C HamanoFeb 10, 2009
  3. Sitaram ChamartyFeb 10, 2009
  4. Spending time in PS1, was Re: [RFC/PATCH] shortstatus v1Johannes Schindelin, Feb 10, 2009
  5. Sitaram ChamartyFeb 10, 2009
  6. Tuncer AyazFeb 10, 2009
  7. Jeff KingFeb 10, 2009
  8. Michael J GruberFeb 10, 2009
  9. Tuncer AyazFeb 10, 2009
  10. Jeff KingFeb 10, 2009
  11. Michael J GruberFeb 10, 2009
  12. Jeff KingFeb 10, 2009
  13. Junio C HamanoFeb 10, 2009
  14. Jeff KingFeb 10, 2009
  15. Jeff KingFeb 10, 2009
  16. Jeff KingFeb 10, 2009
  17. Tuncer AyazFeb 10, 2009
  18. Jeff KingFeb 10, 2009
  19. Junio C HamanoFeb 10, 2009
  20. Tuncer AyazFeb 10, 2009
  21. Jeff KingFeb 10, 2009
  22. Junio C HamanoFeb 10, 2009
  23. Jeff KingFeb 12, 2009
  24. Nanako ShiraishiFeb 10, 2009
  25. Junio C HamanoFeb 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.