Blame Manual/repository-html/repository_5.html

ee1f37
ee1f37
<html>
d1db00
d1db00
organization, and administration of CentOS Artwork Repository.
d1db00
d1db00
Copyright C 2009-2011 Alain Reguera Delgado
ee1f37
ee1f37
Permission is granted to copy, distribute and/or modify this document
ee1f37
under the terms of the GNU Free Documentation License, Version 1.2 or
ee1f37
any later version published by the Free Software Foundation; with no
ee1f37
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
ee1f37
copy of the license is included in the section entitled GNU Free
ee1f37
Documentation License.  
ee1f37
-->
995423
ee1f37
ee1f37
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
ee1f37
            Karl Berry  <karl@freefriends.org>
ee1f37
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
ee1f37
            and many others.
ee1f37
Maintained by: Many creative people <dev@texi2html.cvshome.org>
ee1f37
Send bugs and suggestions to <users@texi2html.cvshome.org>
ee1f37
ee1f37
-->
ee1f37
<head>
671838
<title>CentOS Artwork Repository: 2.1 The branches Directory</title>
ee1f37
671838
<meta name="description" content="CentOS Artwork Repository: 2.1 The branches Directory">
671838
<meta name="keywords" content="CentOS Artwork Repository: 2.1 The branches Directory">
ee1f37
<meta name="resource-type" content="document">
ee1f37
<meta name="distribution" content="global">
ee1f37
<meta name="Generator" content="texi2html 1.76">
ee1f37
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
ee1f37
<style type="text/css">
ee1f37
ee1f37
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
ee1f37
ee1f37
a.summary-letter {text-decoration: none}
ee1f37
pre.display {font-family: serif}
ee1f37
pre.format {font-family: serif}
ee1f37
pre.menu-comment {font-family: serif}
ee1f37
pre.menu-preformatted {font-family: serif}
ee1f37
pre.smalldisplay {font-family: serif; font-size: smaller}
ee1f37
pre.smallexample {font-size: smaller}
ee1f37
pre.smallformat {font-family: serif; font-size: smaller}
ee1f37
pre.smalllisp {font-size: smaller}
ee1f37
span.sansserif {font-family:sans-serif; font-weight:normal;}
ee1f37
ul.toc {list-style: none}
ee1f37
-->
ee1f37
</style>
ee1f37
ee1f37
ee1f37
</head>
ee1f37
ee1f37
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
ee1f37
ee1f37
671838
[ < ]
671838
[ > ]
ee1f37
   
671838
[ << ]
671838
[ Up ]
995423
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
995423
[Index]
56a476
[ ? ]
ee1f37
671838
671838
671838

2.1 The <tt>`branches'</tt> Directory

671838
671838
671838
671838

2.1.1 Goals

671838
9bfd15

This directory implements the Subversion's branches concept in a

9bfd15
trunk, branches, tags repository structure.
9bfd15

671838
671838
671838

2.1.2 Description

671838
9bfd15

The <tt>`branches/'</tt> directory structure is an intermediate space

9bfd15
between <tt>`trunk/'</tt> directory structure and <tt>`tags/'</tt> directory
9bfd15
structure.
9bfd15

671838
671838
671838

2.1.3 Usage

671838
995423

If changes committed up to the main develpment line are all

995423
predictable (e.g., there is just one person committing changes), there
995423
is no a big need of using <tt>`branches/'</tt> directory structure, in
995423
this case we can go straight from <tt>`trunk/'</tt> to <tt>`tags/'</tt>.
995423
However, when there is no way to predict changes in the main
995423
development line (e.g., there are many people working at it at the
995423
same time) it is needed to find out a different place for changes to
995423
occur in more predictable ways. 
9bfd15

995423

At this point, several options may arise to create branches. In the

