Live data from Hacker News

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

engineering.fb.com

161–170 of 543 posts

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

#161

Ah, there it is. I was wondering when this would happen. Facebook used to be involved with the Mercurial community, but it was difficult to work with them. They always wanted to do things their way, had their own intentions, and started to demand that the Mercurial project work the way that Facebook wanted. For example, they demanded that we start using Phabricator and started slowly removing sequential revisions fro…

As someone who used to be intimately involved in the development of PHP, HHVM was an interesting project because for a long time it supported standard PHP (alongside Facebook's custom language, Hack), so it brought competition to the implementation space! But eventually Facebook lost interest in that part, probably because they had no use for it.

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

#162
post #48
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's really just a matter of habit and getting used to no staging area takes short and has huge benefits. We develop HighFlux[1] which also gets rid of the staging area. It simplifies your mental model of what's going on a lot. Because everything you save is automatically committed, switching to a different task/branch is also always instant without needing stash. Because what you're testing locally is what you're co…

> It's really just a matter of habit and getting used to no staging area takes short and has huge benefits.

Sorry, but no. "No staging area" is what VCSes were like before Git and it was worse, much worse.

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

#164
post #87

Thank god. I have been waiting ten years ( https://www.google.com/url?q=https://stevebennett.me/2012/02... ) for someone to develop a better CLI for git, someone with the scale and clout to do it well and gain mindshare. It's not that useful to learn a new workflow if no one you ever work with will be familiar with it. This looks incredible. A simple command to uncommit or unamend makes you further realise what a dis…

My brain immediately jumped to "but you can just git reflog and then copy the state you want to revert to and then git reset --hard ", but not only is that not simple or obvious, it isn't even correct, since a commit or amend operation can be performed with only some of the changes staged, and a hard reset will wipe out anything unstaged. Ah sigh. So yes, in short I agree.

Well in that situation you can stash unstaged, reset, then pop. But that just reinforces the OP’s point. Not the most ergonomic or discoverable path for something that should be simple to do.

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

#165
post #88

Earlier quoted context omitted.

Interesting. FB also open-sourced Thrift and then promptly had fbthrift diverge instantly. Overall, I'm glad they do these things, though since it is better to have this code accessible than absent. Good on them!

HHVM is an interesting data point too - kept PHP compatibility for as long as there were significant open-source users (eg wikipedia), but after PHP7 caught up with a lot of the performance gains, meaning there was little reason to use HHVM in PHP-compatibility mode, they then went off in their own direction with Hacklang (which is still actively developed) to get all the benefits of being PHP-like without the drawba…

>get all the benefits of being PHP-like without the drawbacks of being PHP-compatible

I have a hard time understanding the benefit of using a language that’s almost like a very popular one, but not quite.

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

#166

Earlier quoted context omitted.

Quoted post unavailable.

Lol. Orrr we could just do things sensibly in the first place.

I always chuckle when things like “sensible”, “user-friendly” or “sane” get thrown around as if they are anything more than that person’s opinion.

When are developers going to learn that they actually have to learn and familiarize themselves with preexisting systems, instead of endlessly reinventing them, and that there is no such thing as the perfect system?

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

#167

Earlier quoted context omitted.

Maybe I'm misunderstanding, but isn't this what `git revert` is for? Harder with an amend due to having to get the difference of commits within the reflog, sure.

git revert doesn't undo a commit though— it creates a new commit that undoes it. That might be what you want under some circumstances, but most of the time that I want to revert it's a commit I just made and haven't pushed yet, so I just want to pretend it never existed.

What's wrong with just working on and when the changes finally look like they should just do a `git commit --amend`?

Or if the commit should for some strange reasons really never exist just move HEAD one commit back. You could even get the changes back by merging the "bad" commit back without committing the merge (using the `--no-commit` switch).

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

#168

Ah, there it is. I was wondering when this would happen. Facebook used to be involved with the Mercurial community, but it was difficult to work with them. They always wanted to do things their way, had their own intentions, and started to demand that the Mercurial project work the way that Facebook wanted. For example, they demanded that we start using Phabricator and started slowly removing sequential revisions fro…

I certainly recognized several Mercurial features and concepts in Sapling.

For example, I use Mercurial’s absorb command [1] and was pleased to see it in Sapling.

Overall this looks promising.

[1]: https://gregoryszorc.com/blog/2018/11/05/absorbing-commit-ch...

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

#169
post #159
post #153

FYI, as-shared at Meta: > First things first, please go to your phone and turn off wifi to avoid voter ring detection and upvote us on Hacker News!

Do you have any actual evidence of this, or is it a baseless accusation?

It's an internal post. Can confirm.

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

#170

Ah, there it is. I was wondering when this would happen. Facebook used to be involved with the Mercurial community, but it was difficult to work with them. They always wanted to do things their way, had their own intentions, and started to demand that the Mercurial project work the way that Facebook wanted. For example, they demanded that we start using Phabricator and started slowly removing sequential revisions fro…

I certainly recognized several Mercurial features and concepts in Sapling. For example, I use Mercurial’s absorb command [1] and was pleased to see it in Sapling. Overall this looks promising. [1]: https://gregoryszorc.com/blog/2018/11/05/absorbing-commit-ch...

Absorb is fantastic and one of Jun Wu's (seen in this thread as quark12) best contributions to Mercurial. I want everyone to know about this tool, it's amazing. I had fun trying to come up with a name for the feature:

https://lobste.rs/s/nws1uj/help_us_name_new_mercurial_featur...

Post reply on HN