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

Remove bzr, cvs, darcs, fossil and svn support #4802

Merged
merged 2 commits into from Sep 30, 2017

Conversation

Projects
None yet
6 participants
@tarsius
Member

tarsius commented Jun 14, 2017

This isn't the first time that I suggest that Melpa should drop support for little used fetchers. Unfortunately I cannot find those discussions anymore. If I remember correctly, @purcell's position was that he is not opposed on principal, but that he sees no reason to do so until these fetchers start causing issues.

The removal of some fetchers has recently come up again in #4798, where @Fuco1 said:

All complex systems tend to break, this is a given in programming. Reducing complexity promotes experimentation and growth. When rolling out "partial support" is met without much enthusiams, then we should simply drop the support altogether.

I agree with that. I have contributed to package-build.el in the past and the existence of little used fetchers was indeed an issue for me.


This pull requests attempts to demonstrate how we can drop support for three vcs fetchers without losing much. I hope that by making the proposal very concrete, we can actually reach a decision on whether to do this or not.

Please see the commit messages for details. Here is a summary:

  • Drop support for the fossil fetcher. Not a single package used it.
  • Drop support for the bzr fetcher. The two recipes that still used bzr now import from stale repositories on the Emacsorphanage. The upstream repositories have not seen any commits in years. But in the unlikely event that upstream decided to resume work, we would not automatically notice that.
  • Drop support for the darcs fetcher. The two recipes that still used darcs now import from active repositories on the Emacsmirror. These repositories are only updated periodically, so there sometimes will be delays.

So by migrating four packages we can drop support for three fetchers. There are small drawbacks as mentioned, but I think that the reduced complexity outweigh those by far.

Support for cvs and svn cannot be dropped yet because this pr only migrates seven out of the remaining thirteen twelve packages to the Emacsmirror.

  • Two cvs-using packages have not been migrated so far. Both of these packages actually live in the same repository and I have asked upstream to consider a move to git (but have not gotten a reply yet). If that's what it takes, then I am willing to periodically import the cvs repository myself.
  • Four Three svn-using packages have not been migrated so far because they consist of more than one library, which means that the Emacsmirror cannot use its file fetcher.
    • caml last updated two years ago. Let's ask upstream to migrate, but there is a good change that would fail.
    • confluence last updated two years ago. Let's ask upstream to migrate.
    • dic-lookup-w3m actively maintained. Let's ask upstream to migrate.
    • ruby-electric @knu the file in the svn repository contains a link to https://github.com/knu/ruby-electric.el. Is the git repository up-to-date/ahead? Old discussion in #1079. [Given that the url in both the svn and git repository points at the git repository, I decided that lacking a response the git repository should be preferred.]
@@ -803,9 +684,6 @@ Optionally PRETTY-PRINT the data."
"--exclude=CVS"
"--exclude=.git"
"--exclude=_darcs"

This comment has been minimized.

@dunn

dunn Jun 14, 2017

Contributor

This line can go too, right?

This comment has been minimized.

@tarsius

tarsius Jun 15, 2017

Member

Yes, thanks for catching that.

@@ -12,9 +12,7 @@ sudo ${SUDOENV} apt-get -y install \
bzr \

This comment has been minimized.

@dunn

dunn Jun 14, 2017

Contributor

Can kill bzr here too?

This comment has been minimized.

@tarsius

tarsius Jun 15, 2017

Member

ditto

@tarsius

This comment has been minimized.

Member

tarsius commented Jun 15, 2017

Note that the changes to package-build.el should be made in its own repository. I haven't done that yet to make it easier to review all the changes in one place.

@Fuco1

This comment has been minimized.

Contributor

Fuco1 commented Jun 15, 2017

@tarsius thank you very much for taking up the time, I know you are super busy. Let me know if I can do some work, I will happily donate some time to this as well.

@tarsius

This comment has been minimized.

Member

tarsius commented Jun 17, 2017

Let me know if I can do some work,

You could send friendly mails to the maintainers of packages that still use svn or cvs and offer to help them convert to git. Start by trying to convince the maintainer of w3m. If you succeed in that, then we can drop cvs support.

@purcell

This comment has been minimized.

Member

purcell commented Sep 9, 2017

I feel a bit weird about relying on Emacsmirror, but I'd be happy to merge this if the conflicts get resolved. Would you then sync the changes back to the package-build repo, @tarsius?

@tarsius

This comment has been minimized.

Member

tarsius commented Sep 9, 2017

I am now importing the full history of most of these packages into git repositories using a simple Makefile again. More on that later -- this response is about two of the four packages that I do not import again (yet?).

