git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: david@lang.hm
To: martin f krafft <madduck@madduck.net>
Cc: git@vger.kernel.org, "Daniel Barkalow" <barkalow@iabervon.org>,
	"Junio C Hamano" <gitster@pobox.com>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Thomas Harning Jr." <harningt@gmail.com>,
	"Francis Moreau" <francis.moro@gmail.com>,
	"Nicolas Vilz" <niv@iaglans.de>,
	"David Härdeman" <david@hardeman.nu>
Subject: Re: metastore
Date: Mon, 17 Sep 2007 10:17:46 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0709171011160.1558@asgard.lang.hm> (raw)
In-Reply-To: <20070917133000.GD16773@lapse.madduck.net>

On Mon, 17 Sep 2007, martin f krafft wrote:

> also sprach david@lang.hm <david@lang.hm> [2007.09.17.0037 +0200]:
>>> While we're at it, you probably don't even want to write the
>>> permission file to the live filesystem. It's just one more thing
>>> that could leak information, and changes to the permissions of
>>> files that you record by committing the live filesystem would
>>> presumably be done by changing the permissions of files in the
>>> filesystem, not by changing the text file.
>>
>> the permissions and ACL's can be queried directly from the
>> filesystem, so I don't see any security problems with writing the
>> permission file to the filesystem.
>>
>> changing the permissions would be done by changing the files
>> themselves (when you are running as root on a filesystem that
>> supports the changes, otherwise it would need to fall back to
>> writing the file and getting the changes there, but that should be
>> able to be a local config option)
>>
>> I don't like the idea of having a file that doesn't appear on the
>> local filesystem at any point, it just makes troubleshooting too
>> hard.
>
> Reading over your thoughts, I get this uneasy feeling about such
> a permissions file, because it stores redundant information, and
> redundant information has a tendency to get out of sync. If we
> cannot attach attributes to objects in the git database, then
> I understand the need for such a metastore. But I don't think it
> should be checked out and visible, or maybe we should think of it
> not in terms of a file anyway, but a metastore. Or how do you want
> to resolve the situation when a user might edit the file, changing
> a mode from 644 to 640, while in the filesystem, it was changed by
> other means to 600.

each local repository would need to be configured to either recreate the 
permissions file at checkin time or to use the permission file and ignore 
the actual permissions on the file.

while I agree that it would be ideal to store this data inside git, I'm 
more interested in getting a functional implementation, and given the 
reluctance of the git core team to allow any changes to support this 
use-case anything that can be done to minimize the changes needed to 
support this use-case is a good thing.

> .gitattributes is a different story since it stores git-specificy
> attributes, which are present nowhere else in the checkout.
>
> I still maintain it would be best if git allowed extra data to be
> attached to object nodes. When you start thinking about
> cherry-picking or even simple merges, I think that makes most sense.
> And we don't need conflict markers, we could employ an iterative
> merge process as e.g. git-rebase uses:
>
>  "a conflict has been found in the file mode of ...
>   ... 2750 vs. 2755 ...
>   please set the file mode as it should be and do git-merge
>   --continue. Or git-merge --abort. ..."

and there's nothing to prevent the checkin hook from running such a 
comparison if you want it to.

>>> (Of course, you could check out the same commits as ordinary source, with
>>> developer-owned 644 files and a 644 "permissions" file, and there you'd
>>> have the permissions file appear in the work tree, and you could edit it
>>> and check it in in a totally mundane way.)
>>
>> right, and the same thing if the filesystem doesn't support something in the
>> permission file.
>
> I'd much rather see something like `git-attr chmod 644
> file-in-index` to make this change, rather than a file, which
> introduces the potential for syntax errors.

first make this useable, then if it starts getting used widely (which 
would not at all surprise me, many distros are looking for good options 
for doing this sort of thing, I wouldn't be surprised to see several of 
them start useing git if it did the job well) things can be moved from 
external scripts and storage to internal capabilities as appropriate.

David Lang

  reply	other threads:[~2007-09-17 17:18 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <38b2ab8a0709130511q7a506c5cvb0f8785a1d7ed7ad@mail.gmail.com>
     [not found] ` <20070913123137.GA31735@piper.oerlikon.madduck.net>
     [not found]   ` <38b2ab8a0709140108v2a9c3569i93b39f351f1d4ec3@mail.gmail.com>
     [not found]     ` <20070914091545.GA26432@piper.oerlikon.madduck.net>
