1 |
On Tue, Sep 30, 2014 at 10:08 PM, Rich Freeman <rich0@g.o> wrote: |
2 |
> |
3 |
> If you'd like to contribute another agenda item, please reply to this email. |
4 |
> |
5 |
|
6 |
I'll offer up a further topic for the git migration. |
7 |
|
8 |
I propose that we're basically ready to go with the git migration. We |
9 |
have a proposed workflow, we have a reasonable migration path for |
10 |
history, and a "perfect" migration process for the current tree, and |
11 |
we now have back-end scripts for adding metadata, manifests, etc and |
12 |
creating an rsync tree. |
13 |
|
14 |
There are open questions around things like news and changelogs |
15 |
already on the agenda. |
16 |
|
17 |
I'm not quite sure how to frame the question I'd like the council to |
18 |
answer, but I'd really like to get this down to, "is anything left or |
19 |
can we do this already?" |
20 |
|
21 |
The biggest concerns I see as pending are changelogs which have |
22 |
already been hashed out, and whether we need a better migration of the |
23 |
cvs history before we go. Changelogs have already been hashed out so |
24 |
I'll summarize where migration of history stands. |
25 |
|
26 |
Right now the migration process generates a full cvs history in git, |
27 |
with a number of caveats: |
28 |
1. CVS tracks history at the file level, git at the tree level. The |
29 |
migration process tries to match up corresponding changes, but this is |
30 |
far from perfect. So, many commits will contain non-matching |
31 |
manifests and files, which means manifests will not pass. The only |
32 |
place we can be sure there won't be manifest issues (other than those |
33 |
already in cvs) is in the final commit, which matches the active tree. |
34 |
|
35 |
2. CVS keywords are a mess in general. There are a bunch of |
36 |
situations which cause them to not match. This could be improved, but |
37 |
I'm really wondering if we should bother. |
38 |
|
39 |
I'd propose that we really make the requirement be that the final tree |
40 |
with manifests matches. We're actually going to ditch the manifests |
41 |
anyway, and likely even header keywords and changelogs (likely in |
42 |
later commits). Many projects have migrated to git without setting a |
43 |
goal of a perfect history migration, and our heavy use of keywords and |
44 |
manifests makes our case particularly tricky if we want a "perfect" |
45 |
migration. |
46 |
|
47 |
Now that git has the "replace" function I'd suggest that we view the |
48 |
tree moving forward and the historical tree as separate problems. We |
49 |
can migrate the active tree to git and move forward, and then we can |
50 |
make a pretty useful git migration for those who want to look |
51 |
backwards. If anybody wants to further improve the historical tree |
52 |
they could do so at any time - all the code is open source and we can |
53 |
make the data available. However, I just don't know much interest |
54 |
there really is in a "perfect" historical migration and certainly |
55 |
there isn't an army of volunteers working to improve cvs2svn/etc. In |
56 |
fact, half the issues I do run into involve digging up 10-year-old |
57 |
mailing list posts since that was when most of the rest of the world |
58 |
was interested in ditching cvs. |
59 |
|
60 |
Obviously the actual migration requires some coordination with |
61 |
infra/etc, but I'd like to shift the bias towards action and ask "why |
62 |
not now?" If there are good reasons to wait, let's discuss them, |
63 |
agree whether they're issues, and then work out a plan to resolve |
64 |
them. |
65 |
|
66 |
-- |
67 |
Rich |