Gentoo Archives: gentoo-portage-dev

From: gmt@×××××.us
To: gentoo-portage-dev@l.g.o
Subject: RE: [gentoo-portage-dev] [PATCH 0/3] Add cross-prefix support
Date: Mon, 17 Jun 2013 11:44:42
Message-Id: 031301ce6b50$05787860$10696920$@malth.us
In Reply to: Re: [gentoo-portage-dev] [PATCH 0/3] Add cross-prefix support by Ruud Koolen
1 On Mon, 17 Jun 2013, at 01:00, Ruud Koolen thusly quipped:
2 > I also didn't test whether these patches work on the prefix-portage branch. I
3 > don't really know much far prefix-portage diverges from mainline portage, so I
4 > don't know whether I should expect it to just work.
5
6 Prefix portage is literally a branch -- in the git sense of the term -- of the regular portage git repo on g.o.g.o. So, a good place to start is to check out that branch and see if your diffs apply. When I am doing work that I expect to flow into both branches, I typically maintain a "master" and prefix_master private branch, with the latter set to pull from origin/prefix, i.e.:
7
8 [remote "origin"]
9 fetch = +refs/heads/*:refs/remotes/origin/*
10 url = /usr/src/repos/git/portage.git
11 [branch "master"]
12 remote = origin
13 merge = refs/heads/master
14 [branch "prefix_master"]
15 remote = origin
16 merge = refs/heads/prefix
17 [branch "cygwin_master"]
18 remote = .
19 merge = refs/heads/prefix_master
20
21 Guess I didn't use very consistent naming. The basic plan is, with the arrows representing flows of information to the right-hand side on "git pull":
22
23 [upstream repo] -> /usr/src/repos/git/portage.git -- a bare, vanilla clone of upstream
24 [portage.git/master] -> master (which is a private branch with upstreamable patches)
25 [portage.git/prefix] -> prefix_master (also a private branch, analogous to master, with forward-ported versions of my patches in master; upstreamable to "origin/prefix")
26 [prefix_master] -> cygwin (an experimental prefix portage "fork", downstream to all of the above)
27
28 Usually I cherry-pick patches from master into prefix_master and perform up any merges at that phase, and then just "git checkout cygwin ; git pull" to merge those (vs.-vanilla-prefix-portage) patches into my experimental prefix portage fork.
29
30 I do that way because my eyes simply glaze over when I try to read that whole business about prune-and-graft in git merge --help; however if you end up with a huge pile of patches to merge, the prune-graft approach should work perfectly fine to move deltas from master to prefix-master.
31
32 -gmt