1
|
|
-*********************
|
2
|
1
|
DEBIAN-SPECIFIC NOTES
|
3
|
|
-*********************
|
|
2
|
+************************************************************************
|
4
|
3
|
|
|
4
|
+Git, Salsa Project, Workflow
|
5
|
5
|
------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+General
|
|
8
|
+========================================================================
|
|
9
|
+Our git repositories are hosted by the Salsa_ Service and available in
|
|
10
|
+the FTP-Team_ group. The team has all FTPMasters_ set as owner, all
|
|
11
|
+other team members are developers. The team and most of our repositories
|
|
12
|
+are visible to the public, one exception is an internal repository for
|
|
13
|
+notes used within the team only.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+dak.git_
|
|
17
|
+========================================================================
|
|
18
|
+This project contains the main code running the Debian archive,
|
|
19
|
+processing uploads, managing the various suites and releases.
|
|
20
|
+
|
|
21
|
+Contributing and workflow
|
|
22
|
+........................................................................
|
|
23
|
+Development is done in the **master** branch, be it direct commits
|
|
24
|
+from FTPMasters_ or via merges from other people (anyone is welcome to
|
|
25
|
+contribute!).
|
|
26
|
+
|
|
27
|
+If you want to contribute, please fork the code using the functions
|
|
28
|
+offered by Salsa_ and work in a branch ideally named after the
|
|
29
|
+feature/bugfix/whatever your attention is on. Try creating a
|
|
30
|
+meaningful history - it may be a single commit is all that is needed,
|
|
31
|
+it may be you need a dozen. No worry, git and its rebase function can
|
|
32
|
+help you to arrive at that easily.
|
|
33
|
+
|
|
34
|
+Please write meaningful commit messages. "Change", "Bugfix" is not
|
|
35
|
+one. It may be obvious to you now, but how about in a year? The git
|
|
36
|
+log is our changelog, *what* is changed is visible by the diff, so
|
|
37
|
+please describe *why* it changed.
|
|
38
|
+
|
|
39
|
+Whenever you arrive at something you want to merge into ``master`` (and
|
|
40
|
+consequently later into ``deploy`` to actually have it live), create a
|
|
41
|
+merge request out of it. Use the Salsa_ web interface, describe what
|
|
42
|
+it is and off it goes. You may want to allow removal of the source
|
|
43
|
+branch at merge time, then your own forked project gets cleaned up
|
|
44
|
+when the |MR| is accepted. A more detailed write up on how to navigate
|
|
45
|
+the web UI of Salsa_ for this is available at the `gitlab MR
|
|
46
|
+documentation`_ page.
|
|
47
|
+
|
|
48
|
+Next someone will review your |MR| - this can be anyone and is not
|
|
49
|
+limited to the FTPTeam_ or even FTPMasters_. Discussions may be opened
|
|
50
|
+for (parts) of your changes, please be ready to engage in them, and -
|
|
51
|
+if warranted, adjust your merge request.
|
|
52
|
+
|
|
53
|
+When all discussions are resolved and everyone is happy with the |MR|,
|
|
54
|
+one of the FTPMasters_ will merge it into the ``master`` branch.
|
|
55
|
+From there, an action from one of the FTPMasters_ will move it into
|
|
56
|
+``deploy``, which then gets installed on the Debian machines running
|
|
57
|
+the archive.
|
|
58
|
+
|
|
59
|
+The famous ``deploy`` branch
|
|
60
|
+########################################################################
|
|
61
|
+This branch is the code actually in use on the Debian machines, and it
|
|
62
|
+gets deployed (hence the name) on them automatically.
|
|
63
|
+
|
|
64
|
+To not make that a complete nightmare, the commits need to be signed
|
|
65
|
+with a gpg key from an active FTPMaster_. As such it consists of
|
|
66
|
+manual merges from the ``master`` branch, followed by a push.
|
|
67
|
+
|
|
68
|
+The cronjob for deploying the code (will) run(s) every 15 minutes.
|
|
69
|
+
|
|
70
|
+Todo/Fixme: We want to provide a script so that fetching the latest
|
|
71
|
+changes in master as well as preparing the merge commit into
|
|
72
|
+``deploy`` is one single action.
|
|
73
|
+
|
6
|
74
|
security archive
|
7
|
75
|
------------------------------------------------------------------------
|
8
|
76
|
|
... |
... |
@@ -31,3 +99,16 @@ security archive: |
31
|
99
|
|
32
|
100
|
If the .dsc is signed by an old key no longer in the keyring, use
|
33
|
101
|
``--ignore-signature``. Make **extra sure** the .dsc is *correct*.
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+.. Links and Stuff
|
|
106
|
+.. _Salsa: http://salsa.debian.org/
|
|
107
|
+.. _FTP-Team: https://salsa.debian.org/ftp-team/
|
|
108
|
+.. _FTPMasters: https://www.debian.org/intro/organization#ftpmasters
|
|
109
|
+.. _FTPTeam: https://www.debian.org/intro/organization#ftpmaster
|
|
110
|
+.. _dak.git: https://salsa.debian.org/ftp-team/dak
|
|
111
|
+.. _gitlabsmrdocs: https://docs.gitlab.com/ce/gitlab-basics/add-merge-request.html
|
|
112
|
+.. _gitlab MR documentation: https://docs.gitlab.com/ce/gitlab-basics/add-merge-request.html
|
|
113
|
+.. |MR| replace:: Merge request
|
|
114
|
+
|