This document explains common source code management tasks for Condor, and how you can accomplish them with the git tools. -As of the switch to git, Condor's source, manual and externals live in different repositories. The source resides in =/p/condor/repository/CONDOR_SRC.git=, the manual in =/p/condor/repository/CONDOR_DOC.git=, and the externals in =/p/condor/repository/CONDOR_EXT.git=. - +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=, and the externals are in =/p/condor/repository/CONDOR_EXT.git=. Branching and merging of the source and manual can happen at different times, just like with CVS. The use of externals is different. Externals will now be branched, instead of having CVS modules (form CVSROOT/modules) to checkout just a portion of the entire externals repository. @@ -138,6 +137,12 @@ Instead of merging, this attempts to insert the changes you pull from the origin repository before your local changes, avoiding the merge message. You need to be sure to rebase on the proper branch. You should also be sure your changes are *truly* local; i.e., you have not pushed *any* of your local changes to another repository, and that no one has pulled from you. For instance, if you are on your =V7_0-branch= and want to rebase against changes in =origin/V7_0-branch= you issue =git rebase origin/V7_0-branch=. +You can do +{code} +git remote set-head origin -d +{endcode} +to set up your repository so that =git rebase origin some_branch= will be an error rather than doing the rebase operation. The problem is that =origin= gets interpreted in this context as =origin/HEAD= which usually points to =master=. So you will be rebasing onto master, which is almost certainly not what you want, especially if the branch you are rebasing is something like =V7_7_1-branch=! + {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.