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

learn more… | top users | synonyms (2)

15
votes
3answers
1k views

How to refactor when all your development is on branches?

At my company, all of our development (bug fixes and new features) is done on separate branches. When it's complete, we send it off to QA who tests it on that branch, and when they give us the green ...
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 ...
19
votes
4answers
1k views

Should we be hosting code online?

We're looking for a good source control and project management solution at my workplace and I've suggested creating a GitHub organization and private repositories. I love GitHub for many reasons, but ...
6
votes
1answer
115 views

Best practices for version control in Unity?

I'm a bit confused how to use version control with Unity, especially with objects such as scenes or prefabs that are not just code. We had an issue recently when my colleague and I were working on ...
2
votes
1answer
57 views

Should untouched repos get an updated version number at end of sprint?

Lets say we have a large project which is split across multuple repos. We have something like shared-functionality-repo GUI-repo REST-server-repo ...
26
votes
2answers
1k views

How to enforce good/better source code control practices?

I suspect that I'm focusing on the wrong problem so I will first describe what I think the problem is before presenting the possibly suboptimal solution I envision. Current Situation: Currently my ...
5
votes
2answers
273 views

Is licensing an issue for Git Submodules?

For example: an MIT-licensed project wishes to simplify the build process for its users by including part of the GNU toolchain (which is of course GPL) as a Submodule. Could that be interpreted as ...
4
votes
1answer
99 views

How can I organize my TFS structure such that a one-off project that pulls files from another project can be easily managed?

I have my main project set up very simply in TFS. I've recently begun making a few of my project components generic enough that I can sell them to other organizations using the software for which I ...
244
votes
14answers
23k views

Why does everyone use Git in a centralized manner?

I have used Git at my past two companies for version control. It seems from what I've heard that about 90% of companies use Git over other version control systems. One of the biggest selling points ...
5
votes
0answers
70 views

After breaking our code into reusable bits, how do we test and deploy?

