-
Notifications
You must be signed in to change notification settings - Fork 415
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
Name "delta" clashes with a POSIX-standardized legacy VCS tool🐛 #590
Comments
Hi @vrza, there's a related discussion here about what would be needed to get delta into Debian/Ubuntu: #26 It's a bit confusing -- I thought the binary name "delta" was taken in Debian by something called swap-cwm, but you've now pointed out a second clash with a different legacy tool! How did swap-cwm get delta into Debian if it was already taken by SCCS? In any case, and I hope this doesn't sound stubborn, or thoughtless, but no-one nowadays uses this SCSS thing, right? I don't think anyone should have to take into account unused historical projects from the 1970s when naming their binaries. So, I don't have any intentions to change the name of the delta binary: it causes problems for hardly anyone. But if Debian/Ubuntu does include delta, they may of course choose to do so with a different executable name. That would be a bit unfortunate, because it will not match the public documentation, and won't be the executable name that users of other Linux and non-Linux systems use, but it seems like quite a common fate. For example bat is installed as |
They only checked for explicit filesystem namespace clashes. Debian ships GNU CSSC, which installs
The cssc package doesn't install a swap-cwm installs:
manpages-posix installs:
The most recent version of GNU CSSC at the time of this writing -- 1.4.1 -- was released in May 2019. Activity on the mailing list is sporadic, but it seems that there are people who use it, at least in order to convert legacy source repositories to more modern version control systems. I also found this nugget of information on the CSSC mailing list:
So it seems that SCCS is actively maintained as well, the last stable version at the time of this writing -- 5.09 -- was released in February 2019. And I thought Emacs had a track record -- this software will be 50 years old next year and still has people maintaining it!
It causes a problem / confusion for every Linux user that has it installed on a system that also has The man page clash is not specific to Debian -- pretty much every Linux distribution uses the same upstream man-pages. You can try convincing the man-pages people to start excluding from their distribution these POSIX tools that are not commonly installed nowadays. Or, make and distribute your own Frankly, |
Wow, OK perhaps I was a bit unfair to SCCS -- 50 years and still being maintained is very impressive.
Open source software is written by people in their spare time, for free, but most of all for fun. People do this because they enjoy it. When I started writing delta, I had no moral, technical, or aesthetic obligation to investigate whether the name had ever been used by a project with a man page. I knew that "delta" wasn't a standard Unix command or executable from a well-known package. Beyond that, it was just me starting to write a Rust CLI program for fun, in order to learn Rust. |
This is a straw man argument: the author closed the ticket arguing that they had no obligation to prevent the issue from occurring in the first place, as if this were an argument that the issue itself does not exist. |
Not at all. I closed the ticket because I am not aware of any bug revealed by the discussion in this ticket, and therefore there is no further action to take on this ticket. If you are aware of a bug, please explain what it is.
I don't see a bug there. Delta is available to anybody in any country in the world. Linux is just one category of operating system on which Delta can be installed. It is not the case that software project X clashing with some obscure Linux man page constitutes a bug in software project X. There might be an argument that it indicates a bug in the linux distribution for not being able to handle installation of software with clashing executable names / man page names. Furthermore, I am unaware of a way to check for name clashes with any package in any operating system / distribution commonly used anywhere in the world. I tend to spend most of my time in English-speaking computing communities, but there may be Arabic/Chinese/Russian etc distributions containing clashing executable names / man pages. |
It's a usability / user experience issue. I already explained it in this same thread here, and I offered three possible paths to resolution that are not mutually exclusive, one here, and two more here. Here is a short summary of the above: Issue: on systems where this tool is installed, typing Proposed solutions:
2a) make the name more consistent with other aforementioned tools specific to git (
|
FWIW I'd argue that it's not the devs' but the package maintainers' job to prevent/circumvent this kind of conflicts. Upstream developers can't be supposed to know or research about all possible environments an application could run in. It might be more sensible to direct this proposal towards the distribution, or even better the maintainer themselves. |
Writing man pages, or any other general user documentation for an active software project, should most certainly not be the job of package maintainers. |
Not every piece of software provides a man page. Where it was necessary enough Distros like Debian just wrote their own man page or converted --help to a man page. Renaming a binary in a distro is a very easy task to do. If not your packaging system sucks. cssc ships the binary under |
It seems that maintainers of this project refuse to ever create a man page, and hold the opinion that this is the job of downstream distributions. This, among other things, implies on every upstream documentation change, either:
That doesn't make much sense to me, nor I have heard that such practices are widespread. Can you provide such examples of projects that are actively maintained upstream, for which downstream distributions maintainers are maintaining man pages themselves? |
Problem: The program name
delta
clashes with a legacy tool from the SCCS package, which is part of the POSIX standard. The Linux man-pages project ships the man page for this legacy tool, so users typingman delta
will be presented with a mismatching man page.Solution: Use an unambiguous name for the program binary, e.g.
git-delta
.The text was updated successfully, but these errors were encountered: