login
Header Space

 
 

Re: metastore (was: Track /etc directory using Git)

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Johannes Schindelin <Johannes.Schindelin@...>
Cc: Daniel Barkalow <barkalow@...>, martin f krafft <madduck@...>, <git@...>, Thomas Harning Jr. <harningt@...>, Francis Moreau <francis.moro@...>, Nicolas Vilz <niv@...>, David <david@...>
Date: Saturday, September 15, 2007 - 9:30 pm

On Sat, 15 Sep 2007, Johannes Schindelin wrote:


git has pre-commit hooks that could be used to gather the permission 
information and store it into a file.

git now has the ability to define cusom merge strategies for specific file 
types, which could be used to handle merges for the permission files.

what git lacks the ability to do is to deal with special cases on 
checkout.

the handling of gitattributes came really close, but there are two 
problems remaining.

1. whatever is trying to write the files with the correct permissions
    needs to be able to query the permission store before files are
    written. This needs to either be an API call into git to retreive the
    information for any file when it's written, or the ability to define a
    specific file to be checked out first so that it can be used for
    everything else.

2. the ability to specify a custom routine/program to write the file out
    (assuming that it's being written to a filesystem not a pipe). this
    routine would be responsible for querying the permission store and
    doing 'the right thing' when the file is written during a checkout

there are some significant advantages of having the permission store be 
just a text file.

1. it doesn't require a special API to a new datastore in git

2. when working in an environment that doesn't allow for implementing the
    permissions (either a filesystem that can't store the permissions or
    when not working as root so that you can't set the ownership) the file
    can just be written and then edited with normal tools.

3. normal merge tools do a reasonable job of merging them.

however to do this git would need to gain the ability to say 'this 
filename is special, it must be checked out before any other file is 
checked out' (either on a per-directory or per-repository level)

if this is acceptable then altering the routines that write the files to 
have the additional option of calling a different routine based on the 
settings in .gitattributes seems relativly simple. there should already be 
logic to decect if it's writing to a pipe or a filesystem (it needs to 
know if it should set the write bit if nothing else), and there's the 
existing passthrough or custom routine logic for the crlf translation from 
.gitattributes. combining the logic of the two should handle the output 
issues.

the ability to handle /etc comes up every few months. it's got to be the 
most common unimplemented request git has seen. Adding the nessasary hooks 
for it to be done could end up being less effort then repeatedly telling 
people that they shouldn't use git for that task (or should wrap git in 
their own scripts and use the result instead of useing git directly)


so would changes like this be acceptable?

