AIRLab Repository

From AIRWiki

Jump to: navigation, search

https://svn.ws.dei.polimi.it/airlab/ is a repository containing all the software, hardware projects, thesis, and so on, developed in AIRLab. You can get to it via any web browser, but you have to be a registered user to access it and be able to modify its contents. See below to know how you can become a user.

Contents

Who & What

The repository is particularly addressed to students: they must deposit all the material produced for their thesis on the repository. This includes:

  • Code (C/C++, Java, Matlab, ...)
  • Hardware projects (such as CAD drawings of mechanical parts, schematics, layouts, ...)
  • Thesis source files (tex, bibliography, pictures, ...)

The only exception consists in large data, such as large videos, datasets, and so on.

Becoming a user

AIRLab is based on svn; you can find some help in configuring Subversion in the Configuring Subversion page. The repository URL is https://svn.ws.dei.polimi.it/airlab/.

Students who need to work with AIRLab repository should fill the form at https://acme.ws.dei.polimi.it/request_account.plp with their info and put their supervisor in the "DEI responsible" field. They should then ask their supervisor to confirm their account (supervisors, here are the instructions for you).

Structure

This is a very brief overview of the directory hierarchy of the repository. The root may contain other directories beside the ones listed. Ignore them, if you don't know what they're about.

  • Thesis: contains the theses (text, code, and all the stuff listed above). This is the place where students put their work.
    • <SurnameName>-<student id> is the directory you must put your stuff in. You must create this directory.
      • README is a required plain text file that lists the content of the directory, with a brief description.
  • Projects: contains bigger projects, usually carried on independently from BSc/MSc theses. Don't modify its contents unless told otherwise by your Advisor.
  • Courses: contains material associated to teaching. Its contents must not be altered by students (however, they can read them).
  • Development: contains readily available and well-documented software elements. Don't modify its contents unless told otherwise by your Advisor. WARNING: usage is subject to special rules, described by page Repository HOWTO.

Note: you must adhere to the exact format while naming your personal directory. The format is:

<Surname and name, in CamelCase http://en.wikipedia.org/wiki/CamelCase>-<6 digits student id>

Please avoid middle names and spaces.

Example: BottazziGiuseppe-123456

To create the new directory, you can use a command like this one

svn mkdir -m "Adding new directory for Bottazzi Giuseppe" https://svn.ws.dei.polimi.it/airlab/Thesis/BottazziGiuseppe-123456

or use one of the GUI clients cited below.

Rules

Beside what is stated above, please consider that:

  • Binaries are built from source (don't commit binaries to the repository, unless it is strictly necessary). Exception: compiled latex code.
  • Makefiles (and IDE project files) are part of the source code.
  • Building instructions, if needed, must be written in a file called BUILDING.
  • External libraries (OpenCV, ecc ecc) are NOT part of your code. Just list the libraries needed in a file called BUILDING. If the library needs some specific building switches, don't forget to list them in the file.
  • Gerber files used for PCB production are different from layout files. Commit them.
  • All the required and useful informations must be reported in a file called README.

Additionally, the contents of the Development directory (and all of its subdirectories) are subject to special (and very strict) rules.

On your personal wiki page please state your directory and list the content of your repository.

How to use the AIRLab repository

The repository can be used in many different ways with many different tools.

  • Command line client (svn) (You can find a summary of most commands here)
  • GUI clients (RapidSVN, kdesvn)
  • IDE (eclipse with subversive plugin, for example)

For a kickstart guide, you can read Version Control with Subversion.

Administration

Instructions for administration tasks (not for students!) can be found here: DEI Subversion Administration.