A programming discipline for tracking, storing and retrieving revisions of source code.

learn more… | top users | synonyms (2)

127
votes
5answers
50k views

Choosing between Single or multiple projects in a git repository?

In a git environment, where we have modularized most projects, we're facing the one project per repository or multiple projects per repository design issue. Let's consider a modularized project: ...
46
votes
8answers
8k views

Version control for independent developers?

Do you think it's worth it to use version control if you are an independent developer, and if so, why? Do you keep the repository on your own computer, or elsewhere, where it can serve as a backup?
22
votes
8answers
4k views

How to manage a Closed Source High-Risk Project?

I am currently planning to develop a J2EE website and wish to bring in 1 developer and 1 web designer to assist me. The project is a financial app within a niche market. I plan to keep the source ...
276
votes
10answers
31k views

I'm a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS?

I try to understand the benefits of distributed version control system (DVCS). I found Subversion Re-education and this article by Martin Fowler very useful. Mercurial and others DVCS promote a ...
19
votes
6answers
3k views

git / other VCS - how often to commit? [duplicate]

I've been a programmer now for over 11 years, and am just starting to get into version control for real. The places I've worked at have never really used version control (one committed at the end of ...
13
votes
8answers
5k views

version control for small team [closed]

We are bootstrapping a new team of very small size (say 2-5) my question is: which type of version control works best for these kind of teams, either centralized or distributed.
37
votes
11answers
10k views

How often should I/do you make commits? [duplicate]

I am a recent (as of yesterday) college grad - BS in Computer Science. I've been a huge fan of version control ever since I got mad at an assignment I was working on and just started from scratch, ...
24
votes
10answers
5k views

Binaries in source control

When developing for embedded devices and other odd worlds, it's very likely your build process will include multiple proprietary binaries, using very specific versions of them. So the question is, are ...
47
votes
17answers
5k views

What Part of Your Project Should be in Source Code Control?

A fellow developer has started work on a new Drupal project, and the sysadmin has suggested that they should only put the sites/default subdirectory in source control, because it "will make updates ...
26
votes
4answers
1k views

When should the VCS history of a project be deleted? [duplicate]

I just refactored my project's entire codebase. So much so that even though it uses most of the same code base, things work in a radically different way. If the old version was 1.0, the new one would ...
5
votes
2answers
583 views

How to deal with undesired commits that break long-running release builds?

We ran into an unfortunate situation at work recently and I've been wondering what we can do to avoid similar problems in the future. We make embedded systems. The FPGA code is in one SVN repository ...
259
votes
20answers
85k views

What does SVN do better than Git? [closed]

No question that the majority of debates over programmer tools distill to either personal choice (by the user) or design emphasis, that is, optimizing design according to particular uses cases (by the ...
42
votes
11answers
3k views

Should a developer always use version control [duplicate]

Possible Duplicate: Version control for independent developers? I've heard statements to the effect of: "Well it's just me working on this project so I don't need to put it under source ...
54
votes
19answers
6k views

When is a version control commit too large? [closed]

I've heard in several places "Don't make large commits" but I've never actually understood whats a "large" commit. Is it large if you work on a bunch of files even if there related? How many parts of ...
75
votes
12answers
15k views

git for personal (one-man) projects. Overkill?

I know, and use, two version control systems: Subversion and git. Subversion, as of now, gets used for personal projects where I am the only developer and git gets used for open source projects and ...
26
votes
11answers
3k views

Should your best programmers have to check everyone else's code into source control?

One of the differences between svn and git is the ability to control access to the repository. It's hard to compare the two because there is a difference of perspective about who should be allowed to ...
17
votes
5answers
2k views

What advantages do continuous integration tools offer on a solo project?

If you're doing a solo project - would you use CI tools to build from a repository? I've used Hudson and Cruise Control in a team environment, where it's essential to build as soon as anyone checks ...
5
votes
4answers
683 views

Source/Version control for application used by multiple companies

Do you find it easier to keep a branch for each company that uses software you support/develop? Each company will want "customizations" and I am just trying to figure out the best way to handle those ...
15
votes
7answers
652 views

How do you structure your shared code so that it is “re-findable” for new developers? [duplicate]

I started working at my current job about 8 months ago, and its been one of the best experiences I've had as a young programmer. It's a small company, and both my co-developers are brilliant guys. ...
60
votes
2answers
42k views

Git branching and tagging best practices

I am currently learning to use Git by reading Pro Git. Right now I'm learning about branching and tags. My question is when should I use a branch and when should I use a tag? For example, say I ...
118
votes
9answers
10k views

Maintain hundreds of customized branches over master branch

Currently we have one master branch for our PHP application in a shared repository. We have more than 500 clients who are subscribers of our software, most of whom have some customization for ...
116
votes
4answers
19k views

What is the benefit of git's two-stage commit process (staging)?

I'm learning git and I've noticed that it has a two-step commit process: git add <files> git commit The first step places revisions into what's called a "staging area" or "index". What I'm ...
102
votes
10answers
42k views

Should images be stored in a git repository?

For a distributed team that uses Git and Github as version control, should images also be stored in the git repository? For the most part, the images won't be changed. The folder containing them will ...
19
votes
4answers
3k views

What is the best way to handle product versioning and branching of long term projects?

In a general sense, for long term projects that may have multiple releases during the products life cycle and require support of previous products, what is the best way to handle product versions and ...
12
votes
4answers
978 views

Stopping developers committing to the wrong branch on DVCS

The problem I am on a software project which has about 10 developers, we share source code via Mercurial. We have a development and production branch per release. Repeatedly during the course of the ...
16
votes
4answers
4k views

How do you put different versions of your library under version control? Do you use tags? Or branches? Or another method?

I have recently started putting my code under version control (in the lab I'm working, under SVN, and my own codes in github (obviously with git)). Before using version control, I used to do something ...
7
votes
1answer
883 views

Responsibilities of Build Script and Build Server

I need some clarifications on the responsibilities of the Build Script and the Build Server. I read several articles on the Net about continuous integration and builds. Including The F5 Key Is Not ...
5
votes
1answer
1k views

Is there an established or defined best practice for source control branching between development and production builds?

I struggled in how to phrase my question, so let me give an example in hopes of making more clear what I am after: I currently work on a dev team responsible for maintaining and adding features to a ...
6
votes
3answers
617 views

Functional testing before code checkin

I am working on a project with legacy code where it does not have much code coverage. One of the idea to improve that is to enforce a rule that each code check-in must have test, not only test but ...
72
votes
5answers
51k views

How do you achieve a numeric versioning scheme with Git?

My organization is considering moving from SVN to Git. One argument against moving is as follows: How do we do versioning? We have an SDK distribution based on the NetBeans Platform. As the svn ...
106
votes
18answers
9k views

When should I make the first commit to source control?

I'm never sure when a project is far enough along to first commit to source control. I tend to put off committing until the project is 'framework-complete,' and I primarily commit features from then ...
69
votes
12answers
4k views

Is there a point to including a “change log” in every code file when you are using version control?

I was under the impression that a version control system eliminated the need to have "change logs" plastered everywhere in the code. I've often seen the continued use of change logs, including big ...
11
votes
3answers
2k views

Branching model suggestion for same project multiple clients

We have a very big project that includes several applications that acts as the base for different clients. Every client has its own personalization of the product, different milestones, different ...
30
votes
8answers
5k views

Is it a good practice to run unit tests in version control hooks?

From the technical point of view it is possible to add some pre/post push hooks which will run unit tests before allowing some specific commit to be merged to remote default branch. My question is - ...
12
votes
8answers
610 views

Moving from one man project to team project in the future. What should I be doing now in preparation and what can wait?

To elaborate I am interested in knowing what people think you need to put in place while still a one man project (team source control, documentation, builds etc) and what things don't need to be done ...
19
votes
4answers
1k views

Are there advantages to using a DVCS for a solo developer?

Right now, I use visual svn on my server, and have ankhsvn/tortoise on my personal machine. It works fine enough, and I don't have to change, but if I can see some benefits of using a DVCS, then I ...
5
votes
3answers
877 views

What should be the workflow with a git repository?

I work on several git repositories though on most not more than 2 people work. Mostly me and my boss. Very often when we work in parallel it happens that "git log" doesn't look so nice because of the ...
8
votes
3answers
454 views

How should non-functional changes be committed?

I'm working a small-to-medium legacy codebase and when working on a ticket I will come across code that should be cleaned-up or that I need to clean-up just to be able to understand the follow of the ...
1
vote
5answers
796 views

Handling one code base for multiple clients, with their own custom code

I am working on a CMS, in which we have multiple clients that use it, so the code is stored on their servers. Each client has the default code (user manager, pages manager etc), but every client also ...
147
votes
11answers
23k views

Strategy for keeping secret info such as API keys out of source control?

I'm working on a website that will allow users to log in using OAuth credentials from the likes of Twitter, Google, etc. To do this, I have to register with these various providers and get a ...
32
votes
8answers
7k views

Can you recommend a good commit message template / guidelines to enforce in the company? [closed]

In Git it's possible to set and enforce a good commit template. Can you recommend (preferably with argumentation) a good commit template / guidelines to enforce in the company?
75
votes
22answers
4k views

How do I convince my fellow devs to WANT to add comments to source code commits?

I know that Subversion (what we're using at work) can be configured to require comments on commits, however I'm not in a position of power to simply turn this on. I know that my reason for commenting ...
24
votes
9answers
5k views

Is it good idea to require to commit only working code?

Sometimes I hear people saying something like "All committed code must be working". In some articles people even write descriptions how to create svn or git hooks that compile and test code before ...
44
votes
5answers
3k views

Maintaining Two Separate Software Versions From the Same Codebase in Version Control

Let's say that I am writing two different versions of the same software/program/app/script and storing them under version control. The first version is a free "Basic" version, while the second is a ...
18
votes
17answers
4k views

Why should I write a commit message?

Why should I write a commit message? I don't want to and i think its stupid every single time. A GUI frontend I use which will go unnamed forces you to do it. I hear other doing it every time even if ...
62
votes
10answers
3k views

Is it worth making a commit solely to resolve non-critical typos?

If I come across a non-critical typo in code (say, an errant apostrophe in a print(error) statement), is it worth making a commit to resolve that error, or should it simply be left alone? ...
31
votes
10answers
6k views

When to commit code?

When working on a project, the code may be developed reasonably fast in a single day or bit by bit for a prolonged period of few weeks/months/years. As code commits are becoming to be considered as a ...
43
votes
9answers
23k views

Should Git be used for documentation and project management? Should the code be in a separate repository?

I'm starting up a Git repository for a group project. Does it make sense to store documents in the same Git repository as code - it seems like this conflicts with the nature of the git revision flow. ...
10
votes
7answers
1k views

Easy way of engaging non-programmers (i.e. designers) into using version control?

What are some key ways of getting your team involved in using version control during development, web development or otherwise? I refuse to work without it, which means anyone involved in the project ...
9
votes
6answers
996 views

How big should a single commit be? [duplicate]

A discussion has come up at work and I want to get the opinion of other programmers. During my time in college, we only used SVN for sourcecontrol. Everybody commits to the same server and all ...