[Haskell-cafe] A small Darcs anomoly

Nick Bowler nbowler at elliptictech.com
Thu Apr 28 17:05:02 CEST 2011


On 2011-04-28 08:21 -0600, Chris Smith wrote:
> It seems to me the same problems could be solved without the necessary
> increase in complexity by:
> 
> (a) Keeping repositories in sibling directories with names.
> 
> (b) Keeping a working directory that you build in as one of these, and
> switching it to match various other named repositories as needed.  Then
> your build files are still there.

Unfortunately, sharing a build directory between separate repositories
does not work.  After a build from one repository, all the outputs from
that build will have modification times more recent than all the files
in the other repository.

When switching branches, git (and other systems) update the mtimes on
all files that changed, which will cause build systems to notice that
the outputs are out of date.  'cd' does not do this.  Thus, if you have
separate repo directories (call them A and B) with different versions of
some file, and you share a build directory between them, it is very
likely that after building A, a subsequent build of B will fail to work
correctly.

-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)



More information about the Haskell-Cafe mailing list