Gentoo Archives: gentoo-soc

From: Jonas Bernoulli <jonas@×××××××.li>
To: gentoo-soc@l.g.o
Subject: Re: [gentoo-soc] Configuration managment system
Date: Thu, 26 Mar 2009 15:26:36
Message-Id: 201bac3a0903260826s71d39310udb7a22389dcb7b94@mail.gmail.com
In Reply to: Re: [gentoo-soc] Configuration managment system by Caleb Cushing
1 On Thu, Mar 26, 2009 at 12:15, Caleb Cushing <xenoterracide@×××××.com> wrote:
2 > On Wed, Mar 25, 2009 at 10:11 PM, Jonas Bernoulli <jonas@×××××××.li> wrote:
3 >>
4 >> For various reasons "etc-under-version-control" loses much of the
5 >> power and/or ease of use that comes with the underlying vcs. Much of
6 >> this being due to the fact that the files being kept in the repository
7 >> are totally unrelated.
8 >>
9 >> The solution to this obviously is to maintain a separate branch for
10 >> each package.
11 >
12 > I have to ask, what's the 'obviousness' here?
13
14 What I basically said is "the problem is that unrelated files live in
15 the same branch, the solution obviously is to use separate branches".
16 While one might disagree that this actually is a problem the
17 conclusion can't really get much more obvious - it might even qualify
18 as a tautology :-)
19
20 > I don't see why each
21 > package should have it's own branch, if they are not related,
22
23 Because this allows you to say "these changes I have made to $package
24 are grap, make them go way" (git reset --hard HEAD~n). Without
25 seperate branches you would have to create a new commit in which only
26 some files where reverted to previous state (git checkout HEAD~n --
27 file; git commit file). This clutters history.
28
29 Or some user has problem configuring a given program, and asks on the
30 forum. With separate branches she could be pointed at a particular
31 branch in some repository which contains a working configuration for
32 that application. She certainly is not interested in the config files
33 of some other applications she has never heard about before.
34
35 > A they should have their own repo,
36 > B, they should be in the same branch.
37
38 They should be in different repositories but in the same branch? That
39 ain't gonna work :-) What do you mean by this?
40
41 (I think you are saying that each package should have it's own
42 repository. Some things you said however seam to contradict this.)
43
44 > their relation is relative as they are all configs for a system.
45
46 True. But not all config files are related. Setting up a screensaver
47 is totally unrelated to your firewall.
48
49 Some things are related however and a particular configuration of
50 package A might only make sense when package B is configured a certain
51 way. Therefor confsink has to support something like @sets.
52
53 > I'm a big git user so I'm trying to understand conceptually what you're on about.
54
55 Think git-submodule where the submodules do not have to live in
56 dedicated subdirectories. I will elaborate on this shortly.
57
58 This is way having all branches of all packages in the same repository
59 is better than having them split into separate repositories. You can
60 easily add some other file tracking the states of the installed
61 "submodules". Of course it is also possible to track this information
62 in some other way: in another branch in an other branch, but this
63 complicates things unnecessarily.
64
65 Actually implementing git-intermixed as a less restrictive alternative
66 to git-submodules would be the very first step towards confsink.
67 .
68 -- Jonas

Replies

Subject Author
Re: [gentoo-soc] Configuration managment system Caleb Cushing <xenoterracide@×××××.com>