Goals
-----

The trunk/Identity/Themes/ directory exists to organize production of CentOS themes.

Description
-----------

Initially, we start working themes on their trunk development line (e.g., trunk/Identity/Themes/Motifs/TreeFlower/), here we organize information that cannot be produced automatically (i.e., background images, concepts, color information, screenshots, etc.).

Later, when theme trunk development line is considered ``ready'' for implementation (e.g.,  all required backgrounds have been designed), we create a branch for it (e.g., branches/Identity/Themes/Motifs/TreeFlower/1/).  Once the branch has been created, we forget that branch and continue working the trunk development line while others (e.g., an artwork quality assurance team) test the new branch for tunning it up.

Once the branch has been tunned up, and considered ``ready'' for release, it is freezed under tags/ directory (e.g., tags/Identity/Themes/Motifs/TreeFower/1.0/) for packagers, webmasters, promoters, and anyone who needs images from that CentOS theme the tag was created for.

Both branches and tags, inside CentOS Artwork Repository, use numerical values to identify themselves under the same location. Branches start at one (i.e., 1) and increment one unit for each branch created from the same trunk development line.  Tags start at zero (i.e., 0) and increment one unit for each tag created from the same branch development line.

     Convenction Do not freeze trunk development lines using tags directly.  If you think you need to freeze a trunk development line, create a branch for it and then freeze that branch instead.

The trunk development line may introduce problems we cannot see immediatly. Certainly, the high changable nature of trunk development line complicates finding and fixing such problems. On the other hand, the branched development lines provide a more predictable area where only fixes/corrections to current content are commited up to repository.

If others find and fix bugs inside the branched development line, we could merge such changes/experiences back to trunk development line (not visversa) in order for future branches, created from trunk, to benefit.

Time intervals used to create branches and tags may vary, just as different needs may arrive. For example, consider the release schema of CentOS distribution: one major release every 2 years, security updates every 6 months, support for 7 years long. Each time a CentOS distribution is released, specially if it is a major release, there is a theme need in order to cover CentOS distribution artwork requirements. At this point, is where CentOS Artwork Repository comes up to scene.

Before releasing a new major release of CentOS distribution we create a branch for one of several theme development lines available inside the CentOS Artwork Repository, perform quality assurance on it, and later, freeze that branch using tags. Once a the theme branch has been frozen (under tags/ directory), CentOS Packagers (the persons whom build CentOS distribution) can use that frozen branch as source location to fulfill CentOS distribution artwork needs. The same applies to CentOS Webmasters (the persons whom build CentOS websites), and any other visual manifestation required by the project.

Usage
-----

In this location themes are organized in ``Models'' ---to store common information--- and ``Motifs''---to store unique information.  At rendering time, both motifs and models are combined to produce the final CentOS themes.  CentOS themes can be tagged as ``Default'' or ``Alternative''. CentOS themes are maintained by CentOS community.

  * See Directories trunk Identity Themes Models.

  * See Directories trunk Identity Themes Motifs.

See also
--------

  * Directories trunk Identity.

  * Directories trunk.