Skip to main content

What's source code control and how is work?


Source code version control is probably the most important and fundamental aspect of software engineering. Guerrilla Analysts are not building million line codebases with support for multiple active releases. Guerrilla Analysts are however dealing with another type of complexity – that of changing data and requirements, as well as outputs that span several languages and formats. Version control is critical across the Guerrilla Analytics workflow in the maintenance of data provenance. A Guerrilla Analyst would benefit from understanding:

Concept of workspaces and code repositories: The basic setup common across all source code control, which is that of a repository and workspaces. The repository centralizes and manages all the team’s code. Individual workspaces are where a team member works on their copy of the code.

Repository/depot: The repository is where files and their version history are stored. It may be on a separate server or can be local to the project files.

Checkout: How to take a copy of the latest code or a specific version of the code from a repository into a local workspace.

Commit: How to put code changes made in the local workspace back into the repository.

Update/sync: How to pull the latest code file version from the repository into a local workspace.

Conflict: How to recognize conflicts when more than one user has modified a file in their respective workspaces and how to resolve those conflicts by stepping through a conflict report.

Trunk/mainline/baseline: The main code development.

Branch/fork: Branching or forking involves taking a copy of the main/trunk code at a point in time. That branch of code can then develop independently. Branching is useful when you want to create a release for a customer.

Integration: This is the process of taking changes made in a branch and merging them back into the mainline/trunk.

Tag/label: This is a snapshot across all versions of files at a point in time. A tag/label can be equivalent to a version in the sense of a software product. Tags are generally named in some descriptive way and perhaps following a convention.

There are many tools for handling source code control (Collins-Sussman et al., 2008Loeliger and McCullough, 2012). Choose one tool and get the team trained in its use.

read more

Comments

Popular posts from this blog

Google form tricks and tips for online test exam

You and I, ខ្ញុំ​​​​​ នឹងអ្នក, TVK, Khmer general knowledge