February 17, 2010 by Rajesh Kumar
Comments (0)
XML Is the Here, the Now, and the Future
XML is short for Extensible Markup Language, which is a specification developed by the World Wide Web Consortium (W3C). XML is a pared-down version of SGML, designed especially for Web documents. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations.
Following are three good reasons why you should master... Read full post
February 17, 2010 by Rajesh Kumar
Comments (0)
hardware, hardware, build, hardware for the build lab
The build lab should include some high-end hardware for building the applications. Because the entire team depends on the results of a build, the high-end computers ensure that the build is completed as quickly as possible. Furthermore, you can use high-speed network equipment to push bits around from source control to build machines to release servers.
At a minimum, the build lab should have four machines:
Server that contains the Source Code Control program— This is your... Read full post
February 14, 2010 by Rajesh Kumar
Comments (0)
checkout, check-in, tfsc, offline checkout/check-in
A contributor syncs his workspace and takes his laptop home for the evening.
At home, he continues working and chooses to check out a file.
An unmodified copy of the checked-out file is placed in the contributor's cache on his local computer.
The contributor continues to work and check out additional files. Unmodified copies of all these files are placed in the cache.
When the feature is complete, the user attempts to check in the change set. Because the... Read full post
February 14, 2010 by Rajesh Kumar
Comments (0)
branching in tfsc, tfsc, release branching, label branching, component branching
Branching in TFSC
Branching is the SCM operation of creating an independent line of development for one or more files. In a sense, branching a file results in two identical copies of the original file that can be modified as desired. Changes in the old line are not, by default, reflected in the new line and vice versa. Explicit operations can be performed to merge changes from one branch into another.
There are many different reasons for branching and many different techniques to... Read full post
February 14, 2010 by Rajesh Kumar
Comments (0)
tfsc, merging, merge, scenarios
The merging functionality in TFSC is centered on the following typical development scenarios:
Scenario 1: The catch-up merge— The user wants to merge all changes from a source branch that have not yet been migrated to the target branch. The source and target can be a subtree or an individual file/folder.
Scenario 2: The catch-up no-merge— The user wants to discard nonmerged changes in the source branch from the set of candidate changes for future merges between the... Read full post
February 14, 2010 by Rajesh Kumar
Comments (0)
features in tfsc, tfsc, workspace, user management
Some of the features in TFSC are fairly standard among SCC tools:
Workspace creation
Workspace synchronization
File checkout
Overlapping checkout by multiple users of the same file
Atomic change-set check-in
File diffs
Automated merge
Code-line branching
File-set labeling
User management and security
What really sets TFSC apart from the competition is its powerful merging and branching features.
February 14, 2010 by Rajesh Kumar
Comments (0)
Repository— The data store containing all files and folders in the TFSC database.
Mapping— An association of a repository path with a local working folder on the client computer.
Working folder— A directory on the client computer containing a local copy of some subset of the files and folders in a repository.
Workspace— A definition of an individual user's copy of the files from the repository. The workspace contains a reference to the repository and... Read full post
February 14, 2010 by Rajesh Kumar
Comments (0)
source code, build, configuration, codeline, snapshot, milestone, private build, branching
Source code— Files written in high-level languages such as C# that need to be compiled (for example, foo.cs).
Source(s)— All the files involved in building a product (for example, C, CPP, VB, DOC, HTM, H, and CS). This term is used mostly as a catch-all phrase that is specific not only to source code files but to all the files that are stored in version tracking systems.
Codeline— A tree or branch of code that has a specific purpose, such as the mainline,... Read full post
February 10, 2010 by Rajesh Kumar
Comments (0)
build definitions, pre-build, post build, clean build, incremental build, continuous integration build, build break, build defect
I need to define some common build terms that are used throughout this article. It is also important for groups or teams to define these terms on a project-wide basis so that everyone is clear on what he is getting when a build is released.
Pre-build— Steps taken or tools run on code before the build is run to ensure zero build errors. Also involved are necessary steps to prepare the build and release machines for the daily build, such as checking for appropriate disk... Read full post
February 10, 2010 by Rajesh Kumar
Comments (0)
developers, project, types of builds, build
I like to say that there are really only two types of builds: ones that work and ones that don't. Seriously, though, when you're shipping a product, you should consider these two different types of builds:
Developers' (local machine builds)— These types of builds often happen within an editor such as Visual Studio, Emaqs, Slick, or VI. Usually, this is a fast compile/link of code that the developer is currently working on.
Project (central build process)— This type... Read full post