On Tue, Feb 24, 2015 at 2:00 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> writes: > >> status, status -s and the like are in an ordinary user's tool box. >> ls-files isn't, at least not with "-t", which we even mark as deprecated. >> >> That makes me wonder, though, how difficult it would be to >> wt_status_collect_unchanged() and to leverage the status machinery >> rather than ls-files. > > Good point. wt-status feels like a much better infrastructure to > build on than "ls-files -t", which should die ;-). Especially if > the command is interested in showing the state of the working tree > files relative to the tree of HEAD, as "ls-files" is purely between > the index and the working tree. So here it is. Except the first 4 patches identical with 'nd/list-files' in 'pu' and not reposted here, the rest is rewritten using wt-status.c as the base. Documentation and tests are missing. Probably bugs lurking too. I just want to check if the UI makes sense. Full series is available at https://github.com/pclouds/git/commits/ls if you want to pull and try out quickly. With this we got: usage: git list-files [options] [<pathspec>...] Filter options -c, --cached show cached files (default) -o, --others show untracked files -i, --ignored show ignored files -u, --unmerged show unmerged files -a, --added show added files compared to HEAD -d, --deleted show deleted files compared to HEAD -m, --modified show modified files compared to HEAD -A, --wt-added show added files in worktree -D, --wt-deleted show deleted files in worktree -M, --wt-modified show modified files on worktree Other -C, --column[=<style>] show files in columns -1 shortcut for --no-column --max-depth <depth> descend at most <depth> levels -R, --recursive shortcut for --max-depth=-1 --color[=<when>] show color -F, --classify append indicator (one of */=>@|) to entries Any filter option can be combined with others. Status code is the same with 'git status --porcelain'. In fact options -[iouadmADM] are basically the 'git status --porcelain' with bells and whistles. -- 2.3.0.rc1.137.g477eb31 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html