zsh-workers
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh workers <zsh-workers@zsh.org>
Subject: Re: git branches and compilation
Date: Mon, 17 Jun 2013 10:04:19 -0700	[thread overview]
Message-ID: <130617100419.ZM16218@torch.brasslantern.com> (raw)
In-Reply-To: <CAHYJk3Rgbd3oW+VfAnAiDG4y9AssKoc5qFTQpCV=HZEmLFVi_A@mail.gmail.com>

On Jun 17, 12:57pm, Mikael Magnusson wrote:
}
} > Having been annoyed a couple of times by things not recompiling when a
} > different branch is checked out (especially the texinfo inputs in Doc/,
} > leading to reams of bad node errors when doing "make info") I dug into
} > this a bit further and found "metastore".
} 
} I don't quite understand the purpose... When you change branches you want
} the source files to have an updated mtime, otherwise they will not be newer
} than the build files of the previously checked out branch and make will not
} rebuild. So what git does is what you usually want for source code -> "the
} files on disk changed so rebuild". How does setting the timestamps older
} help?

This is probably because I'm using build trees that are separated from
the source tree (cf. patch in 31474) so I have several different sets
of build files with different timestamps.  When I change brances, only
the files that are different on the new branch get an updated mtime.  In
some case "different" means "reverted to an older version" which is not
really newly modified.

This causes the relative mtimes of source files to one another to be off,
so in some cases the Makefiles themselves need to be rebuilt but are not.
This also affects doc files that have cross-references and all need to be
rebuilt together, but don't have mutual dependency reflected in Makefile.

It's possible that in the latter case I'm just masking the problem and NOT
recompiling things that need to be.  As I said, I haven't had a chance to
test it very thoroughly.

I could believe that (re)storing timestamps of the object files may cause
a problem, so in fact it's likely essential to the process that I'm using
separate build trees.


  reply	other threads:[~2013-06-17 17:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-15 19:46 Bart Schaefer
2013-06-17 10:57 ` Mikael Magnusson
2013-06-17 17:04   ` Bart Schaefer [this message]
2013-07-24 14:25 ` Richard Hartmann
2013-07-25 18:53   ` Bart Schaefer

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=130617100419.ZM16218@torch.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=zsh-workers@zsh.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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

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).