git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).