版本管理 What is Google's repository like?

laofo · 2011年12月28日 · 9 次阅读

What is Google's repository like?

I heard Google has a giant private (internal) repository of all of their code and their employees have

access to it so that when they are developing things they don't have to reinvent the wheel. I'd like to know

more about it!

Is there anyone here from Google that can describe it in a bit more detail, or do you know a bit more about

it? I'm interested in knowing mainly about how it's organized and how they can make it easy for an employee

to find something in such a giant codebase as it must be.

++++++++++++++++++++++++++++++++++++++++++++++++++++++

Here is a video explaining how it is organized: Development at the Speed and Scale of Google

Ashish Kumar presents how Google manages to keep the source code of all its projects, over 2000, in a single

code trunk containing hundreds of millions of code lines, with more than 5,000 developers accessing the same

repository.

++++++++++++++++++++++++++++++++++++++++++++++++++++++

I know the other answer has more upvotes, but this video has all the data from the other answer and then

some. If you (the reader) want a summary, read Chris's answer, otherwise if you have an hour to spare watch

this video! – Ricket ++++++++++++++++++++++++++++++++++++++++++++++++++++++

For the most Google uses a Perforce setup. However, there are internal tools for getting other tools like

git to work on top of it. (How they accomplish this I don't know.) Large, open-source projects like Android

and Chromium have separate repositories however.

Built on top of Perforce are a lot of stellar internal apps. For example, there are tools to make building,

testing, and code reviews nothing short of magical.

Partly because of this 'magic' and testing culture, Google doesn't really use branching. Everybody checks

into 'main'. For any project you can see the source, build it, and run the unit tests without any

specialized knowledge. This is huge. When I was at Microsoft each product required the sacrifice of a

different animal to build and running their tests would be out of the question.

Also, Google has a company-wide style guide for the major languages we use. if you have access to another

team's source code, what would be the point if the formatting is all wonky!

As for searching, you might be familiar with Google Code Search. There is a special version of that, along

with other top-secret code searching tools that make navigating code much easier.

In short, Google has a very engineering-centric culture which understands the value of tools and developer

productivity.

Chris Smith ++++++++++++++++++++++++++++++++++++++++++++++++++++++

暂无回复。
需要 登录 后方可回复。