Github has the social aspects nailed down, but for small teams or personal projects, I don't hesitate to use bitbucket. Particularly now that you can use HipChat for free on small teams, hosting with bitbucket and managing your project exclusively through Atlassian is fantastic. I like issue management in bitbucket much more than github, as well (personal opinion, no great foundation here).
For personal projects or two person projects, Kiln is available for free. For larger teams, one of the advantages is that you can use Mercurial and Git interchangeably in the same project.
Also, with the startup edition you get Fogbugz, which is pretty decent - and certainly lightyears ahead of github issues.
Note: I have no relationship with FogCreek, but I've added a few personal projects there and so far I have no complaints.
I respectfully disagree regarding Fogbugz vs. GitHub issues.
I used FogBugz for about 6 years in a major client project (a successful SaaS product). We used FogCreek's hosted solution and were pretty heavy users: different projects, milestones, feature requests, user communication, etc. However, we were unhappy with FogBugz. The UI always felt clunky and slow to navigate, it felt like we were battling FB rather than getting help from it. In particular, milestone / release management and issue grouping were painful.
Then late last year we moved our repos to GH, and decided to look for another issue management system. We evaluated several: JIRA sucked hard imho, JetBrains YouTrack was my favorite full-featured product.
But then we decided to give GH issue management a try. It is minimalist and surely lacked some features, but hey, if it could handle our needs, the simplicity would be a huge plus.
A few months later, _everyone_ in the team is thrilled: devs, testers, support personnel. Using milestones and labels we have been able to manage more people and more work on GH (we're growing) with less hassle. It feels much friendlier than FogBugz. Now whenever I create / solve / assign / organize issues, I feel happy, whereas before it was a dreaded chore.
YMMV of course, but I wanted to give my 2c since I do have a lot of experience with both issue managers.
When using github, do you keep all of your code in a single repo? If not, have you found any solutions to the "fragmentation" problem where it's hard to get a big picture view due to issues being scattered across different repos? We're looking for solutions for that at my workplace.
I haven't used bitbucket for larger projects yet, any insights there also appreciated.
This is a great point. We have ~10 repos as part of our product, so we faced the same issue.
After toying with different solutions, we settled on using two dedicated issues-only repositories. One of them handles software development (all bugs, feature requests, the engineering stuff) and the other handles operational stuff like client installs and so on.
This has worked well for us. Here are some advantages:
0. We get the big picture you mentioned, which is the crucial point. Planning, grouping issues for releases, etc., becomes much easier.
1. When it comes to access security, we can give people access to the issues repositories (via GH teams) without giving them access to the full source code.
2. Splitting operations and engineering increases focus. Engineers don't need to look at client installs, etc.
3. We can still reference repo issues in commits to other repositories. See [0] and [1]
So all in all, I agree the fragmentation is a real problem, and I think centralized issues-only repos are the way to go. Hope this helps.
This is a huge problem for us also, and I've considered moving things over to Jira several times over the past couple weeks because of it. The only quasi-solution I've found is to feed multiple repos into a single chat room in Hipchat so people can get some idea of progress. More broadly though, I'm quite dissatisfied with GH issues (UI, poor search, clunky milestones, no burn charts, etc.).
I understand the frustration with GH limitations (no burn charts and hardly any reporting). For us, the minimalism ended up working in harmony with our process, but I can see situations where it wouldn't.
The UI and milestones, though, I think are good. JIRA is to me the king of clunky. I've used it in 3 projects over the years and evaluated it last year, and I've been pretty disappointed with it.
To borrow from another comment here, it has a bit of a Bugzilla feel, like it just grew and grew, and you have tons of fields and features, but they're poorly designed and put together. A bit of a mess, to put it bluntly. FogBugz has a similar feel to me.
I encourage you to check out JetBrains' YouTrack. I never used it in a project, but a couple days evaluating gave me a good impression. Good luck with your search.
Thanks for the suggestion. I've also used Jira in the past and wasn't super impressed with it at the time for just the reasons you mentioned -- lots of features but not integrated seamlessly and often overloading the user with options and not presenting a very good user experience (both in terms of speed / design / etc.). That said, I have the sense that GH is slowing down, I constantly have issues that seem to be similar to the old Twitter fail whale problem, either with what appears to be incorrect old cached data or Octocat "hello these droids that you are looking for can't be found since our ORM sucks." I assume this is some Rails stack issue (i.e. some aspect of the old Rails can't scale argument that was never really refuted but people forgot about as they stopped trying to optimize Rails apps for speed).
btw, I don't think that there is necessarily anything wrong Milestones, but there are always too many clicks involved in the GH interface and the buttons are often not where I expect them to be -- even when you have something that works well (i.e. dynamic adding of tags that automatically updates the DB), there is frequently no indication of actual success, which ends up puzzling the user.
Thanks a lot for the suggestion for YouTrack, will definitely check it out.
I agree completely on the GH slow down / fail whale type of problems.
I use GH for about 12 hours a day almost every day, between open source and client projects. I face slow downs in the issue tracker, the git repos themselves (I only use command line), and the web interface to browse a project (code, history, pull requests). I notice a slow down about once a day. Some features, like the contributors graph, are always dead slow. About 10-20% of PR merge attempts fail, and I have to click the button again, sometimes multiple times. I see the Unicorn fail page or some Octocat fail page often enough.
It makes me think exactly of what you describe, a combination of Rails perf / scalability and perhaps a lack of strong backend engineering, I'm not sure.
Right now the problems are in the level of a mild annoyance / surprise that a company like GH has these issues. If it gets worse, I would consider moving away. But because I truly love the UI and overall functionality, it's a positive tradeoff for us at the moment.
You're very welcome regarding the YouTrack suggestion.
Yep, we are seeing exactly the same things and have more or less the same response. I've long been a huge Github fan so to think of moving away makes me quite sad, but the frequent chunkiness (even exhibited in things as simple as switching between page 1 and 2 of open issues) causes me a lot of frustration every day. I'm not ready to give up just yet however.
Just a nit on GH issues: email vs web don't mix. Email formatting isn't rendered properly online (line breaks, "> " quoting) - and you can't edit an issue/comment online if you originally mailed it in (it's type is email, and that's it). Editing online is incredibly slow on small machines (zenmode is much faster, but you can't preview).
Have you used the GitHub mobile apps though? I find it's a decent way to keep tabs on issues, add comments, etc., when one is away from a bigger computer. I see that as a big plus for GH.
I may be totally off... But sound like you were trying to use several features in fogbugz just because they were there... And then liked best the one that did not give you so much hope for you to hang yourself
The part that really irks me about BitBucket issues is that you can't reassign the issue to someone else without editing the header record. This applies to some of the other issue fields as well, and just seems bizarre. We wanted to move from GitHub to BitBucket, but after a day of trying their issue tracker, we gave up.
I think Kiln's wrappers for supporting Git and Mercurial on the same project are impressive, but I can't see a good business case for allowing that to happen within your organization.
Personally, the Fogbugz flow and implementation is way too reminiscent of Bugzilla for me (a bug solution that I think is tolerable at best), but I think that's mostly due to my limited experience with the tool.
Nonetheless, FogCreek's tools definitely deserve a mention in the context of this discussions.
I don't understand why they offer an Enterprise version of Stash, but not Bitbucket! I do SCM migrations for companies, and I find people pick up Hg a lot faster than Git. But no enterprise customer is going to use an externally hosted solution.
GitHub definitely has more users (4.4m claimed https://github.com/features/community), but I meant the social interaction capabilities and features that GitHub offers.
GitHub is much more organized around community and public feedback (search, stars, comments, etc.), than BitBucket. IMO, neither is claiming to be something they aren't. It just happens that for private repos and hosting where the focus isn't discoverability or community-driven, BitBucket seems like an easy choice. However, if you want to integrate with communities or popular open source groups/code - GitHub is probably a better option.
They're both great overlays for Git, it's just important to keep in mind where their core focus is. For GitHub, community is clearly a front-runner. BitBucket is more focused on private repo options and process management/tools.
I put some sweeping claims in this comment, but there's a lot of really good data in this post to supplement.
I think it helps to think in terms of their revenue model - might help predict what features they develop too:
- bitbucket wants enterprise developers to use it. (so it must be free for the private repos the enterprise needs). It's a gateway drug.
- github wants its offering to be directly valuable to its users (which might be open-source, startup, small, medium or enterprise team).
This predicts that github will be a better as a whole package (including issue tracking etc); and bitbucket will be great for git itself. But there's also much commonality: they both want to attract new users; "viral marketing" (in the sense of social projects pulling more people into the ecosystem) is helpful to both. But I think bitbucket sells itself as "free private repos* so there isn't really an overlap.
I predict that bitbucket must not become a viable alternative to atlassian's paid offerings; but github isn't restricted in that way (of course, they might well add paid offerings).
It seems there's also a danger for bitbucket: if users adopt their issue-tracking etc, it might be painful to upgrade; and so users might as well switch to github or other. Bitbucket should have an auto-upgrade (or, I guess their present issue tracking could evolve into a freemium model... that probably makes the most sense).
Great description, never thought of bitbucket as a gateway drug but absolutely true. Although I don't really get what you mean about issue-tracking. You mean upgrading to Jira?
I would imagine the ease of sharing, searching, following, comments/discussion, pull requests, etc.
I don't have any experience with Bitbucket yet other than making an account and poking around with the interface, so I don't really have a frame of reference, but GitHub does seem to do the above things quite well in my relatively limited experience.
I recently stopped paying $12/month for github and moved all my private repositories to bitbucket. Since it's just me working on the repositories, it's totally free.
I really like bitbucket. The other day I actually looked at their pricing plans to see if their was a small plan I could upgrade to for additional features. I cant really even think of new features I need; And, the size of the free plan is good enough for me. I just really like the service. Weird.
Honest question: why do you need a central repository (SVN style) if it's a private repo? I tend to develop my own projects mostly on two different machines, and the core code management and synchronization doesn't need anything but git itself. Is it so you can use bug trackers etc?
Why not set up a private bitbucket repo, and just always push your code to bitbucket when you're done working, and pull when you start?
It's a free offsite backup, and if you ever need to add another machine (or developer) to the project, your code is already sitting there on bitbucket. And you never need to worry about firewalls, NAT, one of the machines being off, whatever, because bitbucket is (almost) always up and accessible. And if you forget to push after working, or if bitbucket is down, you can still fall back to your existing workflow.
In addition, if you're doing anything web based, sooner or later you'll need to deploy to a sever out on the internets. Being able to pull from bitbucket makes deployment really easy, again without tinkering with firewall ports or anything.
It's not so much a question of "need" it's "why not do this thing which has some benefits, and no real downside?"
I see. I suppose that makes sense if you mostly work on a single machine. (Since I usually oscillate between two machines I never think about backing up in addition to the normal work-flow.)
Even if you work on several machines, having not to worry about whether they are turned on / are accessible from wherever you are is a huge plus. People tend to have laptops nowadays, which you don't necessarily think about as always on computers.
The older I get, the more precious I find my free time and especially the work I get to put on personal projects. The last thing I want is the risk of that work being wiped out to a very easily avoided mundane issue such as a hard drive failure.
I use Bitbucket with private repos for my code and websites. It makes it easier for me to use any of my computers or laptops to work on the same code and it also makes it easier to deploy to my webserver. When I want to deploy, I just do a git pull on the master branch. Easier than uploading files with SSH and it makes it a lot easier to rollback the server if needed.
For me it's easy to deploy the code onto a server which runs the code. I am not the only administrator, but the only software developer. I want the other admins to be able to pull code from that repository (bitbucket offers "read only ssh keys")
You shouldn't be downvoted. It's not obvious how to use git to communicate between two client-configured machines.
If one of them has a public domain name or IP, or they are both on the same LAN (likely when one is a laptop and they are owned by the same person), then it's simple to communicate via git.
But, it wouldn't be so easy for, as an example, you and I to share code between our laptops in different time zones, unless we used a stable server somewhere.
I think Github unnecessarily is having a LOT of its lunch eaten by Bitbucket b/c of its unwillingness to let people just have a bunch of small private repos for low activity work.
It's worth noting that GitHub charges per repo whereas Bitbucket charges per user. So GitHub might make sense for product businesses where there are only a handful of repos, but Bitbucket is much more cost effective in an agency environment where you might have a repo per client or even per project.
If you're wondering how they can offer free private repositories (awesome!), it's probably because they also offer a ton of other tightly integrated services such as Crucible, JIRA, etc.
Really? I use and love BitBucket, but the last 2 places I worked at used JIRA and it was the worst project management tool I've ever used. I'm sure someone will say they didn't configure it right or educate the devs or something. Seriously though, it was pushed down from upper management in both cases and it was a terrible experience. Then they thought Greenhopper would fix it, ha. (This was about 4+ years ago)
Edit - According to the comments below it sounds like my experience was a result of trying to do too much with it. I just might play around with a bit just for some bug tracking with some of my BitBucket projects.
We use JIRA at Etsy (although we use Github for code reviews, not crucible). It is certainly frustrating, but I tend to think it's a "the worst except the rest" situation. Do you have something you like significantly better? I've experimented with stuff like trello, basecamp etc. and still haven't found them significantly better.
I'm currently using Trello quite a bit and also Asana for some newer projects. I really like the "physical card" feel of Trello. I'm a post-it note kind of guy. Asana seems pretty nice so far but is more grid-based. It's very clean and slick though.
We use JIRA with GreenHopper to support Agile at work. The users mostly just go to the Card / backlog views and I can say it's working pretty well. Not as smooth as Trello, but still good :)
Pivotal Tracker has been the most pleasant team task management experience I've had. Have previously used JIRA, Github Issues, Lighthouse, Mantis, and even a shared Google Doc on one project (works surprisingly well for small teams/projects over a short time period).
Agreed Pivotal one is great. I've tried several others and it's the simplest and easiest.
I've been using one called GravityDev at my job and it's nice ( although my team is using it like a PMO tracker despite my best efforts... ) but Pivotal is way simpler and nicer to use.
We've recently moved from Pivotal to GreenHopper (Jira) and every single engineer wants to go back to Pivotal. We've given GreenHopper a couple of months to give it a fair chance, and in every way it's clunkier and more confusing than Pivotal.
Just curious, what were the reasons you decided to move away from Pivotal? We're looking for a new project management system and JIRA is one we've been looking at, but on first look, it does seem like information overload.
Pivotal Tracker is significantly better. We switched to Jira about six months ago and it has been very painful. The worst parts of my week are when I have to interact with Jira. Our sprint planning meetings used to be pleasant using Tracker because it helps guide things toward an effective agile workflow while mostly staying out of the way. Now that we use Jira, half of our planning meetings are spent fighting with the software rather than actually planning.
We use JIRA, but not in our planning meetings: a person writes down things on a whiteboard and then transcribes the result into JIRA issues. I don't know how applicable this is to your environment, but you may give it a try.
My team has been using phabricator for a while now and it is a really wonderful tool for doing code reviews and repository browsing and linking. It's also has a nice paste app.
The only downside is that occasionally nagios will squawk about no more free memory on the box and we'll see some of the PHP processing using upwards of 5GB RAM.
I think one of the big issues with JIRA is that it's configurable enough to be a project management tool. It's a really great issue tracker (IMO), and I think when you aim to use it as more than that (involve proper releases, milestones, scheduling/time-tracking, etc.), all of a sudden you get into the areas where the configuration and education issues that you mentioned become apparent.
Project management software is difficult, you either have a mess of features that don't work well without customization, or you have few features, and force teams to model their workflow around your features.
In the context of this post and the greater bitbucket vs github discussion - do you find GitHub issues to be better than JIRA?
Re: JIRA. At work we've been using Jira for several years. While it's very flexible, it does come with a certain level of complexity that makes doing things like simple Kanban heavier than it should/needs to be. I have a billion opinions about JIRA, and a love/hate relationship with it.
Github issues - bare bone basics, but I hear they're working on improving it. You cannot currently run something like a Kanban board off of GH issues without outside assistance.
For simplicity, boards like Trello and AgileZen are, IMHO, in the lead.
I have a billion opinions about JIRA in general, but I doubt anyone is interested besides Atlassian. ;)
My own experience with Jira is that it's easy to misconfigure when you start, then later on there's too much inertia in the userbase to fix it. I liked it, but you have to know it a little before you use it.
Because while I'm not a huge fan of JIRA (I've only used it in the past year so I don't know what it was like 4 years ago), I've unfortunately seen much worse.
Absolutely. I've had to use Rally for two years (haven't used it in the last five months, though). When I started using it, they didn't use URLs; it was a stateful app. Even now (well, five months ago) that's still often true...
Also until recently, from Melbourne it took just under thirty seconds to load a page, any page, from scratch. Sending 2MB (for a while it was 4MB) of uncached JavaScript on every page load helped with that. Quite why one would use Ext 3, Ext 4, YUI and a couple of other libraries all on the same page, I don't know. Now, I think it's down to only about half a megabyte, and it's mostly cached.
And I can just keep going on and on about it...
JIRA is something where it can be configured well or poorly. Configured poorly, it's nasty. Configured well, it's enormously nicer than Rally can ever possibly be.
Heh, I did use Rally for a little bit at one company. Not long enough to form much of an opinion though. It was mostly a glorified bug tracker at that job. Some managers tried to actually enter the "stories" and "milestones".
One system that I'm curious to try is called AtTask[0]. They're located here in Utah (just down the street from me!) and have quite the lineup of large customers. I don't personally know anyone who uses them though.
JIRA is really for issue tracking. Grasshopper isn't a fix, they are separate products and thus do not do the same thing. Slamming Jira for project management is like complaining about a rake's ability to dig holes.
Personally I think Jira is a great for issue/bug tracking when using bitbucket.
I think the core concept of Trac is great: automatic linking between issues, wiki pages and revisions. I think it suffers from being slow and difficult to install and configure, as well as using a very uncommon rendering engine that has really stymied theming.
I use JIRA at work, and honestly it's completely fine. It's a goddamn bug tracker. If I can make bugs and close them it's doing its job. Nobody in my organization reads email or tracks their stuff anyway. Sometimes what you have are organizational/management problems, and no amount of wizzy technology is going to fix that.
JIRA is sweet if you have a JIRA engineer to set the system up. The last implementation of JIRA I used was broken beyond belief. As a developer, id rather user something simple like Asana or Do.
JIRA seemed to complicated to me. Sure, I could figure it out, but getting my stakeholders to update issues and keep track of things in there did not seem nearly as feasible as it has been in a simpler tool like redmine. Redmine is far from perfect, but a monkey could figure out how to use it, which is important if you have your clients engaged in the project management process (granted, I know not everyone has this requirement).
This is really the use case that http://PMRobot.com addresses, keeping set up fairly simple, while allowing clients to be as involved as they want. Either dealing with everything from their email, or else just logging in and submitting issues as they wish.
he he... i work in a zoo and while i don't have monkeys updating jobs (yet!) i have got some very non techie people creating and updating jobs in redmine... 'tis a wonderful thing.
Bitbucket is an especially awesome resource for students. (Yes, I know GitHub offers free student accounts.) But the unlimited free private repositories makes it easy to back up tons of homework projects (as opposed to the small GitHub offering), without worrying about clogging your quota, or having your work available to the public.
I wouldn't be surprised if this has a lot to do with the latest growth. I've taken one or two Coursera courses (eg. [1]) where Bitbucket was specifically recommended for the private repositories.
It would be a hassle to get counted as a student by Github without an edu email, and it would be too much for them to individually approve tens of thousands of people.
I know Bitbucket maintain a list of student Emails, I imagine Github do the same. They send a confirmation Email, you confirm, you get upgraded - all automatic. No reason to manually approve that. Bitbucket give students unlimited collaborators, but you probably don't need that for Coursera courses anyway.
Bitbucket has a free tier for unlimited private repositories with 5 or fewer collaborators. Though you sign up with an email address, there is nothing about it being with "your school-issued email", because there is no stipulation about the tier being for students.
Github will approve people for using a student email address even if their school doesn't give them an email account, but it happens on a case by case basis, with requirements such as requesting that you forward a scanned copy of your student ID.
The difference is that Bitbucket does not ask you to be a student for the free account, so there is no process to prove that you are a student. Github has many advantages, but hassle-free, free private repositories is not one of them.
What I was saying is that with the increase in students who are encouraged to use remote version control who may not have a student email account, or even a student ID, has likely contributed to the increase in users on Bitbucket. It is worth noting that some of these courses have more than 100,000 people sign up. Even if only a small fraction finish the courses, a small fraction use version control, and many are smaller, there have already been dozens of these courses conducted in the last year on Coursera, Udacity, and EdX.
Sorry, I don't think I was clear. I'm not disputing the Bitbucket free service, I was just pointing out that Bitbucket do have a student account, and it's handled automatically by you just adding your student Email to your account. I assumed (wrongly, perhaps?) that Github would use a similar system, since case by case seemed very odd for that.
I agree with what you're saying, though I hadn't thought about it - and it's also great that these courses are mentioning version control. That really should be a part of a CS curriculum, and it's great they're doing that, my university doesn't which I found quite surprising.
Anyway, sorry for the confusion, I just thought that Github would use the same process as Bitbucket to identify students.
Github will automatically recognize your educational email account if you have an educational email account. The problem for people taking a Coursera class is that they might not be enrolled in any school. I don't think that many of those students need to upgrade to the Bitbucket student account where they get more than 5 users.
It is pretty interesting how people are using version control in these classes. Here's one that distributes the assignments as a repository on Github[1]
Exactly! Just backing up my .bash_rc files and other configuration files in a git repo, push on BitBucket and it makes it so easy to setup a new dev env on every new machine with all your custom aliases.
I love bitbucket and even paid $10 before I had users for personal projects, now I pay since I have so many biz and client repos up there and growing teams. I have been recommending it for private repos/companies ever since and have gladly paid for it. You can store so much up there and unlimited repos in either Mercurial or Git which is awesome.
For company/private repos I always use bitbucket, for OSS I use github. The prices are right, it's flexible and you can have the comfort of serviced repos off your local. It is great for remote teams or getting companies to open up to remote access to repos.
I started using bitbucket when it was primarily python focused (github started ruby focused) and liked Mercurial since it was Python based and better supported on Windows back in the day for many windows clients. But they have definitely kept up and after Atlassian bought it they haven't dropped the ball. I also use SourceTree before they bought it and Atlassian knows good tools when they see them, bought that and opened it up (with a windows client in beta).
Congrats to bitbucket from a happy customer for a long time.
I completely agree. I picked BitBucket initially because Mercurial was better supported in Windows.
I was even happier when they ported SourceTree to Windows. All I need now is the Mercurial support for it, so I can finally use a single client for both Git + Hg in Windows.
One thing I miss in Bitbucket is repo discovery. There's no way, or at least I can't find it, to browse the repositories filtering by language, popularity, etc.
1 million users, I don't know how many repos, but I can tell you I've found lots of cool projects in GitHub thanks to to their search/browsing features. I may be wrong but I think Bitbucket needs that.
There are a number of issues that I'd like to see bitbucket push on. [1], [2], [3], [4] to name a few. If they want to compete with github on features as well as pricing for private repos, they really need to address these things.
I've increasingly found myself using both GitHub and Bitbucket. In this vein, I just pushed up some changes to my list of Git utilities (https://github.com/mhartl/git-utils) that includes full pull request support for both GitHub and Bitbucket on OS X. In particular, if you're on branch foobar and want to issue a pull request to merge with master, you just type
$ git pull-request
This pushes your local branch up to origin and opens the pull request page at GitHub or Bitbucket (depending on the relevant URL from .git/config).
The same Git utils repo includes git open, which opens the remote page for your project:
$ git open
As with git pull-request, it works with both GitHub and Bitbucket (OS X only).
Yeah, SourceTree is easy to use and the latest release looks great. Although GitHub for Windows got me started with git, I much prefer SourceTree when I need a GUI (as a git nube).
Bitbucket is great. I use it for all my private projects since it offers a much more sensible price structure than github (for me at least — github's model is based on number of repositories while bitbucket's is based on number of users).
Mercurial is a better tool than Git in almost every aspect. It's easy to learn and gets out of your way. I chose it over git a few years ago and sticked with it ever since and used Bitbucket to host most of my stuff. You don't get the community that Github has, but the hosting is great.
I feel like I am taking crazy pills whenever somebody says that mercurial is simpler than git. Mercurial's per-file revlog and structured .hg/store/data is way weirder / more complex than git's SHA-addressed DAG with minimal/orthogonal object types. The only real blemish on git is that lightweight tags should not exist.
Eh, I am coming from the perspective of a user, not a VCS developer. I find git repositories way easier to navigate, let alone perform complex operations on, because how they work couldn't make more sense to me.
Being an active user of both git and hg, I also can't think of any features I make extensive use of in git (rebase, feature branches, etc) that I can't get with hg. My workflows in both are pretty much the same, just a saner interface on the hg side. If anything, git doesn't have revsets, a really powerful query language you can use to sift through your history - see http://www.selenic.com/hg/help/revsets
The default tooling is either your cup of tea, or it isn't. There is great 3rd party tooling available if your tastes are different though, such as where Github and I assume Bitbucket are moving. I think those are probably the future of git (and/or mercurial) use for non-technical users.
Probably mercury poisoning. It will make you as mad as a hatter. Symptoms include inability to rebase branches or rewrite history, choking on large repos, inability to do more than two-way merges, and clumsy handling of branches. Clean cup, move down, I guess.
Right, but github only allows, well, git repositories. If they added hg support I'd have a strong reason to think about putting repositories on my github account.
I totally agree. Its one of those tools that stays out of your way unless you `need` to do something weird (unfortunately when you need to do that some times it can get really wierd). I feel like with git the base line is fairly complicated.
They had one I reported Oct 2010, took a while to convince was an issue and they finally fixed a few months after saying they would. The URLS for attachments to private issues in private repos were guessable and publicly accessible if you guessed right (ie no authentication for them).
Issues always happen. It is how they are handled that makes the difference. I've not paid close attention to Github but it appears they react responsibly and quickly.
With my issue it seemed like Bitbucket was a one man shop and I suspect that if I had thrown a fit things would have happened quickly. Jesper was attending pycon and I was fine with addressing it after that, but then it was not promptly attended to afterwards. I have no records of how long it took to fix but it was at least several weeks and may have been months. He did dispute "easily guessable". (The Bitbucket service at the time was also overwhelmed with languishing tickets.)
In my own view, private data being accessible no matter how improbable is always an immediate issue. Issues that initially seem improbable get turned into the probable very quickly by the bad guys who are far more imaginative.
But as I said this was late in 2010. I have no idea if the culture of Bitbucket has changed since then or is better.
An interesting difference I've noticed about Bitbucket vs Github: While Github has had a "deploy key" feature for quite a while, and Bitbucket only added such a feature just under a year ago, I think Bitbucket's version is a much better fit for what deploy keys are usually used for.
With Github, a deploy key has read-write access to repos, and each key can only be attached to a single repo.
However, with Bitbucket, a deploy key has read-only access to repos, and each key can be attached to more than one repo.
Tool usage patterns often exhibit social clustering. I.e., friends and colleagues tend to use similar tools, through a mixture of exposure, recommendation, similar work habits, shared constraints, etc. When the tool in question is about interacting with others (whether socially or professionally), it's naturally even more pronounced.
exactly, private repos. When you are talking about some OSS project it is often on github, but the authors might still have their private stuff on bitbucket. And there would be no reason to mention it.
Bitbucket is great but their Atlassian SourceTree software cannot be use anymore. It used to be fine couple versions ago, now the newest update does not even let you run it. I had to re-install couple times and nothing; only removing registries help. Also, some features are being taken away for no reason (like ability to remember to which branch you pushing, etc you have to re-check those again and again at each push).
I've been a Bitbucket member since 2009 and have an open source project (since 2010) as well as a few private repos. I've had users signing up simply to open issues and communicate with me. Works like a charm.
They've always been top-notch but with git support and Atlassian's rising profile in the git community they're really starting to gain traction. I hope they keep up the good work.
Recently starting using Bitbucket and I really like it. I find the team thing a bit difficult to understand and not very intuitive but it could be just me. I vaguely remember them also having SVN support but that seems to be no longer there. I guess I have re-import all my old repos using Git now.
As far as I can remember, they started with providing Mercurial support, not SVN. Perhaps you were thinking of Google Code (they had SVN support, then Hg, then Git)?
I've been using them for a few years now. Free repos got me there. Assembla makes use of it as well, and I've run it through that on a project. I don't do enough open source stuff unfortunately to find myself at Github, but for maintaining a bunch of free private repos its great.
Thanks for the correction. I made the edit above. Funny thing is that I had a feeling I was wrong, but general sloppiness convinced me adding a question mark to my statement was better then taking 10 seconds to actually look it up.
Congrats to bitbucket. Love it cause of the free private repos. However whenever I see bitbucket I remember this spooning video made by them http://www.youtube.com/watch?v=dYBjVTMUQY0
I'm wondering why so many people use bitbucket/github for their (commercial) projects instead of setting up their own repo management system (like RhodeCode). It's not hard to set up and you can have as much repositories as you want to.
Just my opinion, but having a repo set up in 30 seconds vs. 2 hours (or whatever the overhead is for RhodeCode) is a big win when you have a million other things you're trying to piece together. Managing another system just means more headache. With hosted solutions, I'm all set.
Just because of its free private repositories hosting plan. I am pretty sure there are more private repos on bitbucket than public repositories. And we already know where people go to host their public repositories.
Yeah, but they don't offer free private repos. The only reason I use GitHub now is to host my open source projects. My company and personal stuff is on BitBucket.
Congrats! Before GitHub had free private academic repos, I used Bitbucket and was really pleased. I'm out of school now, and I think I'll continue to use Bitbucket for private stuff. Great product!
I love bitbucket but I would like to be able to create clusters of related BitBucket projects, by language, tool, etc. Right now there isn't even a search feature, let alone any browse capability.
I'm happy Bitbucket is doing great. Their free private repos helped me —as well as the classmates I've introduced to Git— working on our university projects efficiently.
Thank you Bitbucket. :)
Love bitbucket - use it exclusively for private projects and small group shared projects. If you sign up with a .edu account, you get free lifetime unlimited collaboration, which is awesome.
We use Bitbucket at Cloudmanic Labs we are pretty happy with it. GitHub almost has too many bells and whistles. We do use Github for public stuff as that is what everyone uses.
It's awesome to have alternatives (especially those that offer a distinct value proposition compared to its competitors) and it' great to see them growing! :)
I have used both for a couple of years and the biggest difference I have noticed is that github has an open, social design while on bitbucket you feel like the only person on the site.
I use both regularly, and while I definitely see areas that I like/dislike in each, I don't really see it as so one-sided. Care to elaborate on exactly what aspects cause such a dramatic swing for you?
One major thing that bitbucket does better: giving you information about a commit. It has side-by-side diffs, and while you're looking at a diff, you can expand the context easier. See a few lines have been modified but can't tell what method was modified? Click the ellipses and bitbucket will ajax in more context. In github, your only option is to go to the file itself and match up the line numbers from the diff (even worse, there are ellipses to click on, but it just jumps you to some random point in the page).
The only thing I miss in bitbucket from the github world are gists.
If you don't take advantage of the Github social features, which is essentially what Github is all about, I don't think your opinion on the matter is worth sharing with everybody, no offense intended.
Which social features would you say are missing, bearing in mind that Bitbucket has teams, issue tracking, wikis, pull requests and code review features?