Fossil SCM

Updates to the "fossil git export" documentation.

drh 2019-04-23 13:16 trunk
Commit 1c15ebf8dd853aac43262e32921850ccb7737005f1e77f67ab5e1690dedc0106
1 file changed +27 -7
--- www/mirrortogithub.md
+++ www/mirrortogithub.md
@@ -49,11 +49,12 @@
4949
<p> You can also run the command above outside of any open checkout of
5050
your project by supplying the “<code>-R&nbsp;repository</code>”
5151
option.
5252
5353
<li><p>Get some coffee. Depending on the size of your project, the
54
- command above can run for several minutes.
54
+ initial "<code>fossil git export</code>" command in the previous
55
+ step might run for several minutes.
5556
5657
<li><p>And you are done! Assuming everything worked, your project is now
5758
mirrored on GitHub.
5859
5960
<li><p>Whenever you update your project, simply run this command to update
@@ -64,11 +65,18 @@
6465
</blockquote>
6566
6667
6768
<p> Unlike with the first time you ran that command, you don’t need
6869
the remaining arguments, because Fossil remembers those things.
69
- Subsequent mirror updates should happen in a second or less.
70
+ Subsequent mirror updates should usually happen in a fraction of
71
+ a second.
72
+
73
+<li><p>To see the status of your mirror, run:
74
+
75
+<blockquote>
76
+<pre>$ fossil git status</pre>
77
+</blockquote>
7078
</ol>
7179
7280
## Notes:
7381
7482
* The mirroring is one-way. If you check in changes on GitHub, those
@@ -87,10 +95,13 @@
8795
subsequent invocations of "`fossil git export`" will know where you
8896
left off the last time and what new content needs to be moved over into
8997
Git. Be careful not to mess with the `.mirror_state` directory or
9098
any of its contents. Do not put those files under Git management. Do
9199
not edit or delete them.
100
+
101
+ * The name of the "trunk" branch is automatically translated into "master"
102
+ in the Git mirror.
92103
93104
* Only check-ins and simple tags are translated to Git. Git does not
94105
support wiki or tickets or unversioned content or any of the other
95106
features of Fossil that make it so convenient to use, so those other
96107
elements cannot be mirrored in Git.
@@ -97,27 +108,36 @@
97108
98109
* In Git, all tags must be unique. If your Fossil repository has the
99110
same tag on two or more check-ins, the tag will only be preserved on
100111
the chronologically newest check-in.
101112
113
+ * There is a
114
+ [long list of restrictions](https://git-scm.com/docs/git-check-ref-format)
115
+ on tag and branch names in Git. If any of your Fossil tag or branch names
116
+ violate these rules, then the names are translated prior to being exported
117
+ to Git. The translation usually involves converting the offending characters
118
+ into underscores.
119
+
102120
## Example GitHub Mirrors
103121
104122
As of this writing (2019-03-16) Fossil’s own repository is mirrored
105123
on GitHub at:
106124
107125
>
108126
<https://github.com/drhsqlite/fossil-mirror>
109127
110
-In addition, an experimental SQLite mirror is available:
128
+In addition, an official Git mirror of SQLite is available:
111129
112130
>
113
-<https://github.com/drhsqlite/sqlite-mirror>
131
+<https://github.com/sqlite/sqlite>
114132
115
-The Fossil source repositories for both of these mirrors are at
133
+The Fossil source repositories for these mirrors are at
116134
<https://www2.fossil-scm.org/fossil> and <https://www2.sqlite.org/src>,
117
-respectively. On that machine, there is a cron job that runs at
118
-17 minutes after the hour, every hour that does:
135
+respectively. Both repositories are hosted on the same VM at
136
+[Linode](https://www.linode.com). On that machine, there is a
137
+[cron job](https://linux.die.net/man/8/cron)
138
+that runs at 17 minutes after the hour, every hour that does:
119139
120140
>
121141
/usr/bin/fossil sync -u -R /home/www/fossil/fossil.fossil
122142
/usr/bin/fossil sync -R /home/www/fossil/sqlite.fossil
123143
/usr/bin/fossil git export -R /home/www/fossil/fossil.fossil
124144
--- www/mirrortogithub.md
+++ www/mirrortogithub.md
@@ -49,11 +49,12 @@
49 <p> You can also run the command above outside of any open checkout of
50 your project by supplying the “<code>-R&nbsp;repository</code>”
51 option.
52
53 <li><p>Get some coffee. Depending on the size of your project, the
54 command above can run for several minutes.
 
55
56 <li><p>And you are done! Assuming everything worked, your project is now
57 mirrored on GitHub.
58
59 <li><p>Whenever you update your project, simply run this command to update
@@ -64,11 +65,18 @@
64 </blockquote>
65
66
67 <p> Unlike with the first time you ran that command, you don’t need
68 the remaining arguments, because Fossil remembers those things.
69 Subsequent mirror updates should happen in a second or less.
 
 
 
 
 
 
 
70 </ol>
71
72 ## Notes:
73
74 * The mirroring is one-way. If you check in changes on GitHub, those
@@ -87,10 +95,13 @@
87 subsequent invocations of "`fossil git export`" will know where you
88 left off the last time and what new content needs to be moved over into
89 Git. Be careful not to mess with the `.mirror_state` directory or
90 any of its contents. Do not put those files under Git management. Do
91 not edit or delete them.
 
 
 
92
93 * Only check-ins and simple tags are translated to Git. Git does not
94 support wiki or tickets or unversioned content or any of the other
95 features of Fossil that make it so convenient to use, so those other
96 elements cannot be mirrored in Git.
@@ -97,27 +108,36 @@
97
98 * In Git, all tags must be unique. If your Fossil repository has the
99 same tag on two or more check-ins, the tag will only be preserved on
100 the chronologically newest check-in.
101
 
 
 
 
 
 
 
102 ## Example GitHub Mirrors
103
104 As of this writing (2019-03-16) Fossil’s own repository is mirrored
105 on GitHub at:
106
107 >
108 <https://github.com/drhsqlite/fossil-mirror>
109
110 In addition, an experimental SQLite mirror is available:
111
112 >
113 <https://github.com/drhsqlite/sqlite-mirror>
114
115 The Fossil source repositories for both of these mirrors are at
116 <https://www2.fossil-scm.org/fossil> and <https://www2.sqlite.org/src>,
117 respectively. On that machine, there is a cron job that runs at
118 17 minutes after the hour, every hour that does:
 
 
119
120 >
121 /usr/bin/fossil sync -u -R /home/www/fossil/fossil.fossil
122 /usr/bin/fossil sync -R /home/www/fossil/sqlite.fossil
123 /usr/bin/fossil git export -R /home/www/fossil/fossil.fossil
124
--- www/mirrortogithub.md
+++ www/mirrortogithub.md
@@ -49,11 +49,12 @@
49 <p> You can also run the command above outside of any open checkout of
50 your project by supplying the “<code>-R&nbsp;repository</code>”
51 option.
52
53 <li><p>Get some coffee. Depending on the size of your project, the
54 initial "<code>fossil git export</code>" command in the previous
55 step might run for several minutes.
56
57 <li><p>And you are done! Assuming everything worked, your project is now
58 mirrored on GitHub.
59
60 <li><p>Whenever you update your project, simply run this command to update
@@ -64,11 +65,18 @@
65 </blockquote>
66
67
68 <p> Unlike with the first time you ran that command, you don’t need
69 the remaining arguments, because Fossil remembers those things.
70 Subsequent mirror updates should usually happen in a fraction of
71 a second.
72
73 <li><p>To see the status of your mirror, run:
74
75 <blockquote>
76 <pre>$ fossil git status</pre>
77 </blockquote>
78 </ol>
79
80 ## Notes:
81
82 * The mirroring is one-way. If you check in changes on GitHub, those
@@ -87,10 +95,13 @@
95 subsequent invocations of "`fossil git export`" will know where you
96 left off the last time and what new content needs to be moved over into
97 Git. Be careful not to mess with the `.mirror_state` directory or
98 any of its contents. Do not put those files under Git management. Do
99 not edit or delete them.
100
101 * The name of the "trunk" branch is automatically translated into "master"
102 in the Git mirror.
103
104 * Only check-ins and simple tags are translated to Git. Git does not
105 support wiki or tickets or unversioned content or any of the other
106 features of Fossil that make it so convenient to use, so those other
107 elements cannot be mirrored in Git.
@@ -97,27 +108,36 @@
108
109 * In Git, all tags must be unique. If your Fossil repository has the
110 same tag on two or more check-ins, the tag will only be preserved on
111 the chronologically newest check-in.
112
113 * There is a
114 [long list of restrictions](https://git-scm.com/docs/git-check-ref-format)
115 on tag and branch names in Git. If any of your Fossil tag or branch names
116 violate these rules, then the names are translated prior to being exported
117 to Git. The translation usually involves converting the offending characters
118 into underscores.
119
120 ## Example GitHub Mirrors
121
122 As of this writing (2019-03-16) Fossil’s own repository is mirrored
123 on GitHub at:
124
125 >
126 <https://github.com/drhsqlite/fossil-mirror>
127
128 In addition, an official Git mirror of SQLite is available:
129
130 >
131 <https://github.com/sqlite/sqlite>
132
133 The Fossil source repositories for these mirrors are at
134 <https://www2.fossil-scm.org/fossil> and <https://www2.sqlite.org/src>,
135 respectively. Both repositories are hosted on the same VM at
136 [Linode](https://www.linode.com). On that machine, there is a
137 [cron job](https://linux.die.net/man/8/cron)
138 that runs at 17 minutes after the hour, every hour that does:
139
140 >
141 /usr/bin/fossil sync -u -R /home/www/fossil/fossil.fossil
142 /usr/bin/fossil sync -R /home/www/fossil/sqlite.fossil
143 /usr/bin/fossil git export -R /home/www/fossil/fossil.fossil
144

Keyboard Shortcuts

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