News for hackers. Stuff that matters.
Re:Mercurial RFC of a new extension to directly operate on G... by doubleunplussed on Tuesday October 29, 2019 @10:04PM (#21394000)
Mercurial does have a staging area. It just defaults to including all previously-committed files, which IMHO is very sensible. Link to my previous comment on it:

https://news.ycombinator.com/item?id=21393972

Re:Mercurial RFC of a new extension to directly operate on G... by jcranmer on Tuesday October 29, 2019 @10:16PM (#21394081)
What you describe is not a staging area, it is an interactive commit.

And, personally, I see no positive value in a staging area, given that you can achieve the same functionality via interactive commits or amending commits.

Re:Mercurial RFC of a new extension to directly operate on G... by doubleunplussed on Tuesday October 29, 2019 @10:28PM (#21394139)
Ah, fair enough. So I suppose git's staging area has the additional benefit that you can stage some things and then shut your computer down and the staging will be there when you come back.

I have no idea whether tortoisehg remembers the state of what you've selected in its 'interactive commit' GUI, because I've only ever made those decisions when committing. Given I've been using it almost daily for about six years on a community project (i.e. not just linear commits by a single dev who doesn't need to care about anyone else), I think this is also evidence that a persistent staging area isn't super important.

Re:Mercurial RFC of a new extension to directly operate on G... by gpderetta on Wednesday October 30, 2019 @09:35AM (#21397505)
staging interacts with other commands as well. You can stage a bunch of stuff then revert or stash the rest, you can stash everything in the staging area, you can diff only stuff in the staging area and so on.

It basically acts as a clipboard. Possibly hg interactive commits work in the same way, but then I do not know how that would be different from a staging area.

Re:Mercurial RFC of a new extension to directly operate on G... by pseudalopex on Wednesday October 30, 2019 @03:01PM (#21401256)
Using commits for staging needs fewer different commands and prevents accidentally resetting or discarding changes.