Fossil SCM

Added info about private branches to the new backup.md doc.

wyoung 2020-10-05 12:07 trunk
Commit 78c0c55a41a161db310ae4747dbe3d8e3dfc55cec4406ee39b2e77bc0c376601
1 file changed +22 -5
+22 -5
--- www/backup.md
+++ www/backup.md
@@ -28,10 +28,19 @@
2828
of these configuration areas on initial clone, but after that, some
2929
remote configuration changes don’t sync down automatically, such as the
3030
remote’s skin. You have to ask for updates to these configuration areas
3131
explicitly.
3232
33
+
34
+## Private Branches
35
+
36
+The very nature of Fossil’s [private branch feature][pbr] ensures that
37
+remote clones don’t get a copy of those branches. Normally this is
38
+exactly what you want, but in the case of making backups, you probably
39
+want these branches as well. One of the two backup methods below
40
+provides this.
41
+
3342
3443
## Shunned Artifacts
3544
3645
Fossil purposefully doesn’t sync [shunned artifacts][shun]. If you want
3746
your local clone to be a precise match to the remote, it needs to track
@@ -49,11 +58,11 @@
4958
5059
5160
# Solutions
5261
5362
The following script solves all of the above problems for the use case
54
-where you want a *complete* clone of the remote repository using nothing
63
+where you want a *nearly-complete* clone of the remote repository using nothing
5564
but the normal Fossil sync protocol. It requires that you be logged into
5665
the remote as a user with Setup capability.
5766
5867
----
5968
@@ -70,14 +79,20 @@
7079
are removed from the local clone. The second step includes
7180
`fossil conf pull shun`, so your repo won’t offer the shunned artifacts
7281
to others cloning from it, but the backup can’t be said to be “complete”
7382
if it contains information that the remote now lacks.
7483
75
-Alternately, if you have access to the remote server, you could get a
76
-SQL-level backup if you’re using Fossil 2.12 or newer by using its new
77
-[`backup` command][bu]. You could get an off-machine backup of a remote
78
-server over SSH like so:
84
+This method doesn’t get you a copy of the remote’s
85
+[private branches][pbr], on purpose. It may also miss other info on the
86
+remote, such as SQL-level customizations that the sync protocol can’t
87
+see. (Some [ticket system customization][tkt] schemes do this.) You can
88
+solve such problems if you have access to the remote server, which
89
+allows you to get a SQL-level backup. This requires Fossil 2.12 or
90
+newer, which added [the `backup` command][bu].
91
+
92
+You can get an off-machine SQL-level backup of a Fossil repository on
93
+a remote server over SSH like so:
7994
8095
----
8196
8297
``` shell
8398
#!/bin/bash
@@ -135,9 +150,11 @@
135150
136151
[bu]: /help?cmd=backup
137152
[grcp]: https://www.grc.com/passwords.htm
138153
[hb]: https://brew.sh
139154
[hbul]: https://docs.brew.sh/FAQ#what-does-keg-only-mean
155
+[pbr]: ./private.wiki
140156
[rint]: https://www.random.org/integers/?num=1&min=10000&max=100000&col=5&base=10&format=html&rnd=new
141157
[setup]: ./caps/admin-v-setup.md#apsu
142158
[shun]: ./shunning.wiki
159
+[tkt]: ./tickets.wiki
143160
[uv]: ./unvers.wiki
144161
--- www/backup.md
+++ www/backup.md
@@ -28,10 +28,19 @@
28 of these configuration areas on initial clone, but after that, some
29 remote configuration changes don’t sync down automatically, such as the
30 remote’s skin. You have to ask for updates to these configuration areas
31 explicitly.
32
 
 
 
 
 
 
 
 
 
33
34 ## Shunned Artifacts
35
36 Fossil purposefully doesn’t sync [shunned artifacts][shun]. If you want
37 your local clone to be a precise match to the remote, it needs to track
@@ -49,11 +58,11 @@
49
50
51 # Solutions
52
53 The following script solves all of the above problems for the use case
54 where you want a *complete* clone of the remote repository using nothing
55 but the normal Fossil sync protocol. It requires that you be logged into
56 the remote as a user with Setup capability.
57
58 ----
59
@@ -70,14 +79,20 @@
70 are removed from the local clone. The second step includes
71 `fossil conf pull shun`, so your repo won’t offer the shunned artifacts
72 to others cloning from it, but the backup can’t be said to be “complete”
73 if it contains information that the remote now lacks.
74
75 Alternately, if you have access to the remote server, you could get a
76 SQL-level backup if you’re using Fossil 2.12 or newer by using its new
77 [`backup` command][bu]. You could get an off-machine backup of a remote
78 server over SSH like so:
 
 
 
 
 
 
79
80 ----
81
82 ``` shell
83 #!/bin/bash
@@ -135,9 +150,11 @@
135
136 [bu]: /help?cmd=backup
137 [grcp]: https://www.grc.com/passwords.htm
138 [hb]: https://brew.sh
139 [hbul]: https://docs.brew.sh/FAQ#what-does-keg-only-mean
 
