-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Start deprecating old VCS support #8840
Comments
It would be helpful to know when these projects were created as well. That is, were I'm 👍 on deprecating support on |
Notes from our meeting in January 😄 :
|
More notes: maybe it makes sense to scope this down to removing suggestions for bzr/hg in our docs, and point users to always use git. Code removal will be a ways out |
I'm fine with removing this from the documentation as the first step. However, I think we are always pushing back on deprecating things properly with a hard final date. Finally, we end up with inconsistencies between our docs, our code, and what we want. I think we should start becoming more strict with deprecations, in particular with those that are not heavily used. |
We could definitely add a bit more to the scope here. We get the most value here out of consistently pointing new users/projects to Git. The main point is that full removal and deprecation is going to be a fair amount of work and we won't get a whole lot of value out of this work. As a big chunk of work, this doesn't yet have priority on our roadmap. But we can prioritize small steps in this direction more immediately. Full deprecation and removal of this code will require UX/UI around unavailable VCS, contacting users, monitoring deprecation before code removal, etc. So, quite a lot considering we don't spend a lot of time with the code now anyways. |
We already have done this in our meeting from January #8840 (comment)
I'd expect that the new UX/UI does not support these old VCS at all. On the other hand, having a hard date of removal/end support communicated to users removes the requirement of a "monitoring" step.
I don't fully agree with this sentence. It's true that we don't touch this code too much, but simple things like #9424 require a lot more thinking, testing and QAing. |
Yeah we had some direction on this from that meeting, but in our roadmap planning call, this felt like an issue that we should bump out a quarter as it didn't really align. But we did agree we should have something from this on our radar. That said, I think we're just describing making "Make a deprecation timeline (Remove from UI at this time?)" a few discrete steps. We can prioritize some smaller actions first
Disallowing new project VCS choices could be another more immediate step.
Though we will want to watch things periodically either way, we can expect new inbound support as we start the deprecation. We probably won't be lucky enough to get away with just emailing users and then returning to delete the code, there's some lump of work in the middle.
That's fair, there is work hiding here. At least for this next quarter, we hope to be touching the backend code less than we did in Q1/2, so this might not be a driving function of this change. |
This table shows the trending pretty well:
This plot shows "projects with at least 1 success build in the last 12 months grouped by VCS type"
|
Some notes from the meeting that I was able to write down. Feel free to edit them or add context, comments.
|
I think we could even get rid of hg in the docs and drop downs. I like simplifying to be able to just support git would dramatically improve a lot of our messaging. |
Also "VCS"? Normal git users don't go around saying "VCS" no more.. it's like VHS :) We put "VCS" in a bunch of navigation labels, links and titles.. it's quite bad, I think people won't get what an entire core section of our feature list is about. |
@benjaoming What would replace it? Just saying |
In some cases "git" is enough, some cases it can work with "git platform". I'm not convinced that "git host", "git provider", "git system" or "git service" sound good. |
I'll bump this to Q1 assuming we're doing a soft deprecation on providers to start. That seems achievable |
Could a deprecation look like this?
I am asking because I'm interested in how soon we can start to rename and simplify some of the current VCS articles, since they are going through some processing over the next weeks. |
I think what we're talking about above is not doing 4 and 5. Doing all of the work to notify projects and break their usage will be a fair bit of work, and might be overall negative value too. I know that having the VCS code around is still a bit of a liability. It would be great if we could version our build backend API in some fashion and disregard this code going forward. Perhaps if that is a possibility that would be the point in time to remove the code. |
Sounds good - do you have any objections about moving forwards with the first item during the coming weeks? It's mostly about a move towards saying "git" rather than "VCS". Regarding actual contents, we don't have much more than this VCS Support Matrix to remove: https://docs.readthedocs.io/en/stable/versions.html#version-control-support-matrix |
Next up, we need to contact the users of Tryton, etc and get some feedback. |
Here is the draft email that I wrote some time ago. We can use it as a starting point: https://hackmd.io/ZiEI9rbTSI651i71pPyxbw |
I updated the email to ask for feedback about the change, instead of announcing the change. I think we could send this out. |
I can send the email with that content this week probably, if we are 👍🏼 . |
Sounds good. We should likely only send it to active projects using non-git VCS 👍 |
I sent the email:
Let's see what's the feedback we receive from this. |
Got 3 annoyed users, which seems like a small number in the scheme of things.. |
I don't understand this issue ... Anyhow, when we can vote: I would VOTE NO. I can (kind of) understand that we sometimes need to remove existing functionality.
When counting the numbers, roughly 2.5% of all projects use "non-git". One can argue, that is a minority, but does that matter? ReadTheDocs is about "docs". Not about "the best VCS". As I stated, I don't understand the issue. IMHO there is no valid reason to exclude "others". I don't like to believe this initiative is a kind of "git wants to rule the world by ignoring all others". Plz, do not make it look like that (asking for support on a git-site; ignore initial, old users, etc). |
@AlbertMietus What is the project you have on RTD? I'd like to understand why we didn't email you. |
A couple notes on next steps:
|
Currently, Only a few, small "doc only" ones. See e.g. |
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
I started writing a blog post to communicate our decision. It also has some potential workaround ideas for people that want to migrate their repositories to Git or keep using their VCS to build the docs on Read the Docs. I hope that helps. |
* 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]>
Follow the dates published in our blog: https://about.readthedocs.com/blog/2024/02/drop-support-for-subversion-mercurial-bazaar/ Closes #8840
This PR removes the code for old VCS support. Besides, it touches the documentation slightly to remove mentions to particular VCS (Mercurial, Bazaar, SVN). However, it doesn't re-write all parts of the documentation where we are using "VCS" in a generic way. There should be another PR that re-phrase those senteces to mention Git directly. Related: * #11147 * #8840 * https://about.readthedocs.com/blog/2024/02/drop-support-for-subversion-mercurial-bazaar/
* VCS: remove code for old VCS support This PR removes the code for old VCS support. Besides, it touches the documentation slightly to remove mentions to particular VCS (Mercurial, Bazaar, SVN). However, it doesn't re-write all parts of the documentation where we are using "VCS" in a generic way. There should be another PR that re-phrase those senteces to mention Git directly. Related: * #11147 * #8840 * https://about.readthedocs.com/blog/2024/02/drop-support-for-subversion-mercurial-bazaar/ * Add migrations * Update readthedocs/projects/constants.py Co-authored-by: Eric Holscher <[email protected]> --------- Co-authored-by: Eric Holscher <[email protected]>
https://gitthedocs.com/ domain is available and not that pricey. |
Currently, we support the following VCS in our platform:
git
)bzr
)hg
)svn
)I'd like to start a conversation about the possibility to deprecate the ones that are mainly not used. In particular, subversion. I went ahead and took some numbers from our platform to find out how much each of them is used:
Number of projects using VCS
Number of projects using VCS with a build in the last 30 days
Number of projects using VCS with a successful build in the last 30 days
I'd propose to start removing
svn
(and probablybzr
as well) from the UI to avoid new projects being imported using these VCS. Then, the next step would be to communicate projects that are not spam that we are deprecating support for the VCS they are using.Also note that to select
svn
and/orbzr
users have to import the project manually, which gives them a worse UX of the whole platform: manual import, manual webhook setup, etc.This will allow us to not maintain features that almost nobody uses but consume our time in different ways.
The text was updated successfully, but these errors were encountered: