From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: David Kastrup <dak@gnu.org>
Cc: git@vger.kernel.org
Subject: Re: Empty directories...
Date: Wed, 18 Jul 2007 12:24:46 +0100 (BST) [thread overview]
Message-ID: <Pine.LNX.4.64.0707181218090.14781@racer.site> (raw)
In-Reply-To: <86tzs2m1h7.fsf@lola.quinscape.zz>
Hi,
On Wed, 18 Jul 2007, David Kastrup wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> > On Wed, 18 Jul 2007, David Kastrup wrote:
> >
> >> The FAQ answer is weazeling on several accounts:
> >>
> >> a) No, git only cares about files, or rather git tracks content and
> >> empty directories have no content.
> >>
> >> In the same manner as empty regular files have no contents, and git
> >> tracks those. Existence and permissions are important.
> >
> > We do not track permissions of directories at all.
>
> Ok, this seems like something that should be done as well, even if we
> can stipulate at first that a directory should have rwx for the user
> in question if you hope to track it.
No, no, no. It should not be tracked. It is the responsibility of the
_user_ to set it to something sane, be that by a umask or by sticky
groups, or by setting the permissions of the parent directory.
It is _nothing_ we want to put into the repository. That is the _wrong_
place to put it.
> > This is because Git is primarily meant to track source code,
>
> Tell that to the man page. It declares git to be "a content tracker"
> right at the front.
Why don't you? I have no problems with the title.
> > and most "permissions" (i.e. restrictions) do not make any sense
> > there.
>
> So why are permissions for files being tracked, then?
This question is invalid. Git only tracks the _executable_ bit. And
again, it is the users' responsibility, by setting the umask, to have the
appropriate bits set for group and others.
> >> b) The problem is not just that empty directories don't get added
> >> into the repository. They also don't get removed again when
> >> switching to a different checkout. When git-diff returns zero, I
> >> expect a subsequent checkout to not leave complete empty hierarchies
> >> around because git can't delete any empty leaves which it chose not
> >> to track.
> >
> > I _like_ the behaviour that Git does not remove a directory it
> > added, when I put some untracked file into it.
>
> But it does not remove a directory it _refused_ to add when there were
> no files at all in it ever. You probably have not read the problem
> description carefully.
I have. But that does not apply here, because I used the term "to add a
directory" in the sense of "mkdir".
> > And switching back to that branch, Git has no problems, because it
> > sees that the directory is already there. In case of a file, it would
> > complain, and rightfully so.
>
> And if you switch to a branch where the directory it did not remove now
> is a file?
Git already throws an error, and rightfully so. I am pleased by the
current behaviour.
> > See the fundamental difference between a file and a directory now?
>
> Condescension is not really solving a problem.
Hey, I only tried to help clarify things.
But since I seem to be unable to, I'll end my efforts with this
suggestion:
If you want to track empty directories, the best thing would be to
- teach git-add to automatically create an empty .gitignore (and error out
if that already exists), and
- teach git-archive to not put .gitignore files into the output by default
(but the directories). This might be a sensible change regardless if
you want to add empty directories to the repository or not.
Ciao,
Dscho
next prev parent reply other threads:[~2007-07-18 11:25 UTC|newest]
Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-18 0:13 Empty directories David Kastrup
2007-07-18 0:35 ` Johannes Schindelin
2007-07-18 6:07 ` David Kastrup
2007-07-18 10:26 ` Johannes Schindelin
[not found] ` <86tzs2m1h7.fsf@lola.quinscape.zz>
2007-07-18 11:24 ` Johannes Schindelin [this message]
2007-07-18 11:40 ` Matthieu Moy
2007-07-18 12:12 ` David Kastrup
2007-07-18 16:23 ` Linus Torvalds
2007-07-18 16:33 ` Linus Torvalds
2007-07-18 17:38 ` David Kastrup
2007-07-18 18:05 ` Linus Torvalds
2007-07-18 16:39 ` Matthieu Moy
2007-07-18 17:06 ` Linus Torvalds
2007-07-18 21:37 ` David Kastrup
2007-07-18 21:45 ` Linus Torvalds
2007-07-18 23:13 ` David Kastrup
2007-07-18 23:16 ` [RFC PATCH] " Linus Torvalds
2007-07-18 23:40 ` Linus Torvalds
2007-07-18 23:42 ` David Kastrup
2007-07-19 0:22 ` Linus Torvalds
2007-07-19 5:28 ` Junio C Hamano
2007-07-19 5:38 ` Shawn O. Pearce
2007-07-19 6:08 ` David Kastrup
2007-07-19 7:10 ` Geoff Russell
2007-07-19 6:09 ` Shawn O. Pearce
2007-07-19 8:13 ` Matthieu Moy
2007-07-19 10:51 ` Tomash Brechko
2007-07-19 11:31 ` David Kastrup
2007-07-19 12:32 ` Tomash Brechko
2007-07-19 12:46 ` David Kastrup
2007-07-23 20:18 ` Nix
2007-07-23 20:49 ` David Kastrup
2007-07-23 21:49 ` Nix
2007-07-23 22:05 ` Nix
2007-07-23 22:52 ` Jakub Narebski
2007-07-25 22:43 ` Nix
2007-07-23 22:16 ` David Kastrup
2007-07-23 22:31 ` Linus Torvalds
2007-07-23 23:32 ` Nix
2007-07-23 23:57 ` Linus Torvalds
[not found] ` <86ps2ithyl.fsf@lola.quinscape.zz>
2007-07-24 6:56 ` Nix
2007-07-19 12:38 ` David Kastrup
2007-07-19 13:21 ` David Kastrup
2007-07-19 12:16 ` Johannes Schindelin
2007-07-19 12:24 ` David Kastrup
2007-07-19 14:44 ` Brian Gernhardt
2007-07-19 15:43 ` Johannes Schindelin
2007-07-19 16:06 ` Brian Gernhardt
2007-07-19 16:17 ` Johannes Schindelin
2007-07-19 16:28 ` David Kastrup
2007-07-19 16:34 ` Brian Gernhardt
2007-07-19 17:30 ` Johannes Schindelin
[not found] ` <Pine.LNX.4.64.070719 1829530.14781@racer.site>
2007-07-19 17:47 ` David Kastrup
2007-07-19 16:17 ` Matthieu Moy
2007-07-19 16:21 ` David Kastrup
[not found] ` <9436820E-53D1-425D-922E-D4C76578E40A@silverinsanity.com>
[not found] ` <863azk78yp.fsf@lola.quinscape.zz>
2007-07-19 15:08 ` Brian Gernhardt
2007-07-19 15:27 ` David Kastrup
2007-07-19 15:50 ` Brian Gernhardt
2007-07-20 0:01 ` Junio C Hamano
2007-07-20 0:15 ` Linus Torvalds
2007-07-20 0:33 ` Linus Torvalds
2007-07-20 2:24 ` Junio C Hamano
2007-07-20 2:31 ` Linus Torvalds
2007-07-20 5:55 ` David Kastrup
2007-07-20 5:58 ` David Kastrup
2007-07-20 15:31 ` Linus Torvalds
2007-07-20 5:35 ` David Kastrup
2007-07-20 9:27 ` Simon 'corecode' Schubert
2007-07-20 10:11 ` David Kastrup
2007-07-20 10:34 ` Junio C Hamano
2007-07-20 13:23 ` David Kastrup
2007-07-20 19:24 ` Linus Torvalds
2007-07-20 21:02 ` Johan Herland
2007-07-20 21:48 ` Linus Torvalds
2007-07-20 22:36 ` Julian Phillips
2007-07-21 0:18 ` Linus Torvalds
2007-07-21 1:23 ` David Kastrup
2007-07-21 3:54 ` David Kastrup
[not found] ` <7vir8f24o2.fsf@assigned -by-dhcp.cox.net>
2007-07-20 5:53 ` David Kastrup
2007-07-20 10:19 ` Olivier Galibert
2007-07-19 5:59 ` David Kastrup
2007-07-19 9:54 ` David Kastrup
[not found] ` <?= =?ISO-8859-1?Q?alpine.LFD.0.999?= =?ISO-8859-1?Q?.070718=041710271.?= =?ISO-8859-1?Q?27353@woody.linu?= =?ISO-8859-1?Q?x-foundation.org?= =?ISO-8859-1?Q?>
2007-07-22 21:08 ` David Kastrup
2007-07-21 4:29 ` David Kastrup
2007-07-21 4:51 ` Linus Torvalds
2007-07-21 5:08 ` Linus Torvalds
2007-07-21 5:28 ` David Kastrup
2007-07-21 15:53 ` Linus Torvalds
2007-07-21 17:38 ` David Kastrup
2007-07-21 17:52 ` Simon 'corecode' Schubert
2007-07-21 18:08 ` David Kastrup
2007-07-21 23:50 ` Linus Torvalds
2007-07-22 0:18 ` David Kastrup
2007-07-22 0:37 ` Linus Torvalds
2007-07-22 1:05 ` David Kastrup
2007-07-22 1:41 ` Linus Torvalds
2007-07-22 2:39 ` David Kastrup
2007-07-22 3:43 ` Linus Torvalds
2007-07-22 4:28 ` David Kastrup
2007-07-22 6:38 ` david
2007-07-22 9:08 ` David Kastrup
2007-07-22 17:30 ` Linus Torvalds
2007-07-22 17:59 ` David Kastrup
2007-07-22 17:28 ` Linus Torvalds
2007-07-22 17:33 ` Linus Torvalds
[not found] ` <alpine.L FD.0.999.0707221031050.3607@woody.linux-foundation.org>
2007-07-22 18:58 ` David Kastrup
2007-07-22 1:16 ` Jakub Narebski
2007-07-22 1:39 ` David Kastrup
2007-07-22 12:06 ` Jakub Narebski
2007-07-22 13:53 ` David Kastrup
2007-07-22 20:26 ` Jakub Narebski
2007-07-22 22:57 ` David Kastrup
2007-07-23 6:05 ` David Kastrup
2007-07-23 7:45 ` David Kastrup
2007-07-22 0:34 ` David Kastrup
2007-07-22 4:00 ` Brian Gernhardt
2007-07-28 8:44 ` David Kastrup
[not found] ` <?= =?ISO-8859-1?Q?alpine.LFD.0.999?= =?ISO-8859-1?Q?.07072=0402135450.?= =?ISO-8859-1?Q?27249@woody.linu?= =?ISO-8859-1?Q?x-foundation.org?= =?ISO-8859-1?Q?>
2007-07-21 5:15 ` David Kastrup
2007-07-18 17:34 ` David Kastrup
2007-07-18 0:39 ` Matthieu Moy
2007-07-18 6:16 ` David Kastrup
2007-07-18 6:30 ` Shawn O. Pearce
2007-07-18 2:23 ` Junio C Hamano
2007-07-18 5:56 ` David Kastrup
2007-07-18 6:34 ` Wincent Colaiuta
2007-07-18 6:53 ` Junio C Hamano
[not found] ` <867ioyqhgc.fsf@lola.quinscape.zz>
2007-07-18 23:34 ` Junio C Hamano
2007-07-20 8:29 ` Johan Herland
2007-07-20 8:41 ` David Kastrup
2007-07-20 10:20 ` Johan Herland
2007-07-20 10:54 ` David Kastrup
2007-07-20 12:18 ` Johan Herland
[not found] ` <86odi7utdj.fsf@lola.quinscape.zz>
2007-07-20 13:20 ` Johan Herland
2007-07-20 13:33 ` David Kastrup
2007-07-22 21:35 ` David Kastrup
2007-07-26 23:33 ` Robin Rosenberg
2007-07-27 5:22 ` David Kastrup
-- strict thread matches above, loose matches on Subject: below --
2008-08-15 21:20 Empty Directories Trans
2008-08-15 21:42 ` Marcus Griep
2008-08-15 21:46 ` Miklos Vajna
2008-08-16 1:53 ` Paul Franz
2007-08-21 17:14 empty directories Josh England
2007-08-21 17:40 ` Sean
2007-08-22 21:25 ` Josh England
2007-08-22 23:25 ` Linus Torvalds
2007-08-22 23:55 ` David Kastrup
2007-08-23 15:24 ` Josh England
2007-08-24 17:10 ` Jason Garber
2007-08-22 23:40 ` Jakub Narebski
2007-08-22 0:06 ` Jakub Narebski
2007-08-22 4:31 ` Salikh Zakirov
2007-08-22 18:46 ` Linus Torvalds
2007-08-22 19:12 ` David Kastrup
2007-04-23 15:40 Yakov Lerner
2007-04-23 16:19 ` Alex Riesen
2007-04-23 16:49 ` Yakov Lerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0707181218090.14781@racer.site \
--to=johannes.schindelin@gmx.de \
--cc=dak@gnu.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).