Phabricator[0]: code review/CI solution from Facebook. My company uses it, open development has since been halted by Facebook and we're effectively on abandonware. Flow[1]: JavaScript typing system from Facebook. My company uses it, open development has since been halted by Facebook so we're effectively on abandonware. EDIT: React: Javascript framework from Facebook, my company uses it, and while it has its warts it…
If you think Facebook are bad when it comes to abandoning software projects, try Microsoft.
Sapling: A new source control system with Git-compatible client
151–160 of 543 posts
Re: Sapling: A new source control system with Git-compatible client
#152I use the staging area to allow me to more easily break larger changes into smaller commits. I am usually all over the place while writing/refactoring code and making commits as I go along doesn't work well. How does sapling let me take a long list of commits and break them into larger but more manageable chunks? git add -p allows me to add chunks easily and create commits, git commit --fixup allows me to mark a comm…
Instead of `git add -p`, you would use `sl commit -i` (whose interface I much prefer). To amend into a previous commit, I prefer to switch to it and then just use `sl amend` (+ `sl restack` if necessary), but you can also use `sl fold` IIRC. Instead of `git rebase -i`, you can use `sl histedit` (not a direct replacement for autosquashing, but worth mentioning). To split a single commit, you can use `sl split`, which…
Re: Sapling: A new source control system with Git-compatible client
#153> First things first, please go to your phone and turn off wifi to avoid voter ring detection and upvote us on Hacker News!
Re: Sapling: A new source control system with Git-compatible client
#154Command name conflicts with the `sl` utility that has existed for decades. https://github.com/mtoyoda/sl
"It's just a joke command, and not useful at all." with the last release 8 years ago. I understand that Meta didn't mind conflicting with that.
Re: Sapling: A new source control system with Git-compatible client
#155Earlier quoted context omitted.
If you think Facebook are bad when it comes to abandoning software projects, try Microsoft.
Google isn’t far behind either. Perhaps corporate-owned open-source ecosystems weren’t a great idea.
Re: Sapling: A new source control system with Git-compatible client
#156> 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…
Rebasing, cheery-picking, or reverting of commits becomes impossible when every save of a file is pushed.
You could just publish local IDE history… Would be equally "good" I think. (My IDE is saving files every few key strokes btw; the resulting history would be a bloody mess).
Why not go one step farther: Just make an automatic block image of the whole systems of every developer machine every few seconds. You could than just deliver the image. No docker setup needed any more. Just write code. And when the local version works, ship the whole local system just as it is. ;-)
Re: Sapling: A new source control system with Git-compatible client
#157Trying to use it on existing git repo doesn't work... At least not out of the box, I wonder why is that? Makes it less fun to work with as you can't easily switch
Re: Sapling: A new source control system with Git-compatible client
#158> 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.
Weird, it's one of my favorite changes. Finally I might get a version of Git which works without a bunch of extra crap getting in my way! you can always just use another commit as a staging area, I figure, and it'll make all the commands simpler and more intuitive so it wins in my book.
And than you have to do gymnastics with rebasing and rewriting history afterwards. Using the staging area upfront is much simpler!
Re: Sapling: A new source control system with Git-compatible client
#159FYI, 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!
Re: Sapling: A new source control system with Git-compatible client
#160Earlier quoted context omitted.
> Is it really that confusing for Git? Complete shit is what it is. It's awkward, messy, inconsistent, and hard to compose.
The CLI and nomenclature for the staging area (what should be called "draft commit") is awful, but the actual concept is very easy to understand. I seriously doubt anyone who uses a sane interface to Git (e.g. a GUI) has any trouble with clicking + to add changes to the draft commit before committing it. Most GUI tools let you automatically add all changes before committing anyway so you don't have to know anything a…
A better fix would be to make the staging area an actual commit, and then reframe everything as easy ways to edit the latest commit. (This meshes well with adding features like Mercurial's phases or changeset evolution that make commit editing somewhat safer).