David Lang
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Track /etc directory using Git, Francis Moreau, (Thu Sep 13, 8:11 am)
Re: Track /etc directory using Git, martin f krafft, (Thu Sep 13, 8:31 am)
Re: Track /etc directory using Git, Francis Moreau, (Fri Sep 14, 4:08 am)
Re: Track /etc directory using Git, martin f krafft, (Fri Sep 14, 5:15 am)
Re: Track /etc directory using Git, Thomas Harning Jr., (Fri Sep 14, 1:31 pm)
metastore (was: Track /etc directory using Git), martin f krafft, (Sat Sep 15, 9:26 am)
Re: metastore (was: Track /etc directory using Git), Johannes Schindelin, (Sat Sep 15, 10:10 am)
Re: metastore (was: Track /etc directory using Git), martin f krafft, (Sat Sep 15, 10:54 am)
Re: metastore (was: Track /etc directory using Git), Daniel Barkalow, (Sat Sep 15, 3:56 pm)
Re: metastore (was: Track /etc directory using Git), martin f krafft, (Sun Sep 16, 2:08 am)
Re: metastore (was: Track /etc directory using Git), martin f krafft, (Tue Oct 2, 3:53 pm)
Re: metastore (was: Track /etc directory using Git), Daniel Barkalow, (Tue Oct 2, 5:02 pm)
Re: metastore, David Kastrup, (Tue Oct 2, 4:04 pm)
Re: metastore, David , (Tue Oct 2, 5:15 pm)
Re: metastore, Julian Phillips, (Tue Oct 2, 7:32 pm)
Re: metastore, , (Tue Oct 2, 8:52 pm)
Re: metastore, Johannes Schindelin, (Tue Oct 2, 8:52 pm)
Re: metastore, martin f krafft, (Tue Oct 2, 5:44 pm)
Re: metastore, , (Tue Oct 2, 4:18 pm)
Re: metastore, martin f krafft, (Tue Oct 2, 4:23 pm)
Re: metastore, , (Tue Oct 2, 4:29 pm)
Re: metastore, martin f krafft, (Tue Oct 2, 4:39 pm)
Re: metastore, , (Tue Oct 2, 4:54 pm)
Re: metastore, martin f krafft, (Tue Oct 2, 5:42 pm)
Re: metastore (was: Track /etc directory using Git), Johannes Schindelin, (Sat Sep 15, 6:14 pm)
Re: metastore (was: Track /etc directory using Git), martin f krafft, (Sun Sep 16, 2:14 am)
Re: metastore (was: Track /etc directory using Git), Jan Hudec, (Sun Sep 16, 11:51 am)
Re: metastore (was: Track /etc directory using Git), martin f krafft, (Mon Sep 17, 9:31 am)
Re: metastore (was: Track /etc directory using Git), , (Sat Sep 15, 9:30 pm)
Re: metastore (was: Track /etc directory using Git), Jan Hudec, (Sun Sep 16, 11:59 am)
Re: metastore, Junio C Hamano, (Sun Sep 16, 4:06 am)
Re: metastore, , (Sun Sep 16, 5:45 pm)
Re: metastore, Junio C Hamano, (Sun Sep 16, 6:11 pm)
Re: metastore, , (Sun Sep 16, 6:52 pm)
Re: metastore, Junio C Hamano, (Sun Sep 16, 8:58 pm)
Re: metastore, , (Sun Sep 16, 10:31 pm)
Re: metastore, Junio C Hamano, (Mon Sep 17, 12:23 am)
Re: metastore, Daniel Barkalow, (Mon Sep 17, 1:42 pm)
Re: metastore, Junio C Hamano, (Mon Sep 17, 3:19 pm)
Re: metastore, , (Mon Sep 17, 12:35 am)
Re: metastore, Junio C Hamano, (Mon Sep 17, 2:06 am)
Re: metastore, Daniel Barkalow, (Sun Sep 16, 11:51 am)
Re: metastore, , (Sun Sep 16, 5:12 pm)
Re: metastore, Daniel Barkalow, (Sun Sep 16, 6:02 pm)
Re: metastore, , (Sun Sep 16, 6:37 pm)
Re: metastore, martin f krafft, (Mon Sep 17, 9:30 am)
Re: metastore, , (Mon Sep 17, 1:17 pm)
Re: metastore, Josh England, (Mon Sep 17, 3:46 pm)
Re: metastore, Junio C Hamano, (Sun Sep 16, 5:28 pm)
Re: metastore, , (Sun Sep 16, 5:53 pm)
Re: metastore, Daniel Barkalow, (Sun Sep 16, 5:45 pm)
Re: metastore, David Kastrup, (Sun Sep 16, 4:30 am)
Re: metastore, , (Sun Sep 16, 4:19 pm)
Re: metastore (was: Track /etc directory using Git), Johannes Schindelin, (Sat Sep 15, 10:48 pm)
Re: metastore (was: Track /etc directory using Git), Grzegorz Kulewski, (Sat Sep 15, 12:22 pm)
Re: metastore, Randal L. Schwartz, (Sat Sep 15, 7:33 pm)
Re: metastore, Francis Moreau, (Mon Sep 17, 9:04 am)
Re: metastore, Randal L. Schwartz, (Mon Sep 17, 11:32 am)
Re: metastore, , (Sat Sep 15, 8:37 pm)
Re: metastore, Randal L. Schwartz, (Sat Sep 15, 9:10 pm)
Re: metastore, , (Sat Sep 15, 9:49 pm)
Re: metastore (was: Track /etc directory using Git), Johannes Schindelin, (Sat Sep 15, 1:43 pm)
Re: metastore, David Kastrup, (Sat Sep 15, 10:16 am)
Re: Track /etc directory using Git, Nicolas Vilz, (Fri Sep 14, 5:26 pm)
Re: Track /etc directory using Git, Pierre Habouzit, (Sat Sep 15, 10:29 am)
Re: Track /etc directory using Git, martin f krafft, (Sat Sep 15, 11:24 am)
Re: Track /etc directory using Git, Pierre Habouzit, (Sat Sep 15, 11:27 am)
Re: Track /etc directory using Git, martin f krafft, (Sat Sep 15, 11:42 am)
Re: Track /etc directory using Git, Miklos Vajna, (Thu Sep 13, 8:20 am)
Re: Track /etc directory using Git, Francis Moreau, (Fri Sep 14, 4:20 am)
Re: Track /etc directory using Git, martin f krafft, (Sat Sep 15, 12:32 pm)
Re: Track /etc directory using Git, David Kastrup, (Sat Sep 15, 12:57 pm)
speck-geostationary