Mestnik, Michael J - Eagan, MN - Contractor venit, vidit, dixit
17.09.2012 16:08:
>> -----Original Message-----
>> From: Michael J Gruber [] 
>> Sent: Monday, September 17, 2012 8:45 AM
>> To: Mestnik, Michael J - Eagan, MN - Contractor
>> Cc: Junio C Hamano; Johannes Sixt;
>> Subject: Re: Using Format/export-subst Howto.
>> Mestnik, Michael J - Eagan, MN - Contractor venit, vidit, dixit
>> 17.09.2012 14:12:
>>>> -----Original Message-----
>>>> From: Junio C Hamano [] 
>>>> Sent: Friday, September 14, 2012 4:24 PM
>>>> To: Michael J Gruber
>>>> Cc: Johannes Sixt; Mestnik, Michael J - Eagan, MN - 
>>>> Contractor;
>>>> Subject: Re: Using Format/export-subst Howto.
>>>> Michael J Gruber <> writes:
>>>>> you need to "rm file && git checkout file"). If the user 
>>>> has to update
>>>>> $Id$ to match the current sha1
>>>>> (by remembering to do a more forceful checkout than 
>>>> checkout -f) then
>>>>> one half of that feature is useless. 
>>>> As if there is any value in "$Id$" _feature_.  It's a 
>> checkbox item,
>>>> nothing more ;-).
>>> I agree here, $Id$ is much more useful in rcs/cvs.  That's 
>> why I chose to dive into export-subst, because I wanted my 
>> output to not only contain the uniq Id of the script but also 
>> the time and user of the last edit.
>>> I'm going to read up on export today.  Just for context I'm 
>> using git to manage daily cron scripts, run on about 1,000 
>> hosts, located on NFS.  I've moved the editing of the scripts 
>> into user's home directories as I'm a fan of not using 
>> editors on live data.  The key point is that when sudoing to 
>> the shared user who manages the files the commands run should 
>> be minimal and "pushd; ln -s ... .git; git pull; rm .git; 
>> popd;" works well.  If I can replace this with something that 
>> would populate these fields that would be awesome.
>> I'm not completely sure about the setup, but something like
>> GIT_DIR=fromthisrepo git archive usethisbranchortag |
>> git tar -xf- -C thereyougo
> Yes, that's about what the man page says.  I though I could pass 
> --keep-newer-files to tar and that would prevent files from being re-created, 
> but a "git archive --format=tar HEAD | tar -tvv" indicates that every file 
> has the current date/time and not, for example, the time of the last commit 
> that modified that file.  Not only would pushing every file be undesirable it 
> would also cause every server to pull every file and that's unacceptable.  
> Another down side, or perhaps this is the downside, to this method is that it 
> lacks any form of merge capability and will destroy local changes.

I thought it's only a few files and you don't care about merging (in
sudo), only about deploying a checkout, since you're removing the git dir.

> It looks like I'll be doing this in a hook.
> BTW: I couldn't find "git tar", if it exists that might be the way for me...  
> Depending on what it would do.

Oh yeah. Done too much git work lately. I know I keep using "git help
foo" rather than "man foo", but this one is new :)

I just meant tar.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to