git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Bill Lear <rael@zopyra.com>
Cc: "Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Karl Hasselström" <kha@treskal.com>,
	git@vger.kernel.org
Subject: Re: Git checkout preserve timestamp?
Date: Mon, 5 Mar 2007 19:21:25 -0500	[thread overview]
Message-ID: <20070306002125.GB19634@thunk.org> (raw)
In-Reply-To: <17900.43487.947400.649777@lisa.zopyra.com>

On Mon, Mar 05, 2007 at 05:38:07PM -0600, Bill Lear wrote:
> 
> No, I think you missed my point.  There are two xyz.o's:
> 
> One in .master/xyz.o, and one in .branchX/xyz.o.  So, you're example
> becomes:

Are you assuming that the makefile will automatically figure out which
branch you are on, and then redirect the .o to the right
<.branch-name> directory?  That's the only thing that makes sense,
since if you are using VPATH and depending on the developer being
cd'ed into .master when the current branch is master, and cd'ed into
.branchX when the current branch is branchX, and the developer types
make at when they are in the .master directory but the current branch
is branchX, the result will be a huge, confusing mess.

But of course, the Makefile is under source control itself, and if at
a previous point in time the Makefile didn't have the magic .git
directives, then you could do the build and have the the wrong thing
happen.

So it seems to be a very fragile solution compared to using multiple
working directories, or using ccache.  It could be a tad bit more
efficient than using ccache or multiple directories, but the real
question is whether it really is worth the effort, and potential
support difficulties if some confused user turns on this feature with
the proper git magic in their makefiles, and then the git mailing list
gets the support burden.


That being said, I have often wished that there was some way I could
use all of those autogenerated html and man pages to spead up the
"make doc" process in git.  Ccache doesn't work because it doesn't
understand asciidoc or xmlto, and there are all of these conveniently
generated output files in the origin/man and origin/html, but unless
we are building exactly the same git release as described in the log
message in the origin/man or origin/html branch.  

What would be really cool would be some way of generating some kind of
database that mapped the SHA1 hash of the SHA1 hash of the
dependencies of a particular output file to the SHA1 hash of the glob
of the generated output file as found in origin/man and origin/html.
This would basically be a way of integrating ccache functionality into
git, but for the HTML and man page outputs, which delta compress
nicely and therefore makes a lot of sense to include in a git
repository like Junio is doing already.  I'm not sure how much sense
this would make for storing the .o globs in the git repository
(although there are some SCM's, like Clearcase who do this), but in
theory it could be used for that as well.  The case is much more
compelling with the generated documentation files, though.

					- Ted

  parent reply	other threads:[~2007-03-06  0:21 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-01 21:36 Git checkout preserve timestamp? Bill Lear
2007-03-01 21:48 ` Alex Riesen
2007-03-01 22:13 ` Johannes Schindelin
2007-03-01 22:25 ` Linus Torvalds
2007-03-01 22:32   ` Johannes Schindelin
2007-03-02  9:14 ` Karl Hasselström
2007-03-02 13:24   ` Bill Lear
2007-03-02 15:01     ` Bart Trojanowski
2007-03-02 15:18     ` Johannes Schindelin
2007-03-02 16:21       ` Karl Hasselström
2007-03-02 19:21         ` Johannes Schindelin
2007-03-05  7:23           ` Karl Hasselström
2007-03-05 11:32             ` Johannes Schindelin
2007-03-05 12:28               ` Karl Hasselström
2007-03-05 19:04               ` Bill Lear
2007-03-05 19:16                 ` Johannes Schindelin
2007-03-05 19:59                   ` Bill Lear
2007-03-05 20:44                     ` Johannes Schindelin
2007-03-05 21:42                       ` Bill Lear
2007-03-05 21:50                         ` Linus Torvalds
2007-03-05 22:03                           ` Matthieu Moy
2007-03-05 22:25                           ` Bill Lear
2007-03-05 22:37                             ` Linus Torvalds
2007-03-05 23:20                               ` Bill Lear
2007-03-05 23:32                                 ` Johannes Schindelin
2007-03-05 23:38                                   ` Bill Lear
2007-03-05 23:50                                     ` Johannes Schindelin
2007-03-06  0:06                                       ` Michael Poole
2007-03-06  0:20                                         ` Johannes Schindelin
2007-03-06  0:37                                           ` Michael Poole
2007-03-06  1:40                                             ` Johannes Schindelin
2007-03-06  0:32                                         ` Junio C Hamano
2007-03-06 18:39                                           ` Sergio Callegari
     [not found]                                         ` <7vo dn7w6rz.fsf@assigned-by-dhcp.cox.net>
2007-03-06  1:21                                           ` Jakub Narebski
2007-03-06  0:24                                       ` Bill Lear
2007-03-06  1:34                                         ` Johannes Schindelin
2007-03-06  1:59                                           ` Bill Lear
2007-03-06  0:06                                     ` Martin Langhoff
2007-03-06  0:21                                     ` Theodore Tso [this message]
2007-03-05 22:39                             ` Matthieu Moy
2007-03-05 22:56                             ` Johannes Schindelin
2007-03-05 23:27                               ` Bill Lear
2007-03-05 22:02                         ` Johannes Schindelin
2007-03-05 22:29                           ` Bill Lear
2007-03-05 12:13         ` Andy Parkins
2007-03-05 12:33           ` Karl Hasselström
2007-03-05 13:19             ` Andy Parkins
2007-03-05 14:53               ` Karl Hasselström
2007-03-05 14:46           ` Bill Lear
2007-03-05 16:01             ` Andy Parkins
2007-03-05 16:28               ` Bill Lear

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=20070306002125.GB19634@thunk.org \
    --to=tytso@mit.edu \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=kha@treskal.com \
    --cc=rael@zopyra.com \
    --cc=torvalds@linux-foundation.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).