D.git

Vladimir Panteleev vladimir at thecybershadow.net
Tue Dec 24 18:19:22 PST 2013


I wrote a tool which generates a git repository containing the D 
components as submodules:

https://github.com/CyberShadow-D/D

This repository has a linear history, and contains only updates 
to its submodules. The submodule updates are mainly pull request 
merge commits, obtained by traversing each repository's commit 
tree, starting with the master branch, through each commit's 
first parent. These commits are interwoven in a chronological 
order, so that all pull requests merged within the same 
week/day/hour are always neighbored together, regardless of the D 
component.

The result is a repository which should be much easier to 
regression-test than individual D components, as there are often 
D changes which require simultaneous changes to several 
components. Using this repository with "git bisect run" allows 
easily pinpointing the pull request which introduced a regression.

The repository updates hourly. The tool itself can be found here:

https://github.com/CyberShadow/D-dot-git

TODO: support branches other than master. This will expose 
release tags currently hidden on release branches (however, I'm 
not sure how useful that would be to git bisect in this 
particular case).


More information about the Digitalmars-d mailing list