Using git (or some other VCS) in your company

Some of my friends and I recently talked about version control and how they used VSS in their workplaces, and probably will happen soon. One of them said that his company is likely to work with Team Foundation Server.

In the end, the conversation went around talking about some open source VCSe, including git and SVN. None of us knew about any companies that use any of them internally, although we imagined that some of them did this for SVN, but we were not sure about git. I used Google and Android, but my friend realized that it was only for the public who turned to the source code, and that they could use something else for internal projects.

This seems to be more than just SCM, which makes TFS so intriguing:

  • Microsoft sales staff and support (although my friend did point out something to his managers who, in his opinion, might be misleading on the MS side)
  • Integrating things outside of SCM, including project management (I'm just figuring out for git), they are tied to the same things.
  • Again, this is Microsoft, and moving from VSS to TFS seems logical (or does it?)

I am not a fan of SVN, so I didn’t feed it very much, but I'm curious if git is used in your company for internal projects.

Did you think about it and decide against him? Any reason why?
+4
source share
8 answers

We use git for all our source code. It makes sense.

  • We have almost nothing left to lose, because at the moment when two people touch the project, we have three full copies (and our backup copies of these repositories).
  • We do not rely on any centralized infrastructure, including a network. I worked on projects in BART tunnels.

In theory, these commercial systems should save you from broken repositories and all kinds of great things with their support.

In practice, I have lost more code and time for centralized repositories than distributed ones.

+5
source

The question must be a wiki community and is subjective.

I think it's all about integration. Is TFS more than just version control and well integrated? on the MS stack. If you are the home of MS, this is a logical choice.

an open source philosophy refers to a “filter” or “reusable, small component” approach for systems design ... and systems systems ... if you want to replace TFS or some other solution, then you need to integrate SVN, git or any other VCS in your decision.

MS material works out of the box for a number of MS products. With open source, you have a choice ... but you may need to integrate it into other things (e.g. bugzilla) to get a comparable solution. The choice is good; but it depends on whether your company will develop software for clients or conduct temporary and money transfers in your own solutions.

+3
source

In principle, when storing important code in the repository, an enterprise will consider, in particular, one item:

What support can he expect from a company using VCS when the repository crashes, is distorted in any way, or needs analysis?
Is there a service level agreement (SLA) that comes with it?

You will rarely have such an open source product, and you will not always need it (since you have access to almost the entire open source product)

And there are other aspects to consider before moving on to the “integration with other tools” part:

  • Administrative expenses
  • backup costs (is it necessary for the storage to be locked or to remain in a consistent state?)
  • speed and general characteristics of a common task
  • product training curve
  • etc...

All of these points can influence the decision in favor of a commercial or open source.


Edit: just for information, I just found this on CM (Configuration Management, pdf file) , which has some good arguments for or against a commercial tool. (7.4 General Discussion, pages 98-99)

The reasons for choosing one of the commercial tools instead of free content are many.

The strongest argument in favor of this is a security guarantee, stable software for work.

When choosing a free tool, there is a risk that errors and other more serious flaws can be found in the application.
For example, a repository created by an earlier version may not be supported by a newer version. This will quickly become a problem, as freeware is constantly updated and updated. Apps with free apps also rely on users to report bugs in the app, and since it's free, there is no obligation for users from the company to develop free tools.

Implementing a free tool would create a lot of work and spend a lot of time tracking the latest releases, fixing bugs, and updating the application.

You can say the exact opposite of commercial tools. They require little or no updates compared to free applications, and they will be a more effective way to facilitate the work of developers.
Despite the fact that commercial software costs money, man-hours that you can save with such a tool will compensate and provide you with a payback time relative to the purchase price of the product.

Note: the above is not an “absolute” truth, and some counter example can be found, but I believe that the general argument has its merits, and I add it here so that others can see.

+3
source

I don’t think that the development philosophy of git and DVCS is generally attractive to large companies - a central repository makes much more sense for them (and may actually work better for centralized organizations).

I work for a large IT service company in the banking sector; they migrated from CVS to SVN only 2 years ago, following the obvious upgrade path.

+1
source

As a consultant, I worked with several clients (some fairly large names, such as Baker Hughes) who use Subversion as their version control system (note that some commands were on TFS). I even used it from a previous employer (switched from VSS to SVN).

As for Git, I have not seen too many companies that use it internally, and I doubt that you will do it until the best Windows interfaces appear. I heard that things like Git Extensions and TortoiseGit are getting much better, and I heard about people having great success with these tools, but they did not use them in a large company.

+1
source

Many companies use open source tools such as Mercurial, Git, or SVN. Where I work, we use SVN almost exclusively, we switched to ClearCase a few years ago.

Many of these tools are simpler, easier, more customizable, and better supported than their commercial competitors. In addition, many new employees are already familiar with Mercurial, Git, and even Subversion from working in open source or at school. You really cannot expect the same from software that costs $ 4,000 per user.

If you are worried about support, there are companies that make a business out of support (and hosting) for open source version control. I think of Fog Creek Kiln , Atlassian (who owns BitBucket ) and, of course, GitHub to a lesser extent (have you ever wondered who actually buys GitHub multiplayer paid plans ? Yes ... companies use Git too.)

0
source

I worked as a developer in different companies (short-term contracts and longer work). Every job that I have had since 2009 used Git (I used SVN and CVS before). At the moment, I would not return to an unallocated VCS.

0
source

Here is my data: in the last decade I worked with companies that used

  • no VCS
  • Vss
  • CVS
  • Svn
  • git

roughly in that order. Some companies used several of them over the years (I proposed and completed some of the transitions), one company that switched from SVN to git did this when I left, first using it for the library that they released as Open Source,

-one
source

All Articles