Skip to content

Commit 37b938f

Browse files
humitosagjohnsonericholscher
authored
Post: deprecate old VCS support (#264)
* Post: deprecate old VCS support Blog post to communicate our users about the deprecation of old VCS support: - clear date on final removal - clear brownout dates - possible workarounds Related readthedocs/readthedocs.org#8840 * Bold dates * Apply suggestions from code review Co-authored-by: Anthony <[email protected]> * Minor updates * Add "product complexity" as reason for deprecation * Add image * Update content/posts/drop-support-for-subversion-mercurial-bazaar.md Co-authored-by: Anthony <[email protected]> * Updates from review * Apply suggestions from code review Co-authored-by: Eric Holscher <[email protected]> * Apply suggestions from code review --------- Co-authored-by: Anthony <[email protected]> Co-authored-by: Eric Holscher <[email protected]>
1 parent 4a6bd0f commit 37b938f

File tree

2 files changed

+81
-0
lines changed

2 files changed

+81
-0
lines changed
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
title: Dropping support for Subversion, Mercurial, and Bazaar
2+
date: 2024-02-22
3+
category: Changelog
4+
tags: builders, deprecation
5+
authors: Manuel Kaufmann
6+
status: published
7+
image: /images/drop-support-for-subversion-mercurial-bazaar.jpg
8+
image_credit: Photo by <a href="https://unsplash.com/@redmirror?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Red Mirror</a> on <a href="https://unsplash.com/photos/wall-with-paints-f303VzauP6w?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>
9+
10+
11+
We are announcing the deprecation of support for Bazaar, Mercurial, and Subversion version control systems starting on **Monday, June 3rd, 2024**.
12+
After this date, only Git repositories will be continue to be supported by our application.
13+
14+
We've made this hard decision because [99% of our projects](https://github.com/readthedocs/readthedocs.org/issues/8840) use Git
15+
and we can't cover the product complexity, documentation complexity, and maintenance cost we were spending on Bazaar, Mercurial and Subversion for a small number of projects.
16+
Our platform has long had fewer features for VCS systems other than Git,
17+
slowly adding confusion to our product,
18+
and slowing down the features we could build for the vast majority of our users on Git.
19+
20+
## Deprecation timeline
21+
22+
We understand this change will affect some of our users, so we have a timeline to communicate this deprecation to our users effectively.
23+
24+
* **Monday, April 1, 2024**: Do the first brownout (temporarily enforce this deprecation) for 12 hours: 00:01 PDT to 11:59 PDT (noon)
25+
* **Monday, May 6, 2024**: Do a second brownout (temporarily enforce this deprecation) for 24 hours: 00:01 PDT to 23:59 PDT (midnight)
26+
* **Monday, May 20, 2024**: Do a third and final brownout (temporarily enforce this deprecation) for 48 hours: 00:01 PDT to May 21, 2024 23:59 PDT (midnight)
27+
* **Monday, June 3, 2024**: Fully remove support for building documentation using Subversion, Mercurial or Bazaar VCSs.
28+
29+
30+
## Possible workarounds
31+
32+
To continue building your project, you could consider one of the following options:
33+
34+
35+
### Convert your repository to Git
36+
37+
You could convert your Subversion or Mercurial repository to Git and then connect the Git repository to your project to continue building your docs.
38+
GitHub has some guides to help you in this process:
39+
40+
* [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)
41+
* [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)
42+
43+
44+
### Create an intermediate Git repository only for initial clone
45+
46+
47+
If you cannot use Git for your documentation repository,
48+
an intermediate Git repository could at least allow your project to build.
49+
Understand however that this is not a supported configuration and
50+
many of our features may not work (e.g. versions) or might require extra setup steps.
51+
52+
This intermediate repository should contain a `.readthedocs.yaml` file
53+
that clones your original repository and builds your project's documentation.
54+
55+
Here you have a small example using Mercurial to clone the original repository.
56+
*Make sure to adapt this example to your needs*
57+
58+
```yaml
59+
version: 2
60+
61+
build:
62+
os: ubuntu-22.04
63+
tools:
64+
python: "3.12"
65+
jobs:
66+
post_checkout:
67+
- hg clone https://original.mercurial.vcs/respository/ .
68+
69+
sphinx:
70+
configuration: docs/conf.py
71+
```
72+
73+
This could be a starting point, but note that you will also need to configure the incoming webhooks manually on the original repository,
74+
if you want to trigger a build each time a push is done to the original repository.
75+
[Follow this guide](https://docs.readthedocs.io/en/stable/guides/setup/git-repo-manual.html) to achieve this.
76+
77+
78+
## Contact us
79+
80+
[Contact us](https://readthedocs.org/support/) if you have any questions,
81+
and let us know any inconvenient you may have with this change.

0 commit comments

Comments
 (0)