Hacker News new | ask | show | jobs
by quesera 493 days ago
I miss darcs very much. Easily my favorite VCS ever.

I did not love building the binary from Haskell sources. The ghc compiler was awkward and slow at the time.

I did not love the exponential time explosion for complicated (in practice, just "large") patch histories.

Both of those problems were 20 years ago though. Is the world a better place now?

2 comments

If you loved darcs, check out Pijul. They solved the exponential problem with first-class conflicts.

Disclaimer: I am making a competitor to Pijul, but Pijul really is the spiritual successor to darcs.

Sadly my only experience with Pijul was this https://github.com/Eugeny/russh/issues/151.

When one of the key guys behind the VCS says things like "especially when the alternative is something as broken as Git" about other control systems I really don't feel like using said tool.

I can see your point.

This is a good reminder to me that I need to control my tongue as well; I have said things like the Pijul author did in that thread, and I need to do better.

That’s a classy reply.
I can’t still edit that comment to explain, but I meant it sincerely. When someone sees a foible of their own in others and moves to correct it, that’s awesome and commendable.
Yeah, I don't know why you were downvoted. I upvoted you because I was sure you were replying to me sincerely.
Linus called cvs/subversion broken, did you stop using git?
I was like 4 years old when git was released, so I'm unaware of any of this. Sorry.
Well he didn't really call cvs/subversion broken, to semi quote, he basically said that subversion people were trying to improve on cvs and you cannot do that because cvs is inherently broken.

Its not damning to call something broken, plenty of software has bugs that make it unusable and are broken to many people. In fact, many tools have been made in anger at other tools not doing what you want them to do. This is just the software inception cycle. You should be allowed to be angry at the brokenness of software... its what allows improvement.

I like the idea of Pijul, not the implantation (so far). What are you building and where can I get it?
It is not ready yet, sorry!
Probably a good idea to have a place where those who are interested can wait for an update. You can create a mailing list or a GitHub repository that one can star or watch today. (Later, you could use the repository to mirror the source code of your VCS.)
You are absolutely right.

To be honest, though, I don't want to even mirror that repo on GitHub. Not doing so means I don't have to agree on their onerous T&C for that code.

I was planning on streaming my work on Twitch once I truly get started. I was hoping that might be a goid place for updates.

What is onerous about GitHub’s ToS?
I wonder if you're open to making something that can double as a p2p data store for collaborative p2p applications, including web apps? That was always my wish for pijul, that I could use it in this way.
Mine will allow cloning all data, including issues, PRs, and real-time chats (Zulip-style). I think that might cover your bases.
Do you mean that your system will have some built-in collaboration features? Sounds pretty cool. I'm curious to understand if the underlying patch data structure functionality will be usable as a library to build custom stuff on top?
> Do you mean that your system will have some built-in collaboration features?

Yes. [1] But that is only chat/discussions.

In the future, Yore might get real-time collaboration like Google Docs, but that depends on it taking off.

> I'm curious to understand if the underlying data structure functionality will be usable as a library.

Yes. [2]

[1]: https://git.yzena.com/Yzena/Yc/src/branch/master/docs/yore/d...

[2]: https://git.yzena.com/Yzena/Yc/src/branch/master/docs/yore/d...

> Is the world a better place now?

Don't ask me because the only SCM I have been using for the past 15 year is git and I hate it. Every company uses it, I made a lot of PowerPoint presentations to teach people how to use it, yet I refuse to use its command-line.

I switched from SourceSafe/SVN/Mercurial to git, but never used Darcs. IMHO git is fine as an assembly language of SCM, but I'm trying to switch to jujutsu which has a better CLI while staying compatible with git as a backend.

My path was cvs -> svn -> arch -> darcs -> hg -> git

I liked arch. I loved darcs, but it blew up on me.

I liked hg, but it was clear that git was going to win, so I capitulated.

Honestly, the worst thing I can say about git is that it's always good enough.

Yes, the CLUI has historically been a dog's breakfast. It seems like some slow improvements are being made, which is great, probably -- I haven't learned them.

But once you get past that mostly-psychological barrier, or if you bypass it completely with a GUI etc, the underlying technology is solid and reliable.

I postulate that VCS is "finished" and that any new tool will need to use git underneath for wide adoption. I hope I'm wrong and someone more creative than I can make me love a VCS again. :)

You may be right, and I think jujutsu or a fork of it is the most likely contender.
I think git is quite nice and easy to work with once you realize one thing: git is first and foremost a filesystem. Version control is built on top.