* [PATCH] git status: ignore empty directories (because they cannot be added)
@ 2006-05-22 21:02 Matthias Lederhofer
2006-05-23 1:11 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: Matthias Lederhofer @ 2006-05-22 21:02 UTC (permalink / raw)
To: git
and a new option -u / --untracked-files to show files in untracked
directories.
---
A few things I'm not sure about:
- Should there be another option to disable --no-empty-directory?
- Is the option name --untracked-files ok?
- Should it be documented (probably yes :))? At the moment the
git-status man page does not tell about any command line option at
all but for git-commit it does not make sense.
git-commit.sh | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
---
1921592d5e7809f72a902cca1a38217b150800a9
diff --git a/git-commit.sh b/git-commit.sh
index 6ef1a9d..6785826 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -3,7 +3,7 @@ #
# Copyright (c) 2005 Linus Torvalds
# Copyright (c) 2006 Junio C Hamano
-USAGE='[-a] [-s] [-v] [--no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit>) [--amend] [-e] [--author <author>] [[-i | -o] <path>...]'
+USAGE='[-a] [-s] [-v] [--no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit>] [-u] [--amend] [-e] [--author <author>] [[-i | -o] <path>...]'
SUBDIRECTORY_OK=Yes
. git-sh-setup
@@ -134,13 +134,17 @@ #'
report "Changed but not updated" \
"use git-update-index to mark for commit"
+ option=""
+ if test -z "$untracked_files"; then
+ option="--directory --no-empty-directory"
+ fi
if test -f "$GIT_DIR/info/exclude"
then
- git-ls-files -z --others --directory \
+ git-ls-files -z --others $option \
--exclude-from="$GIT_DIR/info/exclude" \
--exclude-per-directory=.gitignore
else
- git-ls-files -z --others --directory \
+ git-ls-files -z --others $option \
--exclude-per-directory=.gitignore
fi |
perl -e '$/ = "\0";
@@ -203,6 +207,7 @@ verbose=
signoff=
force_author=
only_include_assumed=
+untracked_files=
while case "$#" in 0) break;; esac
do
case "$1" in
@@ -340,6 +345,12 @@ do
verbose=t
shift
;;
+ -u|--u|--un|--unt|--untr|--untra|--untrac|--untrack|--untracke|--untracked|\
+ --untracked-|--untracked-f|--untracked-fi|--untracked-fil|--untracked-file|\
+ --untracked-files)
+ untracked_files=t
+ shift
+ ;;
--)
shift
break
--
1.3.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] git status: ignore empty directories (because they cannot be added)
2006-05-22 21:02 [PATCH] git status: ignore empty directories (because they cannot be added) Matthias Lederhofer
@ 2006-05-23 1:11 ` Junio C Hamano
2006-05-23 5:35 ` Matthias Lederhofer
0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2006-05-23 1:11 UTC (permalink / raw)
To: Matthias Lederhofer; +Cc: git
Matthias Lederhofer <matled@gmx.net> writes:
> and a new option -u / --untracked-files to show files in untracked
> directories.
>
> ---
> A few things I'm not sure about:
> - Should there be another option to disable --no-empty-directory?
I am not sure about this. We used to show everything in a
directory full of untracked directory, which was distracting and
that was the reason we added --directory there. Maybe it would
be less confusing if we just updated the message
print "#\n# Untracked files:\n";
print "# (use \"git add\" to add to commit)\n";
print "#\n";
to say "use 'git add' on these files and files in these
directories you wish to add", or something silly like that,
without this patch?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] git status: ignore empty directories (because they cannot be added)
2006-05-23 1:11 ` Junio C Hamano
@ 2006-05-23 5:35 ` Matthias Lederhofer
[not found] ` <7vd5e56yi6.fsf@assigned-by-dhcp.cox.net>
0 siblings, 1 reply; 4+ messages in thread
From: Matthias Lederhofer @ 2006-05-23 5:35 UTC (permalink / raw)
To: git
> > and a new option -u / --untracked-files to show files in untracked
> > directories.
> >
> > ---
> > A few things I'm not sure about:
> > - Should there be another option to disable --no-empty-directory?
>
> I am not sure about this. We used to show everything in a
> directory full of untracked directory, which was distracting and
> that was the reason we added --directory there. Maybe it would
> be less confusing if we just updated the message
>
> print "#\n# Untracked files:\n";
> print "# (use \"git add\" to add to commit)\n";
> print "#\n";
>
> to say "use 'git add' on these files and files in these
> directories you wish to add", or something silly like that,
> without this patch?
I do not know if I understand you correctly, do you want to leave out
the -u part of the patch or the whole patch?
Well, anyway, here the reasons for this patch:
- Working in a git repository with a lot of empty directories is
annoying, because all of them show up in git status even though they
cannot be added. With --no-empty-directories they are hidden.
- If there is a directory which may be added because it is quite
useful to have the -u option to see what is in there to add (without
using ls path/to/directory).
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] git status: ignore empty directories (because they cannot be added)
[not found] ` <7vd5e56yi6.fsf@assigned-by-dhcp.cox.net>
@ 2006-05-23 14:00 ` Matthias Lederhofer
0 siblings, 0 replies; 4+ messages in thread
From: Matthias Lederhofer @ 2006-05-23 14:00 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
> > Well, anyway, here the reasons for this patch:
> > - Working in a git repository with a lot of empty directories is
> > annoying, because all of them show up in git status even though they
> > cannot be added. With --no-empty-directories they are hidden.
>
> What directories are they? Will they some day have files that
> you might want to keep track of? The reason for this question
> is, "otherwise you could .gitignore them".
I have been trying ruby on rails and there are some empty directories
which will have files later. I would even add those empty directories
if it would be possible.
> > - If there is a directory which may be added because it is quite
> > useful to have the -u option to see what is in there to add (without
> > using ls path/to/directory).
>
> It really depends on how many files there are in such a
> "interesting" directory _and_ other "uninteresting" directories
> full of transitory files. The -u option that disables "skip
> contents and show only the top directory" behaviour globally
> might not be so useful in such a case -- you will see useful
> contents of an otherwise "closed" directory (because it defeats
> the --directory flag), but at the same time you would get tons
> of uninteresting files in another directory as well in such a
> case. You are likely to end up doing ls path/to/dir after
> noticing that there are non-empty foo/ and bar/ directories that
> have no tracked files, and you know which one has files
> interesting to you.
> So I am OK with the change, but I am somewhat still doubtful how
> useful the option would be.
The case I think about is that there are some directories which are
not tracked because they contain no files yet. All other directories
which are uninteresting are added to .gitignore. If an untracked
directory shows up in git-status one could easily check with
git-status -u what can be added.
PS: I had a typo in the git mailing list e-mail address and resent my
last e-mail to the list. Your reply did not make it to the list,
perhaps you can send it again.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-05-23 14:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-22 21:02 [PATCH] git status: ignore empty directories (because they cannot be added) Matthias Lederhofer
2006-05-23 1:11 ` Junio C Hamano
2006-05-23 5:35 ` Matthias Lederhofer
[not found] ` <7vd5e56yi6.fsf@assigned-by-dhcp.cox.net>
2006-05-23 14:00 ` Matthias Lederhofer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).