Project

General

Profile

SourceCodeRepositories » History » Version 14

Denis 'GNUtoo' Carikli, 04/10/2019 01:07 PM

1 10 Denis 'GNUtoo' Carikli
h1. Source code repositories
2 1 Wolfgang Wiedmeyer
3 14 Denis 'GNUtoo' Carikli
h2. Pushing mirrors with SSH access
4 1 Wolfgang Wiedmeyer
5 9 Denis 'GNUtoo' Carikli
If you have SSH access, you can then clone the git repository directly on the server. This is way faster than having to push the code from a slow ADSL connection for instance.
6 1 Wolfgang Wiedmeyer
7
# Check the LineageOS manifest for newly added repos
8 3 Wolfgang Wiedmeyer
# If there are any, add them in the LineageOS-mirror manifest and push the changes to git.replicant.us
9
# If there are any, create the newly added repos in the LineageOS-mirror group (using the exact same names the repos have in LineageOS)
10 5 Joonas Kylmälä
<pre>
11 7 Denis 'GNUtoo' Carikli
# sudo -iu git
12
$ cd repositories/LineageOS-mirror/
13
$ git clone --mirror git://github.com/LineageOS/<repo-name>.git
14
$ cd <repo-name>.git
15 1 Wolfgang Wiedmeyer
$ touch git-daemon-export-ok
16 7 Denis 'GNUtoo' Carikli
</pre>
17 1 Wolfgang Wiedmeyer
18 14 Denis 'GNUtoo' Carikli
h2. Pushing the code without SSH
19 1 Wolfgang Wiedmeyer
20
Replicant uses gitolite to handle git access.
21
22 14 Denis 'GNUtoo' Carikli
h3. Creating repositories
23
24
You need someone with SSH access to do that for you:
25
<pre>
26
sudo -iu git
27
mkdir repositories/<groupname>/<repo-name>.git
28
cd repositories/<groupname>/<repo-name>.git
29
git --bare init
30
touch git-daemon-export-ok
31
</pre>
32
33
<groupname> is to be replaced by the repository namespaces. For instance:
34
* replicant is used for the source code used in Replicant that has been created or modified by Replicant
35
* LineageOS-mirror is used to mirror LineageOS source code
36
* AOSP-mirror is used to mirror the Android Open Source Project(AOSP) source code
37
* Many other groupnames are for Replicant contributors like Fil, GNUtoo, JeremyRand, PaulK, Tehnoetic and wiewo
38
39
h2. Gitoilte access
40
41 12 Denis 'GNUtoo' Carikli
gitolite is configured by configuration files stored in git. The repository that handles that is at:
42
<pre>
43
ssh://git@git.replicant.us/gitolite-admin
44 13 Denis 'GNUtoo' Carikli
</pre>
45
46
Examples of push URL can be found in the various repositories in cgit.
47
48 1 Wolfgang Wiedmeyer
For instance for "omap-usb-boot":https://git.replicant.us/contrib/PaulK/omap-usb-boot/ we can see the following URL:
49 13 Denis 'GNUtoo' Carikli
<pre>
50
ssh://git@git.replicant.us/PaulK/omap-usb-boot
51
</pre>
52
53 14 Denis 'GNUtoo' Carikli
h2. cgit
54 1 Wolfgang Wiedmeyer
55 11 Denis 'GNUtoo' Carikli
See [[Cgit]] for where to adjust its configuration. 
56
57
Once the code is pushed you will need to adjust the cgit configuration to make it appear on the web interface.
58 1 Wolfgang Wiedmeyer
59
h3. Bundles
60
61
It's worth to check if all mirror repos have bundles in place.
62
63
h3. CAF variants
64
65
If we ever add support for a device that uses CAF branches of Qualcomm repos, we need to figure out how the mirror can still be updated and how releases can be tagged.
66
67
CAF branches are in the same repos as the default branches. So two or more local repos are created for one remote repo when the default branch and the CAF branches are checked out. The current setup for tagging a new release and updating the mirror assumes that there is one local repo for one remote repo.