140 [rint]: https://www.random.org/integers/?num=1&min=10000&max=100000&col=5&base=10&format=html&rnd=new
141 [setup]: ./caps/admin-v-setup.md#apsu
142 [shun]: ./shunning.wiki
 
143 [uv]: ./unvers.wiki
144
--- www/backup.md
+++ www/backup.md
@@ -28,10 +28,19 @@
28 of these configuration areas on initial clone, but after that, some
29 remote configuration changes don’t sync down automatically, such as the
30 remote’s skin. You have to ask for updates to these configuration areas
31 explicitly.
32
33
34 ## Private Branches
35
36 The very nature of Fossil’s [private branch feature][pbr] ensures that
37 remote clones don’t get a copy of those branches. Normally this is
38 exactly what you want, but in the case of making backups, you probably
39 want these branches as well. One of the two backup methods below
40 provides this.
41
42
43 ## Shunned Artifacts
44
45 Fossil purposefully doesn’t sync [shunned artifacts][shun]. If you want
46 your local clone to be a precise match to the remote, it needs to track
@@ -49,11 +58,11 @@
58
59
60 # Solutions
61
62 The following script solves all of the above problems for the use case
63 where you want a *nearly-complete* clone of the remote repository using nothing
64 but the normal Fossil sync protocol. It requires that you be logged into
65 the remote as a user with Setup capability.
66
67 ----
68
@@ -70,14 +79,20 @@
79 are removed from the local clone. The second step includes
80 `fossil conf pull shun`, so your repo won’t offer the shunned artifacts
81 to others cloning from it, but the backup can’t be said to be “complete”
82 if it contains information that the remote now lacks.
83
84 This method doesn’t get you a copy of the remote’s
85 [private branches][pbr], on purpose. It may also miss other info on the
86 remote, such as SQL-level customizations that the sync protocol can’t
87 see. (Some [ticket system customization][tkt] schemes do this.) You can
88 solve such problems if you have access to the remote server, which
89 allows you to get a SQL-level backup. This requires Fossil 2.12 or
90 newer, which added [the `backup` command][bu].
91
92 You can get an off-machine SQL-level backup of a Fossil repository on
93 a remote server over SSH like so:
94
95 ----
96
97 ``` shell
98 #!/bin/bash
@@ -135,9 +150,11 @@
150
151 [bu]: /help?cmd=backup
152 [grcp]: https://www.grc.com/passwords.htm
153 [hb]: https://brew.sh
154 [hbul]: https://docs.brew.sh/FAQ#what-does-keg-only-mean
155 [pbr]: ./private.wiki
156 [rint]: https://www.random.org/integers/?num=1&min=10000&max=100000&col=5&base=10&format=html&rnd=new
157 [setup]: ./caps/admin-v-setup.md#apsu
158 [shun]: ./shunning.wiki
159 [tkt]: ./tickets.wiki
160 [uv]: ./unvers.wiki
161

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button