- Source Code Repository
- Package Source Repository
- Core Projects Source Repository
- External Projects Source Repository
- Özgürlük İçin Source Repository
- Web Source Repository
Source Code Repository¶
|Author:||Semen Cirit, Çağlar Kilimci|
|Date:||October 26, 2011|
Pardus developers may be located all around the world. We keep the source code in an internet-accessible version control system called Subversion SVN, in order to enable our developers to work together on Pardus Distribution.
Pardus has source code repositories and use SVN for source of packages, technologies and web pages. See Pardus svn web page.
Before explaining Pardus repositories structures, we need to explain first general subversion branch maintainance:
The trunk is the main line of development in a SVN repository.
A branch is a side-line of development created to make larger, experimental or disrupting work without annoying users of the trunk version. Also, branches can be used to create development lines for multiple versions of the same product, like having a place to backport bugfixes into a stable release.
Finally, tags are markers to highlight notable revisions in the history of the repository..
Special folder names can also be used as trunk, branch, or tags that can be more meaningful to use.
Package Source Repository¶
Following table shows binary/farm/source mappings for package source repository:
|Binary Repo||Farm||Source Repo|
Each developed Pardus distribution has a special folder name in Pardus Package source repository and these folders are used as trunks. Each distribution on this Package source repository has a specific folder tree.
The under development package source files are included in this folder. This means whenever a package maintainer changes some code on his/her packages, it should be committed a related devel repository folder.
This folder may contain alfa, beta or latest unstable releases of packages.
This folder includes package source files which obtains their stable releases. In other words while devel folder can contain unstable packages testing can not.
But some exceptions can also be exist, if you are not sure please ask Pardus devel list.
These two folders also has a specific folder tree. In this tree, the folders are named with Pardus package components.
Package source repository includes also an other folder playground. When a new package is wants to be added to Pardus repositories or a new release of a complicated package will be implemented, the package maintainer use subfolder of the playground which is named with his/her name to commit the changes of packages.
Core Projects Source Repository¶
There are two kind of source repositories; subversion and git based. For now, git repository is using for testing. Uludag repository, core projects source repository, is based on subversion.
core projects source repository includes the projects which are included in at least one Pardus distribution.
This repository use general subversion branch maintainance as mentioned above:
This trunk folder includes the maintained projects, scripts, and documents of Pardus distribution.
Some projects need branches in order to create development lines for multiple versions, therefore these projects can be branched under this branches.
Unlike core projects source repository, which all projects comes together in one path, every project has own git repository. For example:
Responsibility of repository is responsibility of project. The merge requests are applied by project leader.
We do not need extra playground repositories because every developer have own git area, like:
Tagging is easier on git for its own properties. Also code review process can be handled with code review plug in on issue tracking system.
External Projects Source Repository¶
external projects source repository includes the projects of Pardus developers, but these projects are not related any Pardus distribution. In other words Pardus developers use this repository to commit their self open source projects. When a project in that repository is decided to take place in a Pardus distribution, it should be moved to core projects source repository.
Özgürlük İçin Source Repository¶
oi source repository includes Özgürlük için projects and web page source codes.
This repository has also the folders trunk and branches.