Live data from Hacker News

Sapling: A new source control system with Git-compatible client

engineering.fb.com

11–20 of 543 posts

Re: Sapling: A new source control system with Git-compatible client

#11
post #9

This won’t go anywhere even if its 20% better than git. To replace git’s network effects, you need to be 10x better. How I think that will happen is using CRDTs against an AST to remove most merge conflicts.

You may find https://pijul.org/ interesting.

Re: Sapling: A new source control system with Git-compatible client

#14
post #9

This won’t go anywhere even if its 20% better than git. To replace git’s network effects, you need to be 10x better. How I think that will happen is using CRDTs against an AST to remove most merge conflicts.

Does network effect even apply if it's compatible with existing git repositories?

Re: Sapling: A new source control system with Git-compatible client

#15
post #13

> There is no staging area. That's actually a deal breaker to me. Effectively using Git's staging area has become so integral to the way I work with repositories that I don't think I can ever go back to the old style.

Meh. If it has mercurial's revsets instead of gitrevisions(7) I'm game, I'll happily give up the staging if I don't need to open that manpage ever again.

edit: yep, so long git

   check if a given commit is included in a bookmarked release:
      sl log -r "a21ccf and ancestor(release_1.9)"

Re: Sapling: A new source control system with Git-compatible client

#16
post #13

> There is no staging area. That's actually a deal breaker to me. Effectively using Git's staging area has become so integral to the way I work with repositories that I don't think I can ever go back to the old style.

Well, sapling kind of supports something like the staging area with the interactive version of some commands (e.g. `sl commit -i`, `sl amend -i`)

Re: Sapling: A new source control system with Git-compatible client

#17
post #13

> There is no staging area. That's actually a deal breaker to me. Effectively using Git's staging area has become so integral to the way I work with repositories that I don't think I can ever go back to the old style.

Meh. If it has mercurial's revsets instead of gitrevisions(7) I'm game, I'll happily give up the staging if I don't need to open that manpage ever again. edit: yep, so long git check if a given commit is included in a bookmarked release: sl log -r "a21ccf and ancestor(release_1.9)"

Is it really that confusing for Git? I had basically that entire manpage memorized early on (even before the manpage existed....)

Re: Sapling: A new source control system with Git-compatible client

#18
post #13

> There is no staging area. That's actually a deal breaker to me. Effectively using Git's staging area has become so integral to the way I work with repositories that I don't think I can ever go back to the old style.

It has an interactive commit staging command which accomplishes the same thing. In that case, it unifies the staging area with regular commits, which means you can also manipulate them the same way as regular commits.

AFAICT there are only two workflows involving the staging area: staging partial commits and resolving conflicts. The first case is taken care of by partial commit support, and the second case presumably has its own dedicated mechanism.

Re: Sapling: A new source control system with Git-compatible client

#19
post #12

What is the argument against having a staging area? The Git staging area is crucial in my mind.

It's simply not necessary to have that feature. Sapling encourages regularly committing and amending commits rather than staging changes.

It's also easy to commit / amend part of your work by selecting the lines to include in nice curses interface (--interactive).

Re: Sapling: A new source control system with Git-compatible client

#20
I'm not interested in a simplification of git, sorry.

Git's major value proposition is that they added moving parts until the system worked great. If you don't want named branches, staging, or any other piece of the ideology, then subversion is a fine choice.

But most folks moved on from svn for reasons

Post reply on HN