*Gitweb, think bonsai, is available at:* http://bonsai.cs.wisc.edu/gitweb/gitweb.cgi/ -{section: Managing Condor source, manual and externals trees with GIT} +{section: Managing HTCondor source, manual and externals trees with GIT} -This document explains common source code management tasks for Condor, and how you can accomplish them with the git tools. +This document explains common source code management tasks for HTCondor, and how you can accomplish them with the git tools. -As of August 2011, Condor's source and manual are in one repository. The source and manual reside in =/p/condor/repository/CONDOR_SRC.git=, +As of August 2011, HTCondor's source and manual are in one repository. The source and manual reside in =/p/condor/repository/CONDOR_SRC.git=, {section: Preliminary setup} @@ -56,16 +56,16 @@ The =core.safecrlf= option forces git to ensure that converting CRLF to LF and vice versa will not corrupt the data. This does not concern most text files, but it may save you from killing a perfectly good binary file. -{subsection: Cloning the main Condor source repository} +{subsection: Cloning the main HTCondor source repository} -The first thing you need to do is to clone the main git source repo. This gives you a whole copy of all the condor source code and its history on your machine. As of February 2, 2009, CONDOR_SRC.git is about 339 MB in size. +The first thing you need to do is to clone the main git source repo. This gives you a whole copy of all the HTCondor source code and its history on your machine. As of February 2, 2009, CONDOR_SRC.git is about 339 MB in size. {code} $ cd /p/condor/workspaces/your_login $ git clone /p/condor/repository/CONDOR_SRC.git {endcode} -Note that =/p/condor/workspaces/your_login/CONDOR_SRC/src= contains the latest checked out Condor source. The metadata for the whole tree is stored in =/p/condor/workspaces/your_login/CONDOR_SRC/.git=. The files under =/p/condor/workspaces/your_login/CONDOR_SRC=, known as your workspace, will change as you switch from branch to branch. +Note that =/p/condor/workspaces/your_login/CONDOR_SRC/src= contains the latest checked out HTCondor source. The metadata for the whole tree is stored in =/p/condor/workspaces/your_login/CONDOR_SRC/.git=. The files under =/p/condor/workspaces/your_login/CONDOR_SRC=, known as your workspace, will change as you switch from branch to branch. If your machine doesn't have AFS, you can have git use ssh to interact with the main repo. Your clone command would look like this: @@ -77,7 +77,7 @@ {subsection: Create names for the stable and development branches in your local repo} -Git differentiates between branches in your local repo and those in remote repos, for us that is the central Condor repo. In addition to creating entirely local branches, git lets you create local branches that track remote branches. Tracking means when something changes on the remote branch you can have those changes reflected in your repository. Having a local branch that tracks a remote branch is also the best way to commit changes to a remote branch. In general, Condor developers should always keep local branches that track the stable and development branches in the central Condor repository. Assuming the stable series is 7.0, and the development is 7.1, issue the following commands: +Git differentiates between branches in your local repo and those in remote repos, for us that is the central HTCondor repo. In addition to creating entirely local branches, git lets you create local branches that track remote branches. Tracking means when something changes on the remote branch you can have those changes reflected in your repository. Having a local branch that tracks a remote branch is also the best way to commit changes to a remote branch. In general, HTCondor developers should always keep local branches that track the stable and development branches in the central HTCondor repository. Assuming the stable series is 7.0, and the development is 7.1, issue the following commands: {code} $ cd /p/condor/workspaces/your_login/CONDOR_SRC @@ -131,7 +131,7 @@ {section: Working on a single person project} -The most common Condor use case is working on a feature all by yourself. We can easily share this work later with others if need be, so don't worry about whether to choose this approach or the team approach described later. +The most common HTCondor use case is working on a feature all by yourself. We can easily share this work later with others if need be, so don't worry about whether to choose this approach or the team approach described later. First, you'll want to make a branch for this work, so you'll need to decide where to branch from, either the development or stable series. Let's say that you want to branch from the 7.0 branch, named =V7_0-branch=. You'll need to name the branch, too. This is a local name, so you need not worry about name collisions. Let's call the branch {quote:GreatFeature}. For historical reasons (cough CVS), all of our released branches end in -branch, but there's no need to keep that convention for local branches. @@ -217,7 +217,7 @@ {section: Working on a project shared with more than one person} -The second most common Condor use case is working with someone else on a shared branch, which happens to be what the stable and development branches are. This might be the most common use case simply because making branches has been complicated in the past. +The second most common HTCondor use case is working with someone else on a shared branch, which happens to be what the stable and development branches are. This might be the most common use case simply because making branches has been complicated in the past. If you are going to be using a shared branch that already exists you can skip the branch setup steps and move right on to the steps for working on the branch, which are amazingly similar to what you do when working on your own local branch. @@ -384,9 +384,9 @@ $ git push origin master {endcode} -{section: Checking out an older revision of Condor} +{section: Checking out an older revision of HTCondor} -To check out an older revision, suppose Condor 7.1.4, one does this: +To check out an older revision, suppose HTCondor 7.1.4, one does this: {code} $ # git checkout -b <temporary branch name> <tag name>