All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: vogt@linux.vnet.ibm.com
Cc: git@vger.kernel.org
Subject: Re: Setting file timestamps to commit time (git-checkout)
Date: Mon, 09 Dec 2013 12:35:38 -0800	[thread overview]
Message-ID: <xmqqsiu1yd7p.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20131209112528.GA5309@linux.vnet.ibm.com> (Dominik Vogt's message of "Mon, 9 Dec 2013 12:25:28 +0100")

Dominik Vogt <vogt@linux.vnet.ibm.com> writes:

> Me and some colleagues work on gcc in lots of different branches.
> For each branch there is a separate build directory for each
> branch, e.g. build-a, build-b and build-c.  Let's assume that all
> branches are identical at the moment.  If a file in branch a is
> changed that triggers a complete rebuild of gcc (e.g.
> <target>.opt), rebuilding in build-a takes about an hour.  Now,
>  when I switch to one of the other branches, said file is not
> identical anymore and stamped with the _current_ time during
> checkout.  Although branch b and c have not changed at all, they
> will now be rebuilt completely because the timestamp on that files
> has changed.

I am not quite sure I follow your set-up.  Do you have three working
trees connected to a repository (via contrib/workdir/git-new-workdir
perhaps), each having a checkout of its own branch?  And in one
working directory that has build-a checked out, a new commit touches
one file, <target>.opt, to make a new commit:

Before:

    ---o---o---X
               ^ refs/heads/build-a
                 refs/heads/build-b
                 refs/heads/build-c

After:
                   v refs/heads/build-a
    ---o---o---X---Y
               ^ refs/heads/build-b
                 refs/heads/build-c

Because you said that branch b and c hasn't changed at all, I do not
see how your build-b and/or build-c directories become dirty.

  reply	other threads:[~2013-12-09 20:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-09 11:25 Setting file timestamps to commit time (git-checkout) Dominik Vogt
2013-12-09 20:35 ` Junio C Hamano [this message]
2013-12-10  8:35   ` Dominik Vogt
2013-12-10 19:02     ` Andreas Schwab
2013-12-11  7:37       ` Dominik Vogt
2013-12-11  1:39     ` Constantine A. Murenin
2013-12-09 20:48 ` Jonathan Nieder
2013-12-10  8:46   ` Dominik Vogt
2013-12-10 10:34     ` Duy Nguyen
2013-12-11  1:08       ` Jonathan Nieder
2013-12-11  1:01     ` Jonathan Nieder

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=xmqqsiu1yd7p.fsf@gitster.dls.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=vogt@linux.vnet.ibm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.