git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Peter Karlsson <peter@softwolves.pp.se>
Cc: git@vger.kernel.org
Subject: Re: RCS keyword expansion
Date: Fri, 12 Oct 2007 11:02:06 +0100 (BST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0710121057540.25221@racer.site> (raw)
In-Reply-To: <Pine.LNX.4.62.0710120723480.11771@perkele.intern.softwolves.pp.se>

Hi Peter,

please do not play games with the To: header.  We have a policy here 
(which is supposed to be good netiquette) that we keep people in the Cc: 
list that we respond to.

On Fri, 12 Oct 2007, Peter Karlsson wrote:

> Johannes Schindelin:
> 
> > The problem is this: for efficiency, git does not change files which 
> > have not changes between the last version checked out (whatever that 
> > is) and the current version.
> > 
> > This seems counterintuitive to people coming from SVN/CVS: they expect 
> > _every_ file to be touched when checking out.
> 
> No? That would just be strange. Only the files that are actually changed 
> should be updated, no others. A $Date$ or $Id$ will show the last 
> time/commit that specific file was changed, not the latest global state 
> (I guess the fact that most modern VCSs have global state makes this a 
> bit more difficult to achieve, in RCS/CVS/PVCS and others the change 
> history is local to a file and thus it is trivial to find the large 
> change for that particular file).

But don't you see?  When switching branches, this totally breaks down.  
No, really, IMHO it is enough to show either the commit name or the blob 
name of the file.  After all, you are not interested in the date that this 
file was last committed, but in the _contents_.

So why not go for the contents?  With CVS/SVN you only have the chance to 
do that by date or version number.  With git, we have a more powerful way: 
we do it by a hash of the contents.

> > As Randal already suggested: if you need something like this, you 
> > better have a build procedure which replaced $Date$ _at a given time_ 
> > (make install) with the current date.
> 
> But that's not what I want. Then my build procedure would need to do a 
> "git status", or whatever you use to get the last commit information 
> about a file, on each file that is changed and is to be installed. It 
> would be a lot easier if that was done already on checkout through some 
> kind of hook.

If it's not what you want, I suggest rethinking what you want ;-)

Otherwise it is scripting time for you.  It's easy enough with git.

Ciao,
Dscho

  reply	other threads:[~2007-10-12 10:02 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-11 14:47 RCS keyword expansion Peter Karlsson
2007-10-11 15:02 ` Johannes Sixt
2007-10-11 15:09 ` Randal L. Schwartz
2007-10-11 15:59   ` Oliver Kullmann
2007-10-11 18:09     ` Alex Riesen
2007-10-11 20:47     ` Johannes Schindelin
2007-10-11 21:35       ` Sam Vilain
2007-10-12  5:26       ` Peter Karlsson
2007-10-12 10:02         ` Johannes Schindelin [this message]
2007-10-12 10:50           ` Peter Karlsson
2007-10-12 11:05             ` Johannes Sixt
2007-10-12 11:21             ` Lars Hjemli
2007-10-12 11:34             ` Johannes Schindelin
2007-10-15 14:03               ` Peter Karlsson
2007-10-15 14:28                 ` Johannes Schindelin
2007-10-12 12:57             ` Jan Hudec
2007-10-12 19:08         ` Salikh Zakirov
2007-10-12 22:42           ` Johannes Schindelin
2007-10-12 23:52             ` Zakirov Salikh
2007-10-11 17:55   ` Peter Karlsson
2007-10-11 19:21     ` Alex Riesen
2007-10-12  5:27       ` Peter Karlsson
2007-10-12 17:05         ` Barry Fishman
2007-10-12 17:44           ` Linus Torvalds
2007-10-12 17:51           ` Florian Weimer
2007-10-11 21:20     ` Sam Vilain
2007-10-11 19:16 ` Lars Hjemli

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.0710121057540.25221@racer.site \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=peter@softwolves.pp.se \
    /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).