Repository Reorganization Question
Herbert Valerio Riedel
hvr at gnu.org
Tue Dec 10 10:33:29 UTC 2013
On 2013-12-09 at 13:31:15 +0100, Austin Seipp wrote:
> It seems that while most people are in favor of migrating and
> preserving the history there are a few sticky bits concerning some of
> the minor details. So I think the discussion should continue, but we
> clearly shouldn't pull the trigger quite yet. testsuite etc will live
> on for a while longer.
In the mean time I've updated the branch
http://git.haskell.org/ghc.git/log/refs/heads/wip/T8545
to include the full testsuite.git history, with the history rewritten as
if the files have been always in the 'testsuite/' folder, and with the
blobs removed; moreover I've tweaked the sync-all script to check for a
left-over testsuite/.git folder, to remind users to move it out of the
way.
Thus, with the current state of the T8545 branch,
- `git blame testsuite/tests/typecheck/should_compile/all.T`
works as expected
- `git log testsuite/`
as well as
`cd testsuite/ && git log .`
works as expected
- The cleaned-from-large-blob testsuite.git history adds only about
10MiB packed transfer size (as opposed to the full ~30MiB it would
require if the blobs weren't removed)
- The historic/original testsuite.git commit hash ids are not retained
in ghc.git, as they continue to exist in the "legacy" testsuite.git
(where all current Trac hyperlinks will continue to refer to
anyway)[1];
- When peferming a `sync-all pull` (with the old `sync-all` script)
developers will get the new ghc.git-tracked `testsuite/` folder and
on the next `sync-all` invocation (which will use the updated
sync-all script for the first time) they'll be reminded/forced to
move away a possibly left-over `testsuite/.git` folder.
- At some point after the switch, `testsuite.git` should be set
read-only (for the `master` branch at least).
So, what are the current sticky bits left over given the
proof-of-concept in wip/T8545 that still need to be addressed?
[1] If we really need this for our development workflows, we could
still attempt to make use of the `git replace` facility in the
future to overlay the old commit ids. But if we don't need it (and
from the discussion so far I don't see a requirement for that),
it's better to keep it simple.
More information about the ghc-devs
mailing list