News for hackers. Stuff that matters.
Re:Sunsetting Mercurial Support in Bitbucket by dragonsh on Tuesday August 20, 2019 @09:03AM (#20746470)
I started with CVS then moved to svn. From there moved to bazaar (bzr), from there moved to git and at last used mercurial and settled on it. I still keep an active look at fossil SCM.

In my earlier team at fortune 100 firm, most developers use Windows with svn. We tried git and it did not work well due to UI and windows support. They were able to pick up UI easily and were quickly productive in mercurial. It worked pretty good on all 3 platform Windows, Mac and Linux. I am talking of time when GitHub was not that popular in corporate world.

Performance was never an issue.

Also at that time mercurial followed philosophy of being explicit and every merge needs to be explicit and committed with immutable history. So can see the evolution of code along with the mistakes made.

I believe the success of git is due to GitHub and for many it's synonymous.

Re:Sunsetting Mercurial Support in Bitbucket by throw0101a on Tuesday August 20, 2019 @09:13AM (#20746578)
> I started with CVS then moved to svn.

When I was your age we used RCS and SCCS, in the snow, up hill, in both directions. :)

Seriously, I have no doubt git has an awesome on-disk format, but whenever I use the git(1) command I want to slit my wrists. I'm sure if a developer uses it many times a day it's possible to get used to it, but as a sysadmin that only uses it sporadically, I basically do:

* git clone

* vi repo/some/file/blah

* git add/commit/push

* rm -rf repo/

Re:Sunsetting Mercurial Support in Bitbucket by dboreham on Tuesday August 20, 2019 @03:10PM (#20750787)
I'm in the same camp of rm -rf'ing (and when I were a lad we did all our computing on relays...). A fun game to play when you have spare time is to Google for how to do some random thing with git then pour up a cup of coffee and read through the 17 contradictory answers on just one SO page...
Re:Sunsetting Mercurial Support in Bitbucket by phaemon on Tuesday August 20, 2019 @10:26AM (#20747339)
As a sysadmin (as am I), you should know how git works so you can fix it when the devs break it. :)

What do you find difficult about it?

Re:Sunsetting Mercurial Support in Bitbucket by throw0101a on Tuesday August 20, 2019 @12:09PM (#20748561)
The format of a command is `git <action> <options>`, and the <action> is completely baffling to the RCS/CVS/SVN habits I've built up for the decades.

For the little while that I sometimes used Hg I found it much easier to get my head around.

It's mostly a lack of practice/use.

Re:Sunsetting Mercurial Support in Bitbucket by SAI_Peregrinus on Tuesday August 20, 2019 @02:02PM (#20749939)
I just use a bunch of aliases to make sense of things. eg "new-branch = checkout -b" and "branches = branch".
Re:Sunsetting Mercurial Support in Bitbucket by mey on Tuesday August 20, 2019 @09:36AM (#20746829)
Order of my exposure to SCM

  Shared windows mount
  Visual Source Safe
  CVS
  SVN
  Perforce
  ClearCase
  Git
  Team Foundation Server
Of those I still use Git and SVN. Aside from the shared network drive, VSS and ClearCase are in a dead heat for the worst SCM I have been exposed to.
Re:Sunsetting Mercurial Support in Bitbucket by gcoleman on Tuesday August 20, 2019 @12:22PM (#20748735)
Visual Sorta-Safe, we used to call it.
Re:Sunsetting Mercurial Support in Bitbucket by tres on Tuesday August 20, 2019 @06:25PM (#20752830)
Tell bob he needs to check in the file so I can work on it.
Re:Sunsetting Mercurial Support in Bitbucket by stevekemp on Tuesday August 20, 2019 @12:24PM (#20748753)
Throw in SCCS, on SCO Unixware, and Darcs, and you match my exposure too, mostly. Now I remember what an abomination VSS was - with the mandatory locking behaviour.
Re:Sunsetting Mercurial Support in Bitbucket by rejschaap on Tuesday August 20, 2019 @01:09PM (#20749325)
It wasn't mandatory, actually. It was possible to turn off the locking. But that was like entering a whole new world of pain. So most people didn't dare turn it off.

They called it "multiple checkout", and the manual strongly recommended you do not turn it on.

The software had issues with corruption due to operations not being atomic.

Re:Sunsetting Mercurial Support in Bitbucket by mey on Tuesday August 20, 2019 @01:33PM (#20749617)
The lack of atomic commits in VSS, CVS and ClearCase caused absolutely horrific problems, even on small teams.
Re:Sunsetting Mercurial Support in Bitbucket by silverbacknet on Tuesday August 20, 2019 @11:15PM (#20754307)
I remember when you basically had to yell "Committing!" and "Done committing!" to the whole room. Woe be unto those companies that tried to use VSS or CVS with more than a roomful of developers.
Re:Sunsetting Mercurial Support in Bitbucket by marcosdumay on Tuesday August 20, 2019 @03:08PM (#20750766)
I can live with the locking behavior, but VSS had a tendency of corrupting the entire repo ever few weeks that is hard to accept.
Re:Sunsetting Mercurial Support in Bitbucket by flukus on Tuesday August 20, 2019 @09:35PM (#20753913)
I could live with the locking or the corrupted repos if it was half decent at just sharing code, but daily we had problems where someone would check in code, VSS would say it was checked in but the person updating would get stale versions. Sometimes if you looked at the server version it be be correct but not what you would receive on a fresh checkout.

It was literally less functional than copying to a shared drive. Of course management and other developers refused to believe that OSS solutions were better, MS ecosystem developers were an extremely insular group.

Re:Sunsetting Mercurial Support in Bitbucket by marcosdumay on Wednesday August 21, 2019 @11:40AM (#20758251)
Yes, there was that too. I've seen quite a few regressions caused by this.
Re:Sunsetting Mercurial Support in Bitbucket by keithnoizu on Tuesday August 20, 2019 @10:54AM (#20747640)
I feel blessed to have started with SVN and Source Depot (msft) and only come across CVS and Perforce on rare occasions.
Re:Sunsetting Mercurial Support in Bitbucket by hyperrail on Tuesday August 20, 2019 @12:18PM (#20748693)
Source Depot is very similar to Perforce since sd started as a p4 fork.

Incidentally, I remember one person at Microsoft who claimed to be involved in the decision to adopt sd circa 1999 saying that Microsoft has the right to turn sd into a product if it so chooses. (He/she was responding to contrary claims made on an internal email mailing list which was very widely read, so I assume if he/she was misremembering or lying he/she would have been called out.) Though ultimately MSFT made VSTS/TFS version control instead, which has striking resemblances in concepts to sd/p4.

Re:Sunsetting Mercurial Support in Bitbucket by keithnoizu on Thursday August 22, 2019 @07:35AM (#20766925)
Interesting. It wasn't a bad solution at the time, being able to pass around commits was nice and more straight forward than the patch mechanism on svn. Git and Mercurial were significantly superior solutions though.
Re:Sunsetting Mercurial Support in Bitbucket by robaato on Tuesday August 20, 2019 @11:21AM (#20747948)
Source Depot == Perforce
Re:Sunsetting Mercurial Support in Bitbucket by sciurus on Tuesday August 20, 2019 @12:12PM (#20748608)
As a sysadmin, how do you version your infrastructure code (things like puppet or terraform)? If another VCS, cool. If not at all, try git for it!
Re:Sunsetting Mercurial Support in Bitbucket by seanmcdirmid on Tuesday August 20, 2019 @09:21AM (#20746669)
Some people on the other side of the Unix/Microsoft tracks started out on sourcesafe.... shudder
Re:Sunsetting Mercurial Support in Bitbucket by jsgo on Tuesday August 20, 2019 @11:24AM (#20747979)
raises hand

dunno, I like git better, but at the time it did what our small team needed. Granted, we always ran into issues with one of us having a file locked that someone else needed, but onboarding was a breeze.

I'm glad I use git now, but Sourcesafe was an okay introductory source control solution.

Re:Sunsetting Mercurial Support in Bitbucket by jbverschoor on Tuesday August 20, 2019 @10:47AM (#20747568)
Do a shallow clone and you’ll save some time.
Re:Sunsetting Mercurial Support in Bitbucket by WorldMaker on Tuesday August 20, 2019 @12:45PM (#20749032)
I started with CVS in HS on a couple SourceForge projects, but skipped svn for the same reasons I used CVS sparingly: setting up servers was too much effort, (especially for non-open source stuff), especially on Windows. Instead of svn I fell hard in love for darcs in college (after the usual college tale of losing source files the day before a project was due in a stupid unix tool mishap with a command line that was one letter off from what it should have been).

Watching hg and git grow up and compete as a darcs user was fascinating. Neither hg nor git had the elegance of the darcs UI (and arguably never will due to disparities in the underlying distributed code model), but it was clear from very early on that both hg and git were beating darcs on performance for large, active repositories. (Which was never a problem for a college student working on teams of maybe 1 to 3, but obviously a hard recommendation for the real world.) I experimented some with hg at the time because it had good Windows support, but had no reason to switch from darcs in college.

My first couple of jobs after college had me spending a lot of time in TFVC, and that eventually that lead to a much greater appreciation of git (and pushing teams to migrate from TFVC to git), and by that point TFS had already starting supporting git side-by-side TFVC, though ironically those same teams pushed hard for GitHub Enterprise. (Which does seem to underscore that git and GitHub really were so co-beneficial.)

By that point a lot of what hg had done right the git team was starting to pick up. At the very least, we should remember hg for pushing git to be better.

(As one example, someone else pointed to `git stash` as something that they didn't think hg had, but as I recall `mercurial queues` [MQ] was one of the earliest hg plugins, and MQ influenced the designs of both `git rebase` and `git stash`, and MQ itself was mostly deprecated by `hg rebase` and `hg shelve` which learned a lot from MQ.)

Re:Sunsetting Mercurial Support in Bitbucket by BeetleB on Tuesday August 20, 2019 @02:17PM (#20750135)
>and MQ itself was mostly deprecated by `hg rebase` and `hg shelve` which learned a lot from MQ.

I believe those have been deprecated in favor of the evolve extension.

Mercurial is my goto for version control. However, in my experience, the information on the ideal tools/extensions is very scattered. The Mercurial book is 10 years old! For example, few mercurial users make use of branches for throwaway work - they use bookmarks. But how is a new user supposed to know that?

Re:Sunsetting Mercurial Support in Bitbucket by WorldMaker on Tuesday August 20, 2019 @03:06PM (#20750737)
Neat. I was unaware of the evolve extension. It's interesting to see things continued to progress since I last read anything on the subject.

All the documentation I spotted currently still lists evolve as "experimental", and that doesn't help with any confidence of which tools/extensions to use in day-to-day operations, on top of how scattered the documentation is. It is interesting, perhaps how hg has a better UI, but git has always had arguably more consistent documentation.

(Similar too, both hg and git are built as sets of "plugins" to the core CLI but hg requires much more explicit installation and git just bundled a lot of them directly together and implicitly runs anything that even looks close [any script in the PATH that fits git-command may be run for git command], making it less clear which hg commands to use despite the better general UI, and easier to get started in git with a smorgasbord of commands.)

I somewhat remember the Named Branches versus Bookmarks discussion/confusion thing from the last time I attempted to use hg. It sounds unfortunate that it still doesn't seem very well documented or well explained this many years later.

Re:Sunsetting Mercurial Support in Bitbucket by BeetleB on Tuesday August 20, 2019 @04:39PM (#20751848)
>All the documentation I spotted currently still lists evolve as "experimental", and that doesn't help with any confidence of which tools/extensions to use in day-to-day operations

I believe it is bug free, and fit for real world usage, and has been for years. If you read the details, the issue is there is a chance for performance degradation, and they consider that as "backward incompatible".

Re:Sunsetting Mercurial Support in Bitbucket by tasssko on Tuesday August 20, 2019 @02:42PM (#20750483)
Git was successful before github. I’d say Github was successful because of git!
Re:Sunsetting Mercurial Support in Bitbucket by kjeetgill on Tuesday August 20, 2019 @03:15PM (#20750847)
I was going to write this exact comment. I'm sure the "marketing" of "Linus Made!" and "used for the Kernel!" did git some favors, but git is technically superior in my experience, despite UI short comings.

I'm sure it's changed now, but the lack of cheap fast branching was jarring.

I think many UI fetishists forget: Good UI helps begginer adoption but has to be incredibly way better to drive any readoption. But professionals will often have to suck it up and use a shitty UI if it means solving a technical shortcoming better.

Re:Sunsetting Mercurial Support in Bitbucket by benibela on Tuesday August 20, 2019 @06:08PM (#20752698)
And perhaps because there is no good offline ui for git

So you end up using github as ui, even if you do not want to use a webpage