2007-09-14 17:31       ` Track /etc directory using Git Thomas Harning Jr.
2007-09-14 21:26         ` Nicolas Vilz
2007-09-15 14:29           ` Pierre Habouzit
2007-09-15 15:24             ` martin f krafft
2007-09-15 15:27               ` Pierre Habouzit
2007-09-15 15:42                 ` martin f krafft
2007-09-15 13:26         ` metastore (was: Track /etc directory using Git) martin f krafft
2007-09-15 14:10           ` Johannes Schindelin
2007-09-15 14:16             ` metastore David Kastrup
2007-09-15 14:54             ` metastore (was: Track /etc directory using Git) martin f krafft
2007-09-15 16:22               ` Grzegorz Kulewski
2007-09-15 17:43                 ` Johannes Schindelin
2007-09-15 23:33                 ` metastore Randal L. Schwartz
2007-09-16  0:37                   ` metastore david
2007-09-16  1:10                     ` metastore Randal L. Schwartz
2007-09-16  1:49                       ` metastore david
2007-09-17 13:04                   ` metastore Francis Moreau
2007-09-17 15:32                     ` metastore Randal L. Schwartz
2007-09-15 19:56               ` metastore (was: Track /etc directory using Git) Daniel Barkalow
2007-09-15 22:14                 ` Johannes Schindelin
2007-09-16  1:30                   ` david
2007-09-16  2:48                     ` Johannes Schindelin
2007-09-16  3:00                       ` david
2007-09-16  8:06                     ` metastore Junio C Hamano
2007-09-16  8:30                       ` metastore David Kastrup
2007-09-16 20:19                         ` metastore david
2007-09-16 15:51                       ` metastore Daniel Barkalow
2007-09-16 21:12                         ` metastore david
2007-09-16 21:28                           ` metastore Junio C Hamano
2007-09-16 21:45                             ` metastore Daniel Barkalow
2007-09-16 21:53                             ` metastore david
2007-09-16 22:02                           ` metastore Daniel Barkalow
2007-09-16 22:37                             ` metastore david
2007-09-17 13:30                               ` metastore martin f krafft
2007-09-17 17:17                                 ` david [this message]
2007-09-17 19:46                                   ` metastore Josh England
2007-09-16 21:45                       ` metastore david
2007-09-16 22:11                         ` metastore Junio C Hamano
2007-09-16 22:52                           ` metastore david
2007-09-17  0:58                             ` metastore Junio C Hamano
2007-09-17  2:31                               ` metastore david
2007-09-17  4:23                                 ` metastore Junio C Hamano
2007-09-17  4:35                                   ` metastore david
2007-09-17  6:06                                     ` metastore Junio C Hamano
2007-09-17 17:42                                   ` metastore Daniel Barkalow
2007-09-17 19:19                                     ` metastore Junio C Hamano
2007-09-16 15:59                     ` metastore (was: Track /etc directory using Git) Jan Hudec
2007-09-16 20:36                       ` david
2007-09-16  6:14                   ` martin f krafft
2007-09-16 15:51                     ` Jan Hudec
2007-09-16 19:43                       ` david
2007-09-17 13:31                       ` martin f krafft
2007-09-16  1:35                 ` david
2007-09-16  6:08                 ` martin f krafft
2007-09-19 19:16                   ` David Härdeman
2007-10-02 19:53                     ` martin f krafft
2007-10-02 19:58                       ` David Härdeman
2007-10-02 20:04                         ` metastore David Kastrup
2007-10-02 20:18                           ` metastore david
2007-10-02 20:23                             ` metastore martin f krafft
2007-10-02 20:29                               ` metastore david
2007-10-02 20:39                                 ` metastore martin f krafft
2007-10-02 20:54                                   ` metastore david
2007-10-02 21:42                                     ` metastore martin f krafft
2007-10-02 21:15                           ` metastore David Härdeman
2007-10-02 21:44                             ` metastore martin f krafft
2007-10-02 23:32                             ` metastore Julian Phillips
2007-10-03  0:52                               ` metastore david
2007-10-03  0:52                                 ` metastore Johannes Schindelin
2007-10-02 21:02                         ` metastore (was: Track /etc directory using Git) Daniel Barkalow
     [not found] ` <20070913122002.GO671@genesis.frugalware.org>
     [not found]   ` <38b2ab8a0709140120k50f5b474oc8a841ea0a5fda50@mail.gmail.com>
2007-09-15 16:32     ` Track /etc directory using Git martin f krafft
2007-09-15 16:57       ` 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

  List information: http://vger.kernel.org/majordomo-info.html

* 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.0709171011160.1558@asgard.lang.hm \
    --to=david@lang.hm \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=barkalow@iabervon.org \
    --cc=david@hardeman.nu \
    --cc=francis.moro@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=harningt@gmail.com \
    --cc=madduck@madduck.net \
    --cc=niv@iaglans.de \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).