debian-bug and debian-changelog-mode are only interesting to Debian users, who actually contribute to Debian, and who probably would not mind installing them using apt-get install debian-el dpkg-dev-el (which has the added benefit that these packages come with other closely related Emacs libraries).

debian-bug has been downloaded only 69 times from Melpa and debian-changelog-mode only 168 times.

So my suggestion is that those two packages are removed from Melpa.

@purcell

This comment has been minimized.

Member

purcell commented Sep 9, 2017

@tarsius

This comment has been minimized.

Member

tarsius commented Sep 9, 2017

Okay will do it.

@@ -802,10 +583,6 @@ Optionally PRETTY-PRINT the data."
"--exclude=.svn"
"--exclude=CVS"

This comment has been minimized.

@dunn

dunn Sep 9, 2017

Contributor

This can go too, probably.

@@ -1524,7 +1301,7 @@ If FILE-NAME is not specified, the default archive-contents file is used."
(list (intern (read-string "Package name: "))
(intern (completing-read "Fetcher: "
(list "github" "gitlab" "bitbucket"
"git" "wiki" "bzr" "hg" "cvs" "svn")
"git" "wiki" "hg" "cvs" "svn")

This comment has been minimized.

@dunn

dunn Sep 9, 2017

Contributor

We can't also drop cvs and svn from this list?

tarsius added a commit that referenced this pull request Sep 9, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 hours ago           |                 1 |

Now we do it for these too:

| Package (12)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| caml              | svn    | 1 year, 11 months ago |                 0 |
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 4 hours ago           |                 1 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 4 hours ago           |                 1 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... well as `shimbun', which is part of the `w3m' repository.

tarsius added a commit that referenced this pull request Sep 9, 2017

Remove support for bzr, cvs, darcs, fossil and svn
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

tarsius added a commit that referenced this pull request Sep 9, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 hours ago           |                 1 |

Now we do it for these too:

| Package (12)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| caml              | svn    | 1 year, 11 months ago |                 0 |
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 4 hours ago           |                 1 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 4 hours ago           |                 1 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... as well as `shimbun', which is part of the `w3m' repository.

tarsius added a commit that referenced this pull request Sep 9, 2017

Remove support for bzr, cvs, darcs, fossil and svn
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

tarsius added a commit that referenced this pull request Sep 10, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 weeks ago           |                 1 |

Now we do it for these too:

| Package (12)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| caml              | svn    | 1 year, 11 months ago |                 0 |
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 3 years, 4 months ago |                 0 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 1 year, 4 months ago  |                 0 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... as well as `shimbun', which is part of the `w3m' repository.

tarsius added a commit that referenced this pull request Sep 10, 2017

Remove support for bzr, cvs, darcs, fossil and svn
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

tarsius added a commit that referenced this pull request Sep 10, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 weeks ago           |                 1 |

Now we do it for these too:

| Package (12)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| caml              | svn    | 1 year, 11 months ago |                 0 |
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 3 years, 4 months ago |                 0 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 1 year, 4 months ago  |                 0 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... as well as `shimbun', which is part of the `w3m' repository.

A more or less up-to-date version of this table can be found at
https://emacsmirror.net/stats/melpa.html.

tarsius added a commit that referenced this pull request Sep 10, 2017

Remove support for bzr, cvs, darcs, fossil and svn
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

tarsius added a commit that referenced this pull request Sep 10, 2017

Remove bzr, cvs, darcs, fossil and svn support
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

tarsius added a commit to melpa/package-build that referenced this pull request Sep 10, 2017

@tarsius tarsius changed the title from Remove support for bzr, darcs, and fossil fetchers; prepare removal of cvs and svn fetchers to Remove bzr, cvs, darcs, fossil and svn support Sep 10, 2017

@alphapapa

This comment has been minimized.

Contributor

alphapapa commented Sep 10, 2017

Just a thought: developers who run other distros (or even, e.g. OS X) but also package their software for Debian may find debian-changelog-mode useful, and installing it manually by extracting it from the deb would be a pain.

tarsius added a commit that referenced this pull request Sep 11, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 weeks ago           |                 1 |

Now we do it for these too:

| Package (12)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| caml              | svn    | 1 year, 11 months ago |                 0 |
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 3 years, 4 months ago |                 0 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 1 year, 4 months ago  |                 0 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... as well as `shimbun', which is part of the `w3m' repository.

A more or less up-to-date version of this table can be found at
https://emacsmirror.net/stats/melpa.html.

tarsius added a commit that referenced this pull request Sep 11, 2017

Remove bzr, cvs, darcs, fossil and svn support
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

tarsius added a commit that referenced this pull request Sep 13, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 weeks ago           |                 1 |

Now we do it for these too:

| Package (11)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 3 years, 4 months ago |                 0 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 1 year, 4 months ago  |                 0 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... as well as `shimbun', which is part of the `w3m' repository.

A more or less up-to-date version of this table can be found at
https://emacsmirror.net/stats/melpa.html.

tarsius added a commit that referenced this pull request Sep 13, 2017

Remove bzr, cvs, darcs, fossil and svn support
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.
@joewreschnig

This comment has been minimized.

Contributor

joewreschnig commented Sep 16, 2017

I think it would be worthwhile to split off parts of this for each VCS, as each has different issues:

  • Fossil is literally unused, and could go right away right now and no one would notice.
  • CVS is fundamentally insecure, and at some point the bullet must be bit and we drop w3m (the only remaining repository) because of that alone.
  • Bzr is dead, unofficially for certain if not officially yet. (Even its official download page no longer works did not work when I wrote this.)
  • Darcs and Subversion should probably be discouraged, but are secure and actively maintained. The only reason to remove them is the maintenance burden on MELPA.
@joewreschnig

This comment has been minimized.

Contributor

joewreschnig commented Sep 16, 2017

Just a thought: developers who run other distros (or even, e.g. OS X) but also package their software for Debian may find debian-changelog-mode useful, and installing it manually by extracting it from the deb would be a pain.

This is the situation I'm in now, but what the removal is probably going to do is get me off my butt to fork and modernize the package, so I think it's win/win (other than my free time).

@tarsius tarsius closed this Sep 18, 2017

@tarsius tarsius deleted the remove-fetchers branch Sep 18, 2017

@tarsius tarsius restored the remove-fetchers branch Sep 19, 2017

@tarsius tarsius reopened this Sep 19, 2017

@tarsius

This comment has been minimized.

Member

tarsius commented Sep 19, 2017

Ups...

tarsius added a commit that referenced this pull request Sep 19, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 weeks ago           |                 1 |

Now we do it for these too:

| Package (11)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 3 years, 4 months ago |                 0 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 1 year, 4 months ago  |                 0 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... as well as `shimbun', which is part of the `w3m' repository.

A more or less up-to-date version of this table can be found at
https://emacsmirror.net/stats/melpa.html.

tarsius added a commit that referenced this pull request Sep 19, 2017

Remove bzr, cvs, darcs, fossil and svn support
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

tarsius added some commits Sep 9, 2017

No longer import directly from bzr, cvs, darcs, fossil or svn
The upstreams of these packages use some version control system
other than Git or Mercurial.  As you can see there are very few
such packages, which is why support was removed from Melpa (not
having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

Before this commit this was already done for these packages:

| Package (2)       | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| swbuff            | cvs    | 10 years ago          |                 0 |
| vc-fossil         | fossil | 4 weeks ago           |                 1 |

Now we do it for these too:

| Package (11)      | Vcs    | Last commit           | Commits last year |
|-------------------+--------+-----------------------+-------------------|
| cg                | svn    | 7 months ago          |                 2 |
| clang-format      | svn    | 4 weeks ago           |                26 |
| color-theme       | bzr    | 8 years ago           |                 0 |
| confluence        | svn    | 6 weeks ago           |                 1 |
| darcsum           | darcs  | 3 years, 4 months ago |                 0 |
| dic-lookup-w3m    | svn    | 5 weeks ago           |                 4 |
| dsvn              | svn    | 6 weeks ago           |                 1 |
| helm-ls-svn       | svn    | 2 years, 2 months ago |                 0 |
| ruby-additional   | svn    | 3 weeks ago           |                12 |
| tex-smart-umlauts | darcs  | 1 year, 4 months ago  |                 0 |
| w3m               | cvs    | 3 weeks ago           |                74 |

... as well as `shimbun', which is part of the `w3m' repository.

A more or less up-to-date version of this table can be found at
https://emacsmirror.net/stats/melpa.html.
Remove bzr, cvs, darcs, fossil and svn support
Not having to support five vcs for the benefit of a handful of
packages makes it more appealing to improve the remaining code).

See #4802.

@purcell purcell merged commit 30de78c into master Sep 30, 2017

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@purcell purcell referenced this pull request Sep 30, 2017

Merged

Remove all Emacswiki packages #5008

1 of 3 tasks complete

@tarsius tarsius deleted the remove-fetchers branch Sep 30, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment