Gentoo Archives: gentoo-dev

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Portage Git migration - clean cut or git-cvsserver
Date: Thu, 31 May 2012 16:50:24
Message-Id: robbat2-20120531T163959-415201853Z@orbis-terrarum.net
In Reply to: Re: [gentoo-dev] Re: Portage Git migration - clean cut or git-cvsserver by Dirkjan Ochtman
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

Replies