Please don't rebase / ff the git master branches

H. S. Teoh hsteoh at quickfur.ath.cx
Fri Nov 15 15:06:25 PST 2013


On Fri, Nov 15, 2013 at 11:51:03PM +0100, qznc wrote:
[...]
> It is sad that D history cannot be nicely tracked, because it is
> split into three repositories without git having a clue about
> dependencies between them.
> 
> At work we have a C compiler frontend [0] and a backend [1] in
> different repos. The frontend includes the backend as a git
> submodule. Therefore the frontend always uses a specific revision
> of the backend. Bisecting is trivial now. Faulty commits to the
> backend cannot not break the frontend, because it still points to
> a previous revision.
[...]

Yeah, I ran into this propblem too. Since druntime/phobos changes quite
often depend on new compiler features, this means that you can't
effectively git bisect bugs that go back more than a few months ago,
since druntime/phobos will stop compiling.

I've been working around this (imperfectly) by checking out
druntime/phobos by approximate dates of the current dmd version being
bisected, but the result from this kind of bisection is on shaky ground
since it may not represent the actual state of things at that particular
juncture (it may not even represent any actual combination of
dmd/druntime/phobos that was actually in use at any time!).

Maybe we should incorporate druntime/phobos as submodules in the dmd
repos? This will greatly help in tracking down regressions with git
bisect (I remember there were a few that I couldn't track down because
of the difficulty of finding the correct druntime/phobos versions needed
for a particular version of dmd). This will also give us a much better
history of D development.


T

-- 
This is not a sentence.


More information about the Digitalmars-d mailing list