Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] My masterplan for git migration (+ looking for infra to test it)
Date: Mon, 15 Sep 2014 17:38:13
Message-Id: 54172400.9050100@gentoo.org
In Reply to: Re: [gentoo-dev] My masterplan for git migration (+ looking for infra to test it) by Rich Freeman
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 14/09/14 08:57 PM, Rich Freeman wrote:
5 > On Sun, Sep 14, 2014 at 7:21 PM, Patrick Lauer <patrick@g.o>
6 > wrote:
7 >>
8 >> iow, git doesn't allow people to work on more than one item at a
9 >> time?
10 >>
11 >> That'd mean I need half a dozen checkouts just to emulate cvs,
12 >> which somehow doesn't make much sense to me ...
13 >>
14 >
15 > Well, you can work on as many things as you like in git, but it
16 > doesn't keep track of what changes have to do with what things if
17 > you don't commit in-between. So, you'll have a big list of changes
18 > in your index, and you'll have to pick-and-choose what you commit
19 > at any one time.
20 >
21 > If you really want to work on many things "at once" the better way
22 > to do it is to do a temporary branch per-thing, and when you
23 > switch between things you switch between branches, and then move
24 > into master things as they are done.
25 >
26 > I assume you mean working on things that will take a while to
27 > complete. If you just want to do 15 standalone commits before you
28 > push you can do those sequentially easily enough. A branch would
29 > be more appropriate for some kind of mini-project.
30 >
31 > You can work on branches without pushing those to the master repo.
32 > Or, if appropriate a project team might choose to push their branch
33 > to master, or to some other repo (like an overlay). This would
34 > allow collaborative work on a large commit, with a quick final
35 > merge into the main tree. That is the beauty of git - branches are
36 > really cheap. So are repositories - if somebody wants to do all
37 > their work in github and then push to the main tree, they can do
38 > that.
39 >
40
41 Actually i see what Patrick's getting at -- I have similar issues when
42 working with mozilla stuff. if you're using local (temporary)
43 branches, the whole tree is in the state of that current checkout,
44 right? IE, while I have my firefox-update branch active and working
45 for an 'ebuild ... install', I can't be doing work in my
46 'freewrl-update' branch unless I make multiple separate repo trees,
47 one for each independently-separate workflow i want to do concurrently.
48
49 Ideal here would be the ability to have separate active checkouts of a
50 repo on a per-shell basis, ie each shell invocation would be able to
51 work concurrently and distinctly on distinct branches; anyone done
52 that before? Does git do it already?
53
54 -----BEGIN PGP SIGNATURE-----
55 Version: GnuPG v2
56
57 iF4EAREIAAYFAlQXJAAACgkQ2ugaI38ACPBREAD/YnsyY+fAK1TEXgzNYHBCq138
58 Q5Bj+J6pNGX8aBDjjHoA/iyy5CWxhyAYE3buSOXkEvFfhm/716DsQIptpX7JpS0m
59 =YrIG
60 -----END PGP SIGNATURE-----