aboutsummaryrefslogtreecommitdiff
blob: 455cf133850e99ee0fedb507dee97b2fbf89c678 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?xml version="1.0" encoding="UTF-8"?>
<guide self="general-concepts/git-to-rsync/">
<chapter>
<title>Git to RSYNC</title>

<body>

<p>
  Changes made to the tree are propagated to the users in stages:
</p>

<ul>
  <li>
    Developer commits to local Git clone and pushes to central remote
    Git repository. Commits and pushes are signed using Git
    mechanisms based on GPG.
  </li>
  <li>
    Staging box syncs from central Git repository, generates the metadata cache, ChangeLogs and signed Manifests from Git history.
  </li>
  <li>
    <c>rsync1</c> syncs from the staging box.
  </li>
  <li>
    Public rsync servers sync from <c>rsync1</c>.
  </li>
  <li>
    Users sync from the public rsync servers.
  </li>
</ul>

<figure short="Git to RSYNC Propagation" link="diagram.png"
  caption="Diagram showing Git to RSYNC propagation" />

<p>
  The <c>emerge-websync</c> snapshot is made daily from the staging box.
</p>

</body>
</chapter>
</guide>