|
| 1 | +title: Drop support for Subversion, Mercurial and Bazaar |
| 2 | +date: 2024-02-19 |
| 3 | +category: Changelog |
| 4 | +tags: builders, deprecation |
| 5 | +authors: Manuel Kaufmann |
| 6 | +status: published |
| 7 | + |
| 8 | + |
| 9 | +We are announcing the dropping of support for Bazaar, Mercurial and Subversion version system controls starting on **Monday, June 3rd, 2024**. |
| 10 | +This means we will only support Git to do the initial clone and build your project's documentation. |
| 11 | + |
| 12 | +We've made this hard decision because [99% of our users](https://github.com/readthedocs/readthedocs.org/issues/8840) use Git |
| 13 | +and we can't cover the maintenance cost we were spending on Bazaar, Mercurial and Subversion for a handful amount of projects. |
| 14 | +Besides, those VCSs are not feature-complete in our platform compared to Git and the service provided is degraded for them. |
| 15 | + |
| 16 | +## Deprecation timeline |
| 17 | + |
| 18 | +We understand this change will affect some of our users, so we have a timeline to communicate this deprecation to our users effectively. |
| 19 | + |
| 20 | +* Monday, April 1, 2024: Do the first brownout (temporarily enforce this deprecation) for 12 hours: 00:01 PST to 11:59 PST (noon) |
| 21 | +* Monday, May 6, 2024: Do a second brownout (temporarily enforce this deprecation) for 24 hours: 00:01 PST to 23:59 PST (midnight) |
| 22 | +* Monday, May 20, 2024: Do a third and final brownout (temporarily enforce this deprecation) for 48 hours: 00:01 PST to May 21, 2024 23:59 PST (midnight) |
| 23 | +* Monday, June 3, 2024: Fully remove support for building documentation using “build.image” on the configuration file |
| 24 | + |
| 25 | + |
| 26 | +## Possible workarounds |
| 27 | + |
| 28 | +Unfortunately, there is no direct workaround on the Read the Docs side that you can follow to keep building your documentation using these VCSs. |
| 29 | +However, we consider one of the following options can be worth to consider: |
| 30 | + |
| 31 | + |
| 32 | +### Convert your repository to Git |
| 33 | + |
| 34 | +You could convert your Subversion or Mercurial repository to Git and then import the Git repository into Read the Docs to continue building your docs. |
| 35 | +GitHub has some guides to help you in this process: |
| 36 | + |
| 37 | + * [Import your Subversion repository](https://docs.github.com/en/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-a-subversion-repository) |
| 38 | + * [Import your Mercurial repository](https://docs.github.com/en/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-a-mercurial-repository) |
| 39 | + |
| 40 | + |
| 41 | +### Create a simple Git repository only clone the original one |
| 42 | + |
| 43 | +If you want to keep using Bazaar, Mercurial or Subversion on your side, |
| 44 | +you can create a simple Git repository on any service only with a simple `.readthedocs.yaml` file |
| 45 | +that clones your original repository to build the docs. |
| 46 | + |
| 47 | +Here you have a small example using Mercurial to clone the original repository. |
| 48 | +*Make sure to adapt this example to your needs* |
| 49 | + |
| 50 | +```yaml |
| 51 | +version: 2 |
| 52 | + |
| 53 | +build: |
| 54 | + os: ubuntu-22.04 |
| 55 | + tools: |
| 56 | + python: "3.12" |
| 57 | + commands: |
| 58 | + - hg clone https://original.mercurial.vcs/respository/ |
| 59 | + - pip install -r repository/docs/requirements.txt |
| 60 | + - mkdir $READTHEDOCS_OUTPUT/html |
| 61 | + - sphinx-build -b html repository/docs $READTHEDOCS_OUTPUT/html |
| 62 | +``` |
| 63 | +
|
| 64 | +This could be a good starting point, but note that you will also need to configure the incoming webhooks manually on the original repository, |
| 65 | +if you want to trigger a build each time a push is done to the original repository. |
| 66 | +[Follow this guide](https://docs.readthedocs.io/en/stable/guides/setup/git-repo-manual.html) to achieve this. |
| 67 | +
|
| 68 | +
|
| 69 | +## Contact us |
| 70 | +
|
| 71 | +[Contact us](https://readthedocs.org/support/) if you have any questions, |
| 72 | +and let us know if you are having trouble using a this new config key for any reason. |
0 commit comments