Both Palacios and Kitten follow a hybrid development process that uses both the centralized repository and distributed development models. A central repository exists that holds the master version of the code base. This central repository is cloned by multiple people and in multiple places to support various development efforts. A feature of git is that every developer actually has a full copy of the entire repository, and so can function independently until such time as they need to re-sync with the master version.
There are typically multiple levels of access to the central repository, that are granted based on the type of developer being granted access. The three basic developer types and their access privileges are:
Students doing independent study or REUs related to Palacios are set up as internal developers. EECS 441 (Resource Virtualization) students are generally either set up as internal or external developers, depending on their projects.
Because internal and external developers cannot write directly to the master repository, they need to first submit their changes to a core developer before they can be added to the mainline. We will discuss that process in Section 9.
Jack Lange 2010-04-13