1 |
On Wed, May 30, 2012 at 10:31:06PM +0200, Dirkjan Ochtman wrote: |
2 |
> On Wed, May 30, 2012 at 8:33 PM, Robin H. Johnson <robbat2@g.o> wrote: |
3 |
> > No, the last mock conversion is still live and updating fairly often: |
4 |
> > http://git-exp.overlays.gentoo.org/gitweb/?p=exp/gentoo-x86.git;a=summary |
5 |
> Since you seem to know most about this project, can you give a short |
6 |
> summary on what *you* think are hard blockers for the migration? |
7 |
There are only two items from my perspective. |
8 |
1. |
9 |
Discussion on merge policy. Originally I thought we would disallow merge |
10 |
commits, so that we would get a cleaner history. However, it turns out that if |
11 |
the repo ends up being pushed to different places with slightly different |
12 |
histories, merges are absolutely going to be required to prevent somebody from |
13 |
having to rebase at least one of their sets of commits that are already pushed. |
14 |
|
15 |
2. |
16 |
Git-SVN breakage. Why does this matter you're wondering? |
17 |
We need the newer Git for the commit signing, but it comes with a |
18 |
price, the git-svn binary has some major failures with SVN 1.7. |
19 |
Git since 1.7.8 has been broken this way. |
20 |
|
21 |
You can see them best with the testsuite. I haven't keyworded those ebuilds for |
22 |
git at all, because git-svn in some of my tests ended up being destructive of |
23 |
the repository - it actually lost data. |
24 |
|
25 |
The error sometimes turns up like this. |
26 |
|
27 |
Initialized empty Git repository in /dev/shm/portage/dev-vcs/git-9999/work/git-9999/t/t d.t9155/git_project/.git/ |
28 |
svn: E235000: In file 'subversion/libsvn_subr/dirent_uri.c' line 2291: assertion failed (svn_uri_is_canonical(url, pool)) |
29 |
|
30 |
This is seemingly due to a change in SVN 1.7 that is stricter about all paths |
31 |
(both URIs and to files/directories) being properly escaped. |
32 |
|
33 |
Upstream Git has made no progress on it in more than 6 months. |
34 |
Both ferringb and I put several weeks of work into it without succeeding. |
35 |
|
36 |
If you want to reproduce it: |
37 |
- Upgrade your SVN to 1.7 |
38 |
- Build & run the git testsuite |
39 |
- Most of the t91xx tests will fail, because the working dir is 'trash directory'. |
40 |
- If you patch the working dir to be 'trash_directory', you'll be left with |
41 |
failures in at least: t9100 t9118 t9120 |
42 |
Because those are the tests that have whitespace or other characters that |
43 |
need escaping. |
44 |
|
45 |
The last version of my patch is files/git-1.7.8-git-svn-1.7-canonical-path.patch |
46 |
but it caused more problems than it fixed. |
47 |
|
48 |
-- |
49 |
Robin Hugh Johnson |
50 |
Gentoo Linux: Developer, Trustee & Infrastructure Lead |
51 |
E-Mail : robbat2@g.o |
52 |
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 |