995423
CentOS Artwork Repository we prefer to use the idea of separating the
995423
main development line into different major development lines whose
995423
receive frequent update in a fixed period of time. In this
995423
configuration, a major development line is a directory structure
995423
branched from <tt>`trunk/'</tt> directory structure. That is, we take a
995423
functional instance of <tt>`trunk/'</tt> directory structure and store it
995423
under <tt>`branches/'</tt> directory structure using a branch identifier
995423
and the same hierarchy the main development line uses.
9bfd15

995423

When we create separete development lines, this way, we are creating a

995423
major development line that will receive minor updates to current
995423
functionalities but won't introduce new functionalities nor remove old
995423
ones. This is very importat if you need to have a predictable
995423
behaviour for that branch content through a period of time. When that
995423
period of time is gone, a new major development line is created to
995423
introduce new functionalities from <tt>`trunk/'</tt> directory structure
995423
and so repeating the whole production cycle.
9bfd15

995423

In order to create branches inside the CentOS Artwork Repository the

995423
whole repository structure must be considered. This is because all
995423
directory structures stored under <tt>`trunk/'</tt> directory structure
995423
are connected among themselves. This way, we create branches for the
995423
whole <tt>`trunk/'</tt> directory structure and never to individual
995423
components inside it. On the other hand, creating branches for the
995423
whole <tt>`trunk/'</tt> directory structure duplicates lots of files and
995423
demands a considerable amount of storage space which is not
995423
convenient. As an intermediate solution, we do not create branches for
995423
the <tt>`trunk/Identity/'</tt> directory structure, but the
995423
<tt>`trunk/Manual'</tt>, <tt>`trunk/Scripts'</tt> and <tt>`trunk/Locales'</tt>
995423
directory structures only. This way, we create documentation,
995423
automation scripts and locale information for specific revisions of
995423
<tt>`turnk/Identity'</tt> directory structure.
9bfd15

995423

A good reason to create a major development line could be

995423
documentation.  Consider how hard it could be build a documentation
995423
manual if the target of it is changing unpredictably; what are we
995423
documenting? Something similar happens with centos-art
995423
command-line, if the directory structure the centos-art was
995423
design to work with changes unexpectedly it is very hard to implement
995423
a path-based functionality in that environment; where are we retriving
995423
files from or saving them to?
9bfd15

995423

Assuming there is no way to predict changes in main development line,

995423
the creation of new <tt>`branches'</tt> inside the CentOS Artwork
995423
Repository uses The CentOS Project Release Schema.  This is, a new
995423
major development line is created every 2 years using <tt>`trunk/'</tt>
995423
directory structure as reference. Each major development line is
995423
updated regulary in order to create frozen lines under <tt>`tags/'</tt>
995423
directory structure every 6 months.
9bfd15

995423

trunk/Identity/Models/Img/Scripts/Bash/Functions/Path/figure-1

995423

995423

The updates commited up to individual major development lines need to

995423
be merged into the <tt>`trunk/'</tt> directory structure in order for
995423
further major development lines to benefit from previous major
995423
development lines improvements.  The appropriate moment to commit from
995423
major development lines to <tt>`trunk/'</tt> directory structure is when
995423
the frozen line of a major development line is been created.  This
995423
way, the main development line is the central place for changes, a
995423
place to concentrate changes from different major development lines
995423
that may be or not being developed at the same time.
995423

995423

As general convenction, when a new major development line is created,

995423
functionalities from previous major development lines are included
995423
into the new development line. However, improvements for components
995423
included from previous major development lines are not handled inside
995423
the new major development line which imported them. Such improvements
995423
are handled by the previous development line and merged up to main
995423
development line to improve the main development line, in the same way
995423
the new major development line merges the improvements of the new
995423
functionalities it was created for. As final resault, both changes
995423
merged from new and previous major development lines will be included
995423
into the next major development line.
9bfd15

9bfd15
995423
671838

2.1.4 See also

671838
9bfd15
995423
2.3 The <tt>`trunk'</tt> Directory  
9bfd15
995423
2.2 The <tt>`tags'</tt> Directory  
9bfd15
9bfd15
ee1f37
ee1f37
ee1f37
995423
[ < ]
995423
[ > ]
ee1f37
   
671838
[ << ]
671838
[ Up ]
995423
[ >> ]
ee1f37
ee1f37

ee1f37
 <font size="-1">
995423
  This document was generated on March, 9 2011 using texi2html 1.76.
ee1f37
 </font>
ee1f37
 
ee1f37
ee1f37

ee1f37
</body>
ee1f37
</html>