classification
Title: Remove tools for CVS and Subversion
Type: Stage: resolved
Components: Build Versions: Python 3.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: brett.cannon, ezio.melotti, ned.deily, r.david.murray, serhiy.storchaka, vstinner
Priority: normal Keywords: patch

Created on 2017-11-28 20:22 by vstinner, last changed 2017-11-29 18:33 by serhiy.storchaka. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 4615 merged vstinner, 2017-11-28 20:26
PR 4639 merged vstinner, 2017-11-29 16:59
Messages (19)
msg307159 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-28 20:22
CPython migrated from CVS to Subversion, to Mercurial, and then to Git. CVS and Subversion are no more used to develop CPython.

Changes of attached PR:

* platform module: drop support for sys.subversion. The
  sys.subversion attribute has been removed in Python 3.3.
* Remove Misc/svnmap.txt
* Remove Tools/scripts/svneol.py
* Remove Tools/scripts/treesync.py
msg307169 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-28 21:29
New changeset fe2d5babba5d26de2093b6518316b268488187be by Victor Stinner in branch 'master':
bpo-32159: Remove tools for CVS and Subversion (#4615)
https://github.com/python/cpython/commit/fe2d5babba5d26de2093b6518316b268488187be
msg307170 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-28 21:32
Are you sure that these scripts are not used outside of CPython? They were here when CPython used Subversion, they were here when CPython used Mercurial, what is wrong with Git?

The support of the svn:eol property is a thing I really lacked in Mercurial.
msg307171 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-28 21:33
Oh, you are VERY fast in committing Victor. Please restore these scripts.
msg307172 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-28 21:40
> Are you sure that these scripts are not used outside of CPython?

How would someone use it? There are only part of the code base, they are not installed on the system (by "make install").

If someone uses these scripts on another project which is not CPython, well, they can copy an old version from Python 3.6 and maintain their fork, no?

Why would Python still maintain a tool if we don't use it or test it ourself?


> The support of the svn:eol property is a thing I really lacked in Mercurial.

We are using .gitattributes to specify the end of lines of some files. A few examples:
---
*.gif binary
*.bat text eol=crlf
PC/readme.txt text eol=crlf
---

I understand that Git does handle end of line, and it's configurable by .gitattributes. Sorry, I don't know much more about that, and I'm not sure that this issue is the right place to ask questions about Git ;-) Maybe ask on python-dev if you are aware of an issue with Git?


> They were here when CPython used Subversion, they were here when CPython used Mercurial, what is wrong with Git?

The scripts are very specific to CVS and Subversion. They are useful with Mercurial or Git.

I wrote that we already changed the SCM twice since Subversion, to justify that I don't think that anyone still works on a CVS or Subversion fork of CPython.

Well, if someone really does that, I don't expect that they work on the master branch, and so likely have a copy of these scripts :-)


> Oh, you are VERY fast in committing Victor.

The PR was approved by Brett Cannon and Ned Deily.
msg307173 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-28 21:41
> The PR was approved by Brett Cannon and Ned Deily.

Oh, and Mariatta after I added a NEWS entry.
msg307174 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-28 21:52
Is svnmap.txt used for mapping Subversion references to Mercurial references on the tracker? r88752
msg307175 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-28 21:54
Serhiy: "Is svnmap.txt used for mapping Subversion references to Mercurial references on the tracker? r88752"

Brett, David, Ezio: any idea for Serhiy's question?
msg307178 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-28 22:14
svnmap.txt was added in a single revision and was not changed anymore.

commit 533c79dc67824d95b0aff5a252f9415d3bc80716
Author: Antoine Pitrou <solipsis@pitrou.net>
Date:   Sat Mar 5 17:46:03 2011 +0100

    Add the map of SVN revision numbers to changeset ids.
    This is mostly to help history-digging, especially when
    focussing on feature branches.
    Note that not all changesets are in the main repository,
    but they are all in the full history repository.

It is needed for history. Old commit messages and discussion on mailing lists refer to Subversion revisions. Without svnmap.txt you will lost these references unless you have a clone of Subversion repository. I hope you are not going to get rid of Misc/HISTORY?

It would be better to create a mapping from Subversion revisions to Git hashes.
msg307183 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2017-11-28 22:41
Sorry, I didn't see that the change included the deletion of svnmap.txt.  However, I don't know where or by what that file might still be used, particularly by the lookup function used by the bug tracker.  Presumably someone (Ezio, RDM, or Brett) knows.
msg307228 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2017-11-29 13:28
I think Serhiy's point is that it doesn't matter whether or not it is used by a tool, it is useful for humans.  I don't know if it is used by the tracker; Ezio worked on that code, I think.
msg307242 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-29 17:00
When I wrote PR 4615, I misunderstood the usage of Misc/svnmap.txt. I understood that it was used by removed files.

I wrote PR 4639 to revert the file and clarify its usage in Misc/README.
msg307244 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-29 17:08
Wouldn't this add two 4 MiB patched in the git repository? Wouldn't this break the history of this file?
msg307247 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-29 17:23
Serhiy: "Wouldn't this add two 4 MiB patched in the git repository? Wouldn't this break the history of this file?"

No idea.
msg307248 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-29 17:41
How have you created PR 4639? What git commands were used?
msg307249 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-29 17:51
> How have you created PR 4639? What git commands were used?

"git revert fe2d5babba5d26de2093b6518316b268488187be", then I modified the commit to only revert svnmap (git commit --amend).

Git internal storage is fully based on sha1. Identical objects should be merged naturally.

My PR 4639 is made of a single commit: 58f0b38b4058bfaa45a9896aca2b07f02b2de486. You can inspect it using:

$ git ls-tree 58f0b38b4058bfaa45a9896aca2b07f02b2de486 Misc/svnmap.txt
100644 blob 142be7fc206e9d06d5cf62f6500ef987c0441087	Misc/svnmap.txt

Compare it with the svnmap.txt *before* my revert:

$ git ls-tree fe2d5babba5d26de2093b6518316b268488187be^ Misc/svnmap.txt
100644 blob 142be7fc206e9d06d5cf62f6500ef987c0441087	Misc/svnmap.txt

=> *same* blob object (blob sha1: 142be7fc206e9d06d5cf62f6500ef987c0441087)
msg307250 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-29 17:58
New changeset 859f7ce7a49f8bd6309748c05e460c10f6a433ed by Victor Stinner in branch 'master':
bpo-32159: Revert Misc/svnmap.txt (#4639)
https://github.com/python/cpython/commit/859f7ce7a49f8bd6309748c05e460c10f6a433ed
msg307251 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-11-29 18:00
I reverted Misc/svnmap.txt.

I understood that the removal of the two tools in Tools is now ok, and so I close the issue. If I misunderstood, please speak up and/or reopen the issue ;-)
msg307252 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-11-29 18:18
Thanks Victor!

I'll open a topic on Python-Dev about file removals.
History
Date User Action Args
2017-11-29 18:33:15serhiy.storchakasetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2017-11-29 18:18:21serhiy.storchakasetstatus: closed -> open
resolution: fixed -> (no value)
messages: + msg307252

stage: resolved -> patch review
2017-11-29 18:00:02vstinnersetstatus: open -> closed
resolution: fixed
messages: + msg307251

stage: patch review -> resolved
2017-11-29 17:58:36vstinnersetmessages: + msg307250
2017-11-29 17:51:04vstinnersetmessages: + msg307249
2017-11-29 17:41:51serhiy.storchakasetmessages: + msg307248
2017-11-29 17:23:29vstinnersetmessages: + msg307247
2017-11-29 17:08:04serhiy.storchakasetmessages: + msg307244
2017-11-29 17:00:15vstinnersetmessages: + msg307242
2017-11-29 16:59:17vstinnersetpull_requests: + pull_request4553
2017-11-29 13:28:41r.david.murraysetmessages: + msg307228
2017-11-28 22:41:06ned.deilysetnosy: + ned.deily
messages: + msg307183
2017-11-28 22:14:08serhiy.storchakasetmessages: + msg307178
2017-11-28 21:54:30vstinnersetnosy: + brett.cannon, ezio.melotti, r.david.murray
messages: + msg307175
2017-11-28 21:52:05serhiy.storchakasetmessages: + msg307174
2017-11-28 21:41:21vstinnersetmessages: + msg307173
2017-11-28 21:40:46vstinnersetmessages: + msg307172
2017-11-28 21:33:33serhiy.storchakasetmessages: + msg307171
2017-11-28 21:32:33serhiy.storchakasetnosy: + serhiy.storchaka
messages: + msg307170
2017-11-28 21:29:34vstinnersetmessages: + msg307169
2017-11-28 20:26:15vstinnersetkeywords: + patch
stage: patch review
pull_requests: + pull_request4531
2017-11-28 20:22:20vstinnercreate