From: Tomash Brechko <tomash.brechko@gmail.com>
To: git@vger.kernel.org
Subject: Re: [RFC PATCH] Re: Empty directories...
Date: Thu, 19 Jul 2007 16:32:14 +0400 [thread overview]
Message-ID: <20070719123214.GB4929@moonlight.home> (raw)
In-Reply-To: <86zm1sbpeh.fsf@lola.quinscape.zz>
Hi David,
On Thu, Jul 19, 2007 at 13:31:50 +0200, David Kastrup wrote:
> core.excludefile: .
Really nice idea to give directories 'DIR/.' name. I'm sure there are
several other ways to implement your proposal. But why to put in in
Git itself? Decomposition and abstraction principle tells me that
this should go to some other place.
Please consider this: I myself use Git to track my own local projects,
and for this usage you proposal have no value for me, i.e. as a
_Source_ Code Management system Git is rather complete. But I also
track /etc and ~/ in Git, and for this I'd love to have directories,
permissions, ownership, other attributes, to be tracked. I have Perl
script wrapping Git that allows me to filter tracked paths by full
regexps instead of Git's file globs, and also to filter out too big
files assuming that they are binary anyway. Most people solving the
same problem moved further and implemented tools to store part of file
system state (permissions and ownership) in a textual representation,
to track that in Git. I'm sure you've seen such posts in the list.
And my point is that rather than building the support for all of it
into core Git, and then implementing sophisticated configuration to
disable parts of it, wouldn't it be better to have a separate tools
orthogonal to Git itself?
At the extreme case (probably not really seriously), consider the
following design: there are two layers, file system layer, and
contents layer. On checkout file system layer creates (or examines
existing) directory tree along with all files and their file system
state (permissions, ownership, ACLs, attributes, ...), and then asks
contents layer to update the contents. This way layers are
independent, and file system layer may be implemented on top of pure
contents tracking. File system layer may be extended to be made
particular OS/FS dependent if some development team wishes so. Even
hard links may be supported: since file system layer may deside to
remember that two paths really reference the same inode
(i.e. contents), contents layer may be asked to update the data only
once with either file name/descriptor.
This, BTW, is why I think not tracking file attributes when
versioning, say, /etc, is not a big loss. When I will move to the new
system, I will mostly be interested in contents diffs of the same
configuration files in /etc. I will trust their new attributes, and
will not want to restore them to what they were on the old system.
So the essence of my objection is that we should not pollute core Git
with file system state tracking more than it's required to know where
to put the contents to. Everything else should go elsewhere.
Again, I'd love to have your proposal be implemented, but only in a
way that won't interfere with pure SCM's operations.
--
Tomash Brechko
next prev parent reply other threads:[~2007-07-19 12:32 UTC|newest]
Thread overview: 137+ 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
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 [this message]
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
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=20070719123214.GB4929@moonlight.home \
--to=tomash.brechko@gmail.com \
--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).