We started out with one developer, and one svn repo containing all our code: ^/foo/trunk/module-a ^/foo/trunk/module-b ^/foo/trunk/module-b/submodule-b1 ^/foo/trunk/website1 (at the time this was a ...
4
votes
2answers
104 views

Making minor edits elsewhere while working on a commit [duplicate]

I have a habit of constantly making minor edits to my code whenever I spot something I don't like - be it a bug or just some sloppy piece of code I see how to improve. Neurosis-Driven Development. ...
7
votes
3answers
5k views

How do you structure your branches in TFS

My group at work has been trying to come up with a good process that we can use with TFS. I'm just wondering if some of you guys had some successful strategies with using TFS across multiple sites ...
9
votes
4answers
7k views

Why should large financial/insurance companies use git and/or github

I work for a large enterprise (30K employees) in the financial/insurance industry. While "IT" isn't our main focus, let's be honest, these are information driven industries and the companies with the ...
5
votes
4answers
136 views

Easily accessible setup files for installation

The software product I work on has several services and user interfaces. There are separate setup files for each unit of the product for installation. We make customer specific changes and bug fixes ...
1
vote
0answers
65 views

Working on the same file for two tickets

The company policy where I work is that code cannot be committed to SVN until a code review is complete. This is sensible enough as we don't want broken code ending up in the repo, but it does give us ...
7
votes
3answers
179 views

Version control on standalone (in-house) libraries?

Problem Statement At our company, we have various application projects that we work on and then we also have libraries that those projects need to utilize. I feel the need (based on some similar ...
15
votes
4answers
6k views

How can I organize personal git repositories?

I'm in the process of setting up a GitHub account with the plan of making a pair of libraries I developed as parts of some recent iOS projects freely available for other iOS devs to use. I don't ...
4
votes
3answers
107 views

Feature branch which never made it into develop

I am cleaning up our git repository and there is a feature branch which contains a prototype of an interesting feature which the management decided not to include soon in the product. What do you do ...
9
votes
4answers
199 views

How to determine if there is useful deleted code in source control?

So I was reading over this question Should I remove unreferenced code? Some of the advice was to delete unreferenced code since the code is in source control for reference in case it is needed ...
3
votes
1answer
89 views

Best ways to manage my Git repositories with projects sharing the same code [duplicate]

My background: I was programming for many years, but have never used a version control system. I felt, that such a system would save me a lot of time and allow me to be more productive, but I never ...
22
votes
6answers
565 views

Splitting coding progress into meaningful commits without too much overhead

When working on a fix or a feature, I sometimes stumble over other tiny issues that can be improved on the fly in a matter of seconds. When I do them immediatly and then commit the finished ...
-2
votes
1answer
37 views

Handle multiple parallel wide modifications using branching in VCS

Here, the term of branch is understood as a git branch. I don't know how branch works in other VCS, but its probably VCS-agnostic. Given a branch base, and around it many other "satellites" branches, ...
2
votes
1answer
48 views

Workflow and process when branches have dependencies in git for code reviews

A fairly common workflow for working with git is: Fork master Make changes/add functionality in branch Make pull request for your branch vs master Merge pull request (after code review, automated ...
6
votes
3answers
2k views

Appropriate Git workflow for multiple active releases while handling hotfixes

I'm trying to choose a Git workflow that is most appropriate for our product. Here are the parameters: We do a few major releases a year, let's say 10 at the most We have multiple versions of our ...
1
vote
2answers
100 views

Best practice for creating defined versions in git

In my company we have a 'production pipeline', which is a bunch of code which we use to produce data, with the data later shipped to customers. The code is still being developed, bugs get fixed etc. ...
44
votes
2answers
17k views

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 ...
28
votes
7answers
1k views

How did version control work on microcomputers of the day in the 80s and 90s?

I'm curious to know how programmer teams typically managed their software development back in the 80s and early 90s. Was all the source code simply stored on one machine which everyone worked on, or ...
15
votes
7answers
705 views

Why not commit unresolved changes?

In a traditional VCS, I can understand why you would not commit unresolved files because you could break the build. However, I don't understand why you shouldn't commit unresolved files in a DVCS ...
2
votes
1answer
91 views

Should we use a monorepo?

My team is planning a migration from subversion to git. We support 3 applications... 1 is primarily for internal users, 1 is for corporate "partners" and 1 is for end users. These applications share ...
128
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: ...
103
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 ...
4
votes
2answers
5k views

Strategy for maintaining assembly references in TFS

I have a 3 branch setup: Dev, QA, Prod. There is a references folder where we store common 3rd party and internal assemblies. Change mgmnt has been challenging. Sometimes Devs forget to go into ...
6
votes
1answer
100 views

Why use a dedicated “pushbot” user which automatically merges approved pull requests?

Most Github repositories I'm aware of use the following workflow for pull requests: one or several users with "contributor" privilege review the suggested changes and then one of them merges the pull ...
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? ...
3
votes
1answer
142 views

How to improve our source control process

Background: We are using agile project management and follow sprints to do development. We are using a single repository in bitbucket.org that uses mercurial. Repository is hosting 3-4 products. ...
-2
votes
3answers
166 views

What is the most elemental workflow for TDD?

Gradle is such an interesting build tool that it prompted me to look at Spock and JUnit -- which I've never done before. What is the basic workflow with TDD? My approach has been to do frequent ...
1
vote
1answer
59 views

Managing Opengl projects under Team Foundation Server

I am learning OpenGL/C++ by following a tutorial series on in2gpu. I set up my Project just like the autor did. It is an Empty Visual C++ Project. Inside the project I linked glew and freeglut, the ...
10
votes
2answers
14k views

Best way to structure a Git repository for Maven

I need some advice on how to structure our projects in Git. We use Java and Maven is our build tool. Maven kinda assumes all of your projects have a common ancestor eventually. Maven can also be a ...
0
votes
0answers
45 views

How do I share SVN trunk with multiple branches? [duplicate]

I have a project that I have been working on for a couple years. The project has gone fine. The sales team has struck a deal with a separate client that wants to have its own changes to the existing ...
6
votes
3answers
105 views

Project Cleanup and Version Control Best Practices

Question Background: I have a rather large project that I started before I learned about a beautiful thing called version control. Now, I have a ton of files labeled with the convention ...
6
votes
4answers
216 views

Is there any downside to commit messages containing the ticket number

I was wondering if it would be good practice for commit messages to contain the ticket number they were apart of. It would be like 2568 Fix heating issue Summary of the issue with a bunch ...
0
votes
0answers
26 views

Using ClearCase file revision system for a multiple teams for a single file

We use ClearCase for file revision system. If a particular common file is considered, there are about 1000 revisions through branches and sub branches, the main branch is getting updated, but nobody ...
8
votes
3answers
193 views

Git branching strategy for long-running unreleased code

At our team, in addition to individual units of work (Stories), we have longer-running themes of work (Epics). Multiple stories make an epic. Traditionally we've had feature branches for each Story, ...
6
votes
1answer
78 views

Optimizing a file type for compare tools

Context: I am developing a visual studio plugin that generates layer diagrams. I want the tool to be able to produce an intermediate output, which is the data representation of what is being rendered ...
1
vote
2answers
106 views

Should I use a single repo when multiple parts of the same project are running on the same server? [duplicate]

I'm planning a project that consists of the following parts: REST API in Lumen Web client in Laravel Product website in Jekyll These separate products are going to be running on the same server. ...
3
votes
1answer
110 views

Do I update the copyright header when i modify the source?

Suppose I were to modify a said piece of code and put it back on github, would I have to update the license header. This is the code(Licensed under the Apache License, Version 2.0): ...
5
votes
4answers
219 views

How to determine when to open a new branch or a new repository when using Git?

Currently I am working on a project to make a product for company X. The team I am working with is selling similar service to many company with similar product, where 40% of the code is reused and 60% ...
6
votes
3answers
113 views

Do we need to create local branches for the enhancements we are working on?

We just started implementing the Git source control for our project and the Admin says we should not be creating any new branches for the enhancements that we are working on instead everybody should ...
6
votes
3answers
1k views

Who should support and maintain development infrastructure?

I am interested to know what other peoples' experiences are with managing development infrastructure are. I am talking about things like the build server, the central git repo etc etc. Any ...
4
votes
2answers
117 views

Integrate NuGet Package Restore feature into checkout process

There are some situations where I have no internet connection and so I am forced to work offline. Usually it would look like this: I get connected, do a checkout from source control server, and move ...