Pretty sure this product is just so you can store your code/repo for your project using Google's cloud services. It's part of a whole for their cloud offering.
VSO is pretty great actually. Private source control, bug tracker / agile planner thingababoo and build all in once place. With the possibility to auto deploy on Azure if you need it.
Every IaaS provider (Google, Amazon, Azure) has added a code hosting service or will do so in the future. Having your code hosted here will increase lock-in which is the best way for the IaaS provider to increase margins in the future. However, code hosting is not the essence of that GitHub, BitBucket and we at GitLab offer. The essence is code collaboration: mentioning people, doing a code review, activity streams, etc. Getting this right is hard and I wonder if many IaaS providers will get this right.
The code delivery pipeline consists of issues, IDE, code hosting, CI, code review, configuration management, Continuous Delivery (CD) and a PaaS service. Code hosting is a first step and getting all the rest right is a lot of work. Services working on getting the IDE right are Koding, Nitrous.io, Cloud9, CodeAnywhere, Codio and CodeEnvy. And I suspect that GitHub Atom is running in a web-browser so they can effortlessly offer it online in the future. For configuration management you want to integrate with Chef, Puppet, Ansible, Salt and Docker.
At GitLab we offer CI and CD via GitLab CI. We hope for a multi-cloud future where organizations will deploy to different cloud providers. They will use PaaS software that spans the different IaaS providers. Cloud independent PaaS software offerings are CloudFoundry, OpenStack, OpenShift, Kubernetes, Mesos DCOS, Docker Swarm and Flynn. We want to ensure that GitLab is the best option to do code collaboration upstream from these offerings.
So one thing GitLab and others don't offer that Google can is tight integration with Deployment. Yeah we have all used the CI servers to do a form of Continous Delivery, but can google and amazon surpass those offerings by giving a tighter integration that a third part can't offer.
Right now our support for deployments is lacking. On the short term we'll add documentation how to use the Travis DPL gem to push to the IaaS providers.
Currently we're thinking about solving this problem, but in our opinion it is more than a simple deployment. You need a build pipeline.
We're thinking about adding a build pipeline configuration to .gitlab-ci.yml file. Right now we're looking into how to deal with dependencies that trigger a build and how to allow for multiple environments (staging, preprod, prod) to be deployed.
We think that solving the build pipeline properly (like GoCD and Concourse already have) in a simple to setup way will offer a lot of value. What do you think?
> And I suspect that GitHub Atom is running in a web-browser so they can effortlessly offer it online in the future.
A note about atom ... It does not run in a web browser and it would be damn hard to port it to the web since it runs on Node. It uses chromium for displaying the DOM but is not in a browser.
The reason people use GitHub is everything around the git hosting: the web interface, the account system, pull requests and issues, forking, comments, wikis, Pages, even the desktop and mobile apps. Hosting git repositories is straightforward, by design.
This article is only slightly more sensible than claiming that S3 is a GitHub competitor because you can git clone over HTTP.
To be honest, I only use github because everyone else does and because it's almost expected I should to. And since I'm job hunting, it means I throw a few projects on to github as a portfolio.
But for everything that I really care about, I still maintain private repos on my home server.
To be honest, I think it has always been sucky in many ways. They change it quite frequently, but it doesn't actually seem to be changes that improve the UI. It only makes it frustratingly different than before.
I often wonder if the projects my team works on ends up that way. We A/B test a lot of changes and often find that it makes absolutely no difference in conversion. In the end we often don't change things that seem to be "obvious" improvements for fear that we'll just frustrate our customers by changing things in ways they don't care about.
Exactly this, it always sucks and it changes too often in completely random ways.
Github's issue tracker is also very half baked, every real project has to has a Trac instance or so somewhere else.
But _it has critical mass_, and pull requests and the way commenting them and testing them etc works is really awesome, and it'll be hard for a new competitor to get people to move.
I wouldn't say the GitHub UI sucks. All you need to do is look back to SourceForge—even before they completely sold their soul to the devil—to understand that GitHub was actually a huge step forward in the UI department. They do a lot right: powerful features, snappy file browser, very good discussion view in Pull Requests, etc.
Granted, there are a lot of warts and confusing navigation and organization, but in many ways this is a function of trying to serve so many disparate use cases. Certainly it could be a lot better, but it's far from easy—certainly not the type of thing you could just throw a UX designer at, but something where you need a UX visionary who also happens to be a developer with deep understanding and practice using git.
I agree with you that Issues is terrible though. I tried to use it for my team, but the show-stopper was that you can't move issues between repos, and so there is no way to stay organized across a non-monolith architecture where you need to take issues in based on front-facing products and not just code-level concerns. If it wasn't for that, we probably would have tried to suffer through it just for the integration benefits.
As others have said, it isn't hard at all. It's just Git. You can host your Git projects anywhere you want. To be fair, Github has reasonable prices and even though I complain about the strange UI, there is a lot of good functionality. The strangely named "Network Graph" has saved my butt more than once.
I have been thinking, though, that I don't like the workflow associated with commenting out of band. I would really prefer that people comment by making a branch and modifying my PR (either with code comments or just fixing the problems directly). If I knew how to do that efficiently, I probably would have almost no attachment left to GH.
It's actually simple. GitHub tests on their free users and see their reaction. If the feedback is positive, move it to paid clients. If not, keep frustrating your free clients so they move to paid accounts.
Why does that make it harder for me to move my paid repos off of github? I don't use PR or the github issue tracker, so I could probably start using the google cloud repos tomorrow if felt like it.
Just went on Github and I can't believe they remove that button. Doesn't seem like anything is gained from it and I'm sure I'm not the only one who uses it daily. I really hope they reverse that change.
It's very annoying. To me a while of searching around to find the explore button also, which got grouped into that drop down. Hiding content in drop downs unnecessarily is very annoying.
I use GH because everyone else seems to, and while the UI is nice, I think the permissions system is utterly broken so I now have to have multiple accounts so that I can allow third party access to my repos but not every repo I have access to.
Agreed. GitLab's permission system seems better for specific permissions so hopefully that will translate well when/if 3rd parties start writing plugins for it.
Thanks for the reply! I think Project Services makes sense. This was just me not reading the docs or researching this better. I'm going to look at adding some services later. Thanks for the information!
So they killed Google code to... launch another code hosting thing?
Does Google have too many siloed product managers? Maybe you can only advance up the corporate ladder by releasing new products, and fuck all if they get killed later, because you got your promotion?
No clue what the cause. Just seems weird looking on from the sidelines.
After just wasting the last three nights migrating my old project (code was on GitHub, but the rest wasn't) off of Google code the chance of me putting code on a Google hosting service any time soon is pretty much zero.
About once a year for the last several years I have spent a few hours/days migrating stuff off of Google because the project is being shut down. Maybe they are just cleaning house from the mass of project in 2005-2010, but the constant reminder that the stuff I create is in danger if it lives on Google's servers is probably not the lesson they want to be teaching me.
Google code was project hosting, not just source hosting. This clickbait article is talking about a Google product that just does source hosting and is a part of the overall Google public cloud product strategy.
A while ago I remember hearing in some podcast from googler that they internally have separate source code management system (not related to Google Code). I wouldn't be surprised it he was talking about this one and they finally decided to make it public. Killing Google Code was probably just because not many people used it (externally or internally).
It's integrated directly into the cloud product. Since its purpose is not to host your code, but make your code visible to the cloud product itself, expect it to live as long as the cloud product.
... and since the cloud product actually offers a direct way for Google to generate revenue from the service, I'd assume it'd live for awhile. ;)
My team has just started looking for a github replacement because the code review workflow is just not working for us, we need something with more structure. I think there's plenty of space for feature and price competition, especially for private repos where github's social network effects don't matter as much.
Maybe you should look at RhodeCode, it has several different workflows for code-review. From very simple like just voting on each individual commit, to a fully blown server side mergable workflow that includes, voting, checks by CI, and integration to external services. We did a blog about it recently on how we use it internally: https://rhodecode.com/blog/increased-automation-at-rhodecode...
Github's code review capabilities are a huge weak point for team projects, and I've seen several services spring up to attempt to capitalize on this. Mozilla's Servo project is currently trialing one called Reviewable, here's a demonstration: https://reviewable.io/reviews/servo/servo/6456
Hi! I'm a Developer Advocate over at Atlassian, and I'd like to point out that Stash offers extensible merge controls through merge request check plugins. In addition to pre-configured and third-party plugins, an open API allows you to make custom merge requirements.
In Bitbucket, we don't support this yet, but we do allow branch restrictions to ensure only trusted users are able to merge sensitive branches and many teams find this to be a suitable proxy for that behavior.
I'm the CEO of Atlassian (who run Bitbucket & Stash). Would love to get your feedback on what we can do to improve. We really pride ourselves on making products that have the right level of control in our products.
I am an unabashed fan of Gerrit - the fine-grained ACLs can be annoying to wrap your head around, but the code review interface is quite nice.
the only thing I've found missing is the ability to render images inline. If someone submits a documentation update with SVG and PNG updates, you have to download the changeset to see the files. It would be nice if an option for "view this attachment inline" were available without installing extensions.
In my experience Stash is not much better. It has simple commenting on diffs, but we had to have a plugin to automatically "unapprove" everyone once a new commit was added to a PR. It's social aspects are no better than GitHub code comments either.
I always found Crucible much nicer and it integrates w/ Stash decently, but I worry it and Fisheye are on the backburner at Atlassian.
What is it that you're after? You already know about Stash's plugin system that you can configure to do anything weird and wonderful (huge perk), but wondering if there is something we should bake into the core product?
So glad you responded, thank you. I definitely have suggestions. Our devops team was going to remove Crucible/Fisheye and I gave them this non-exhaustive list of why I would like to keep those tools in conjunction with stash:
* Fisheye has crazy advanced searching (in commit messages, users, etc)
* Fisheye offers he ability to watch for changes on files and directories that happen in any branch
* Fisheye shows a file as it might look with all branches and tags together (though it doesn't always combine them well of course as might be expected w/out using the VCS's conflict resolution)
* Crucible shows you what changed since you last reviewed and has an awesome slider (though can be a bit buggy)
* Crucible live-notifies updates in the browser on changes
* Crucible offers reviews on patches to a repo that may not be committed
* Crucible differentiates comments and defects
* Crucible lets me see unread vs read comments on files
* Crucible lets me see the number of comments (read and unread) on in the file-list pane on the left before going to the file
I personally think all 3 tools serve different purposes. I understand the want to move away from Crucible/Fisheye which are older and predate Git which causes some issues. IMO, there is a big unsatisfied market for code review tooling right now. There is also a market (probably not as big) for intelligent searching and notifications across a repo.
Hey Hasan, have you tried https://reviewable.io? I'd love to get your feedback / comparison with Stash if you have a moment! (It's not a direct competitor as it's specific to GitHub, but I'd love to know how it measures up against your favorite.) Thanks.
I haven't actually, but I just looked at it and while it seems very well thought of, the first thing I miss from stash is the fact that It doesn't show me the whole file by default, just the diffs. And I can comment on lines outside the diffs, which is often needed. I could't find a way in reviewable to comment on a line. Stash shows the comments near the lines which makes it easy to follow.
In stash, I see the list of files on the left, and clicking on each file shows me the diffs. I also have the option to see the diff only (without the whole file).
Where I work we cannot use outside review tools, it has to be hosted internally. But I don't think we are your target audience in this case.
Cool, thanks! You need to sign in to leave comments, and they are indeed attached to specific lines (either in or outside the diff). They even move across revisions of a file as you iterate on the review... And yeah, you can easily expand to see a whole file if you want.
I figured that Reviewable wasn't the right tool for you / your company -- I was just looking for your opinion. Cheers!
It's certainly Google Cloud branded, but it appears to have somewhat equivalent functionality to Github.
For Google to launch something purely as a "Github competitor" would be silly because those using Github would quickly dismiss it; "we already have Github!"
So Google are playing up the integration with the rest of Google Cloud, integrating with Github and Bitbucket, and offering additional features.
You have to extrapolate a bit to realize it, and Google probably won't admit it, but this is definitely intended as a Github/Bitbucket competitor.
This is clickbait. Nevertheless, my first thought was "GitHub is much better and much much safer than anything Google can offer". Back in the day, were Microsoft to offer a competitor to a small company's product and my reaction would be: "They're dead in the water".
Yes. Google now try to take it all like the old Microsoft. No wonder they get bad response for each new product like that people simply don't trust them anymore.
I pretty much trust Google, Apple, Amazon etc. to safeguard my data better than others.
What do you mean? Don't you use gmail, publish to the app store, and host with AWS? Do you use Stripe for payments? Google Maps? Facebook login? You are trusting these companies with a great deal.
Depends on what you mean by 'trust'. Personally try to minimize possible negative impact such services can do with information I choose to share/store in case some/all services are compromised.
> I pretty much trust Google, Apple, Amazon etc. to safeguard my data better than others.
Why?
> Don't you use gmail, publish to the app store, and host with AWS? Do you use Stripe for payments? Google Maps? Facebook login? You are trusting these companies with a great deal.
Believe it or not, most people do not do all of these things. Many do none.
Many developers and startups do one or more of those things.
Because trusting large companies that are trusted by many others and have invested in a large infrastructure makes it much more feasible to accomplish their goals. It is possible to trust no one, eg build on the blockchain or freenet, but there is so far much less audience, and it's only recently become feasible to go to marketwith that stuff.
If your goal is to attract millions of customers who can understand how to get started with your technology, trusting large corporations is usually an acceptable tradeoff.
And if you want to be competitive with what's out there using the features of native iOS or AWS or gmail or whatever these services offer that you can't simply get without trusting them, then you HAVE to trust them or users will use another product which did.
Sure, it'll compete with GitHub but I think a more exciting possibility is that it'll compete with Heroku. CodeCommit (similar service offered by AWS) integrates with other AWS services to help manage deployment and releases but I still find the entire AWS platform to be very difficult to use. I would love to see Google add pressure to all three companies to make their respective products better.
Calling the GCP source hosting a competitor with github is nonsense. No public access to these repos, for one, so they're completely unsuitable for general project hosting.
So interesting. This race for features between the cloud vendors feels crazy to me, but totally makes sense from a business perspective. Classic attempt at locking you in to a single platform.
"Using Cloud Source Repositories is easy if you are familiar with Git. For example, you can add a Cloud Source Repository to a local Git repository as a remote, or you can connect it to a hosted repository on GitHub or Bitbucket"
Nah, there are multiple cloud vendors out there. My platform runs in DO, AWS, and GCE for instance. The notion that cloud itself locks you in will disappear soon.
I'm curious what kinds of additional features you'd be interested in here. In these comments so far I've heard code review, access control and online IDE. Would any of those be useful? What else would be useful?
GitHub has at least some good ideas in this area. Code review and issue tracking are nice, but everyone seems to want something different from those systems so I'm not sure how to do that in a reasonable way. Access control would be nice for deploys I guess?
I hope that someone really does make an online IDE that means I don't have to use a local IDE anymore, but I'm not certain how feasible that is. Atom seems like a giant step in the right direction.
Of course, we're pretty proud of our git support. We also support "connected repos" where we keep a repo in Cloud Source Repositories in sync with a repo you specify on GitHub or BitBucket; if you make a change on GH or BB, it's reflected into GCSR and vice versa. The idea is that you should be able to integrate with the features we're building on top of GCSR without making you move away from GH or BB. Useful?
For my personal projects, I'm fine with my own git server on a cheap vm, but for work I've been really happy with Github's issue tracker and org membership administration (with which we use OAUTH heavily for internal tools, several of which queue background computation). Github issues are much easier for tracking job submissions from analysts than integrating with the company email, and developers prefer it.
I looked at GitLab a year ago. I liked it, but it was a little funky (avatars weren't working; obviously not mission critical, but little shit like that erodes confidence -- either support a feature or don't, but never half ass it because I'm not going to admin over a server when I've got a chorus analysts bitching about it being hacky). GitLab people: this was a digitalocean prepared image version of GitLab, in case you're listening.
Version control is really the most minor and easy to replicate part of Github's value proposition.
Thanks for looking at GitLab and sorry to hear that avatars didn't work. There was an issue with avatars and using relative urls 7 months ago: https://gitlab.com/gitlab-org/gitlab-ce/issues/369 This was fixed. But if you used relative urls please consider switching to a full hostname, it is a better experience. We recommend installing packages from our package server https://about.gitlab.com/downloads/ since templates on cloud providers might be out of date.
meh. this has zero chances of competing with github. I think it's meant more for Google Cloud Platform users to have a place where to store their code within the same "cloud"
To me, this more looks like a Google's cloud IDE (targeted Java), for which it would of course make sense to have code-hosting there also. It makes sense for Google to have one, unlike just a GitHub competitor, imho.
Sites like GitHub thrive on the community they engender. Google no doubt has the tech chops to compete with anybody on a pure technical basis, but community is not their forte. Witness Google Plus.
The SDK's were slow to update, the Java App Engine doesn't support Java 8 yet the Python and/or PHP version are behind a bit I think. There's a bunch of bugs which haven't been resolved after a long time. The instances were underpowered for the price, Java ones took a long time to start up which compounded issues with the auto-scaler.
I used it a little bit a few years ago and despite the issues with the original platform I'm quite interested in the new Docker based managed-vm app engine platform, where you can build your own images and have much better control, and compute engine pricing.
When they went out of beta/preview, the prices skyrocketed to absurdness and many people had to shutdown their app because of everything being coupled to their specific API and the notice being to short to adapt.
So yeah, don't invest into something when you don't know what the final pricing will be.
Yes. Open source GCP projects are hosted either on github or googlesource.com, an unindexed place for git and codereview. (eg https://go.googlesource.com is where the go language is hosted).
And keep in mind, googlesource.com is not the same service as the one talked about in this article. Not even the same backend.
I don't understand the reasoning here, or you would benefit from dependent types. I am /also/ absolutely sure that /everything/ will shut down in X(company) years.
GitHub will not shutdown in X years. That's their main business. While Google has the tendency to shutdown products after their beta phase. From Google POV that's a side project to their ad biz.
Main businesses do fail (witness poor, beleaguered SourceForge). Meanwhile, Google's cloud ecosystem is a revenue-generator for the company; that does decrease the odds that it'll have the plug pulled.
I wonder how many people shy away from AWS on the thought that web services aren't Amazon's core business model.
Anecdote: I remember using mercurial on google code, at some point it did not work, a push was just timing out for some reason. I switched to bitbutcket and then used github. Google answered the issue, but I already made the switch, and I don't even know if they fixed it.
To be clear, this is the current limit in beta and it's per repo, so if you have multiple cloud projects, you get multiple repos. We're thinking about adding support for multiple repos per project in the future. Would that be useful?
Also, and we're planning on upping the limit once we reach GA. What do you think a reasonable limit should be for a git repo? Our goal is to strike the right balance between usefulness and abuse.
You should absolutely support multiple git repos per project. If someone writes npm-compatible modular JavaScript code, it wouldn't be hard to have a dozen proprietary repos supporting a single reasonably sized project.
It did. When googlecode.com launched, it was an immediate market leader (keep in mind that it displaced the wretched sourceforge.com). When the new wave of source hosting (github, bitbucket, etc) made its way up, googlecode fell by the wayside and, after becoming a distinctly third-rate offering, was end-of-lifed.
I see this sentiment quite often, and I'm not really sure how to respond to it (other than the snarky, obvious "Enjoy your cave").
Hacker News is a cloud service---we share comments on news stories in a collaborative fashion. I assume this means something closer to "I don't want my personal, sensitive data hosted by anybody and I'm willing to pay for the inefficiency and inconvenience of only being able to access it from a handful of nodes (or having to maintain my own hosting solution on my own hardware)" than the alternative interpretation "I'm a Luddite; down with the Internet?"
While I was at Google one insight I had is that there's a copy of most internet products. Given the cadre of college grads they hire to work there, cloning something is almost like a fun little coding challenge.
Dropbox? There's a clone. Pinterest? Clone. Everything. Then they dogfood it and if there's more interest they gather up more resources to inevitably pitch the idea to Marissa Meyer, who then plays with it, design the business case for it, and approve a proper budget for it.
If the product is good then the news leaks or they launch it. After awhile if the Google audience doesn't like it they cut it loose.
Which goes to say... any time some investor asks you what happens if Google comes into your space, you should say: good.
Note
Cloud Source Repositories are intended to store only the source code for your application and not user or personal data. Do not store any Core App Engine End User Data (as defined in your License Agreement) in a Cloud Source Repository. To use a hosted Git repository with a Cloud Source Repository, you must first open an account with GitHub or Bitbucket (independent companies separate from Google). If you push source code to a Cloud Source Repository, Google will make a copy of this data which will be hosted in the United States.
Pretty sure this product is just so you can store your code/repo for your project using Google's cloud services. It's part of a whole for their cloud offering.