document branches better
[mharc.git] / README.FSF
1 Note: This repo is prone to being force pushed because, commits are
2 meant as documentation of whats changed from upstream and whats been
3 deployed for significant periods, so sometimes its better to edit them
4 as they are developed.
5
6 We do not use use the provided read-mail to process spools and we don't
7 use lists.def. We bypass that part of mharc and call web-archive
8 instead.
9
10 This repo is based on mharc 0.7.3 release. The .dist files are all the
11 upstream except changing path names of standard utilities to match the
12 distro. I dunno what those are about.
13
14 The .dist files should never be changed except when upgrading to new
15 upstream version (and there does exist a non-release snapshot we should
16 upgrade to).
17
18 Any file with a correspond .in version should never be manually edited,
19 instead generated from the .in file by running make configure. Note,
20 make configure must be run from /home/mharc (checkout into that
21 directory on your local system).
22
23 Ansible pulls a branch with the name of the current hostname, so lists.gnu.org
24 is an alias to master, and lists.dev.fsf.org is an alias to lists.fsf.org.
25 This was achieved by doing for example:
26
27 vcs.fsf.org $
28 sudo -i -u git
29 cd /home/git/repositories/mharc.git
30 git symbolic-ref refs/heads/lists.dev.fsf.org refs/heads/lists.fsf.org
31
32 The lists.fsf.org branch should be rebased to any changes from master, like this:
33
34 git checkout lists.fsf.org
35 git rebase master
36 # if there are merge conflicts, manually merge any .in files, then
37 make configure
38 git add .
39 git rebase --continue
40 git push -f
41
42 Then on lists.fsf.org:
43
44 su mharc
45 cd
46 git fetch
47 git reset --hard origin/lists.fsf.org
48
49
50 To update existing lists headers, the only way namazu supports is to
51 rebuild the index, but that takes about 3 days. Instead, I put a random
52 unique string into the header where the list name goes, copied it to
53 /tmp, su mharc, cd to the html dir, then ran this:
54
55 for x in */NMZ.head; do sed "s/gachJefyeonJoa/${x%/*}/g" /tmp/NMZ.head>$x || { echo failed on $x; break; } ; done
56
57 This process can be repeated for more changes.