SVN Policy

searchcoilΛογισμικό & κατασκευή λογ/κού

15 Αυγ 2012 (πριν από 4 χρόνια και 10 μήνες)

326 εμφανίσεις





















Live TV for Mobile Applications

SVN
Policy


Version
1.
1


Live TV for Mobile Applications


Version:
1.1

SVN Policy


Date:
2009
-
10
-
09





Page
3



Revision History


Date

Version

Description

Author

2009
-
09
-
18

1.0

First version

Željko Rumenjak

㈰〹
-

-


1.1

Add敤 ru汥猠for 乥瑂敡ns

Željko Rumenjak










Live TV for Mobile Applications


Version:
1.1

SVN Policy


Date:
2009
-
10
-
09





Page
4



1.

Introduction


1.1

P
urpose of this document


T
he purpose of this document is to define basic guidelines that team members should uphold when using
the
SVN.

This document also gives a short introduction to the SVN and the tools required to
access SVN
repositories
.


1.2

Document or
ganization


The document is organized as follows:




Section 1,
Introduction,

d
escribes contents of this guide



Section 2,
Subversion
,
gives some general information about Subversion



Section 3,
Necessary tools
, describes the software required to use the SVN
repository



Section 4,
Rules for committing files
,
specifies

the rules that must be followed when committing files


1.3

Intended Audience


The intended audience is:



Live TV for Mobile Applications project team


1.4

Acronyms and abbreviations


Acronym or

abbreviati
on

Definitions

SVN

Subversion

IDE

I
ntegrated development environment

2.

Subversion

Subversion (SVN) is a version control system initiated in 1999 by CollabNet Inc. It is used to maintain current
and historical versions o
f many types of files, but is mostly

used to store the source code during development.


Subversion tracks and maintains all the revisions of the files stored
in

the SVN
repository
. This allows for easy
access to the versions of files that were stored
in

the
repository

at any point in time.


Few of the most important operations that can be done on the SVN repository are:

1.

Checkout


downloads all the files that are stored in the repository

2.

Update


downloads all the files that have changed from the last update (or checkout)


3.

Commit


stores t
he local changes in the repository


When committing files to the repository it is possible that the conflicts will happen. In
that case the user must
manually

resolve
those

conflicts. More on conflicts

and other SVN features

can be found
on the following
a
ddress:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html
.

3.

Necessary tools

To access any SVN repository an SVN client is needed. This client can be a standalone appli
cation or a plugin
for an IDE.


Popular SV
N client for the W
indows operating system is the
TortoiseSVN

client that

can be downloaded from

the

following web site:
http://tortoisesvn.net/downloads
.
TortoiseSV
N

adds some additional
commands

to the
right click context menus in Windows.
These commands allow users to control remote SVN repositories with a
Live TV for Mobile Applications


Version:
1.1

SVN Policy


Date:
2009
-
10
-
09





Page
5



simple right click on the folder in which the repository is checked
-
out.
Manual

that explain
s

how to use
Torto
iseSVN

can be found in the support section of the official
TortoiseSVN

webpage,
http://tortoisesvn.net/support
. Chapter 4

(Daily Use Guide) of that manual should provide enough information to
the users to unde
rstand
the
basic concepts that are required to use this tool.


On the Linux and UNIX systems SVN repositories can be accessed using the svn command, more on that can be
found here:
http://artis.imag.fr/~Xavier.Decoret/resources/svn/index.html
.


Many plugins exist for different IDE’s; one example is the Subversive plugin for the Eclipse IDE that can be
found on the following web site:
http://www.eclipse.org/subversive/
.

4.

Rules for committing files

Few
of the
rules that the users should follow when committing
files to the SVN repository are:


1.

The same SVN repository will be used for multiple projects, so every project should be pla
ced in its
own folder on the SVN.

2.

Always write a short comment of the changes you are committing
.

3.

Every version committed to the SVN must compile.

4.

Project’s binary files shouldn’t be committed, unless they are a part of some libr
ary that the project
uses.

5.

When resolving conflicts, be careful not to override other people’s changes.


Files that should
NOT

be committed:

General files and folders:



thumbs.db

Visual Studio:



All files from the
obj

and
bin

folders (*.exe, *.pdb, *.manifest, *.dll, …)



Solution user

options (
*.suo
) files

Eclipse
:



All files from the
bin

folder (*.class, …)

NetBeans:



All files from
build

folder



All files from
dist

folder



All files from
nbproject/private

folder


With
TortoiseSVN

above files and folders can easily be excluded with a glob
al ignore pattern. This pattern can
be set by right clicking on any folder and choosing TortoiseSVN
-
> Settings command. Global ignore pattern
can be defined in the dialog that opens under
option
General.


An example of a global ignore pattern that
could
be used to ensure that

above files and folders don’t get
committed:


thumbs.db build dist private bin obj *.suo *.csproj.user