1 |
On Thu, Jul 2, 2015 at 8:51 PM, Robin H. Johnson <robbat2@g.o> wrote: |
2 |
> On Thu, Jul 02, 2015 at 06:05:10PM -0400, Rich Freeman wrote: |
3 |
>> On Thu, Jul 2, 2015 at 5:39 PM, Robin H. Johnson <robbat2@g.o> wrote: |
4 |
>> > 2015/08/08 15:00 UTC - Freeze |
5 |
>> > 2015/08/11 - History repo available to graft |
6 |
>> I'm not sure if you already had plans for creating the history, but |
7 |
>> I've generally been able to turn them around in 12 hours without |
8 |
>> really trying too hard. |
9 |
> I expect verification of the conversion to take longer than the runs, |
10 |
> and that we're going to find we miss something at least once, so it'll |
11 |
> be 2 or 3 runs before we get output we're happy with. |
12 |
|
13 |
I'm sure we'll be doing 10-20 runs over the subsequent 3 years before |
14 |
we really get it "perfect." :) I've never had an issue with doing a |
15 |
migration, but if you look closely enough I'm sure you'll find |
16 |
something that could be done better, especially with the commit |
17 |
merging. In particular you'll probably almost never get a tree in the |
18 |
past where all the Manfests are valid. I don't really see that as |
19 |
being important, however. |
20 |
|
21 |
> |
22 |
>> I have it all running in a container/chroot |
23 |
>> where I mount the cvsroot so I could probably get it running on EC2 or |
24 |
>> elsewhere easily enough if we're in a real hurry. |
25 |
> Can you publish the container? Letting other people be able to replicate |
26 |
> the result here would be a benefit, and we can easily shuffle it as |
27 |
> well. |
28 |
|
29 |
I'll take a look at it and see if I can clean out anything sensitive. |
30 |
I have published all my conversion sources on github: |
31 |
https://github.com/gentoo/git-migration-scripts-rich0 |
32 |
|
33 |
I'll publish a tarball of the container when I can make sure it |
34 |
doesn't contain any keys/etc. I do believe that you need a patch for |
35 |
cvs2svn to get it to use the old date format. |
36 |
|
37 |
> |
38 |
>> If I had a ton of RAM and store everything in tmpfs then I suspect |
39 |
>> that it could be done faster - |
40 |
> How much RAM & CPU have you been running it with? I was planning on |
41 |
> 64GB+ tmpfs and 12+ dedicated cores. |
42 |
|
43 |
I've been running it on 16GB+4 amd64 cores (ie nothing all that |
44 |
fancy). I do the output to tmpfs and use a squashfs cvsroot as the |
45 |
input typically, but that isn't ideal in a hurry since creating a |
46 |
squashfs takes time (the goal was to cut down on disk IO). The actual |
47 |
migration uses very little RAM - it is just whatever you stick in |
48 |
tmpfs. |
49 |
|
50 |
>> With git replace we don't need the history to go live, and this also |
51 |
>> means that if we find a mistake in the history we can fix it and issue |
52 |
>> a new history. So, there isn't really a rush. But, if you don't |
53 |
>> already have the history conversion taken care of or need it faster, I |
54 |
>> can take care of it. |
55 |
> The history is needed within a few days if we go with the changelog |
56 |
> generation step; but is NOT in the critical path for developers being |
57 |
> able to carry on committing. |
58 |
> |
59 |
|
60 |
I'll go ahead and try to give you what I have. It sounds like you |
61 |
have it under control, but if you need me to do anything just let me |
62 |
know. I'll see about getting that container packaged up in case it is |
63 |
useful. That was why I containerized it in the first place. I |
64 |
typically run it in a network namespace using nspawn for convenience, |
65 |
but I'm sure you could easily just chroot into the thing after |
66 |
bind-mounting in whatever you need. |
67 |
|
68 |
-- |
69 |
Rich |