Fossil SCM
Updates to the "fossil git export" documentation.
Commit
1c15ebf8dd853aac43262e32921850ccb7737005f1e77f67ab5e1690dedc0106
Parent
8b18d011a4a99f8…
1 file changed
+27
-7
+27
-7
| --- www/mirrortogithub.md | ||
| +++ www/mirrortogithub.md | ||
| @@ -49,11 +49,12 @@ | ||
| 49 | 49 | <p> You can also run the command above outside of any open checkout of |
| 50 | 50 | your project by supplying the “<code>-R repository</code>” |
| 51 | 51 | option. |
| 52 | 52 | |
| 53 | 53 | <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. | |
| 55 | 56 | |
| 56 | 57 | <li><p>And you are done! Assuming everything worked, your project is now |
| 57 | 58 | mirrored on GitHub. |
| 58 | 59 | |
| 59 | 60 | <li><p>Whenever you update your project, simply run this command to update |
| @@ -64,11 +65,18 @@ | ||
| 64 | 65 | </blockquote> |
| 65 | 66 | |
| 66 | 67 | |
| 67 | 68 | <p> Unlike with the first time you ran that command, you don’t need |
| 68 | 69 | 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> | |
| 70 | 78 | </ol> |
| 71 | 79 | |
| 72 | 80 | ## Notes: |
| 73 | 81 | |
| 74 | 82 | * The mirroring is one-way. If you check in changes on GitHub, those |
| @@ -87,10 +95,13 @@ | ||
| 87 | 95 | subsequent invocations of "`fossil git export`" will know where you |
| 88 | 96 | left off the last time and what new content needs to be moved over into |
| 89 | 97 | Git. Be careful not to mess with the `.mirror_state` directory or |
| 90 | 98 | any of its contents. Do not put those files under Git management. Do |
| 91 | 99 | not edit or delete them. |
| 100 | + | |
| 101 | + * The name of the "trunk" branch is automatically translated into "master" | |
| 102 | + in the Git mirror. | |
| 92 | 103 | |
| 93 | 104 | * Only check-ins and simple tags are translated to Git. Git does not |
| 94 | 105 | support wiki or tickets or unversioned content or any of the other |
| 95 | 106 | features of Fossil that make it so convenient to use, so those other |
| 96 | 107 | elements cannot be mirrored in Git. |
| @@ -97,27 +108,36 @@ | ||
| 97 | 108 | |
| 98 | 109 | * In Git, all tags must be unique. If your Fossil repository has the |
| 99 | 110 | same tag on two or more check-ins, the tag will only be preserved on |
| 100 | 111 | the chronologically newest check-in. |
| 101 | 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 | + | |
| 102 | 120 | ## Example GitHub Mirrors |
| 103 | 121 | |
| 104 | 122 | As of this writing (2019-03-16) Fossil’s own repository is mirrored |
| 105 | 123 | on GitHub at: |
| 106 | 124 | |
| 107 | 125 | > |
| 108 | 126 | <https://github.com/drhsqlite/fossil-mirror> |
| 109 | 127 | |
| 110 | -In addition, an experimental SQLite mirror is available: | |
| 128 | +In addition, an official Git mirror of SQLite is available: | |
| 111 | 129 | |
| 112 | 130 | > |
| 113 | -<https://github.com/drhsqlite/sqlite-mirror> | |
| 131 | +<https://github.com/sqlite/sqlite> | |
| 114 | 132 | |
| 115 | -The Fossil source repositories for both of these mirrors are at | |
| 133 | +The Fossil source repositories for these mirrors are at | |
| 116 | 134 | <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: | |
| 119 | 139 | |
| 120 | 140 | > |
| 121 | 141 | /usr/bin/fossil sync -u -R /home/www/fossil/fossil.fossil |
| 122 | 142 | /usr/bin/fossil sync -R /home/www/fossil/sqlite.fossil |
| 123 | 143 | /usr/bin/fossil git export -R /home/www/fossil/fossil.fossil |
| 124 | 144 |
| --- 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 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 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 |