gitolite/t/out/t01-repo-groups.2
Sitaram Chamarty 10a30c961d (major change in big-config mode) split the compiled config file
Fedora's config has over 11,000 repositories and the compiled config
file is over 20 MB in size.  Although negligible on a server class
machine, on my laptop just parsing this file takes a good 2.5 seconds.

Even if you use GL_ALL_READ_ALL (see a couple of commits before this
one) to remove the overhead for 'read's, that's still a pretty big
overhead for writes.  And GL_ALL_READ_ALL is not really a solution for
most people anyway.

With this commit, using GL_BIG_CONFIG adds another optimisation; see
doc/big-config.mkd for details (look for the word "split config" to find
the section that talks about it).

----

Implementation notes:

  - the check for GL_NO_CREATE_REPOS has moved *into* the loop (which it
    completely bypassed earlier) so that write_1_compiled_conf can be
    called on each item
2011-01-02 11:30:29 +05:30

74 lines
940 B
Groff

$data_version = '1.7';
%repos = (
'@g1' => {
'@g1' => [
[
2,
'refs/.*',
'RW+'
]
],
'@g2' => [
[
3,
'refs/.*',
'RW'
]
],
'R' => {
'@g1' => 1,
'@g2' => 1
},
'W' => {
'@g1' => 1,
'@g2' => 1
}
}
);
%groups = (
'@g1' => {
'aa' => 'master',
'bb' => 'master'
}
);
%split_conf = (
'gitolite-admin' => 1,
'testing' => 1
);
repositories/gitolite-admin.git/gl-conf
repositories/testing.git/gl-conf
%one_repo = (
'gitolite-admin' => {
'R' => {
'tester' => 1
},
'W' => {
'tester' => 1
},
'tester' => [
[
0,
'refs/.*',
'RW+'
]
]
}
);
%one_repo = (
'testing' => {
'@all' => [
[
1,
'refs/.*',
'RW+'
]
],
'R' => {
'@all' => 1
},
'W' => {
'@all' => 1
}
}
);