wiki:OurTutorial

Version 12 (modified by pfusik, 13 years ago) (diff)

translation in progress

What is what

SVN = Subversion = a tool for file repository with full change history.

Trac = web application that includes a wiki, SVN view and tickets.

Ticket = submitted bug or idea, e.g. jhusak submitted ticket:1 for putting ASMA in the SVN and pfusik did it.

Language

Make sure Trac interface is in English. Polish translation is incomplete.

On the top click Preferences, Language, English (United States), Save changes.

Trac navigation

On the top bar:

  • Wiki
  • Timeline - Traca + SVNa history, e.g.
    • wiki page edit
    • ticket - bug or idea
    • changeset is a change in SVN (e.g. in changeset:4 I have uploaded ASMA 3.4)
  • Roadmap - our goals and how far we are according to tickets
  • Browse Source - read-only view on the SVN
  • View Tickets
  • New Ticket
  • Search

SVN Basics

SVN (subversion) is a version control system. In such systems nothing is ever lost, the history of changes is always available with the author, you can always revert to a previous version and fix any problem (see below).

As you can see in the Browse Source tab, there are three top directories in SVN:

  • branches - for the more advanced users, we don't use it yet
  • tags - contains tagged versions, for example I have put ASMA 3.4 here, we can put here all releases and betas, but we don't edit files directly here
  • trunk - it's the main work space, you can browse it from Trac, but it's much more comfortable to have a copy on your disk (see below)

Every write to SVN is registered in its history - which you see in Timeline. A write is a "changeset". A changeset has the following attributes:

  • ordinal number
  • author's login
  • timestamp
  • log message - short text written by the author to summarize the change
  • the changes - added/changed/removed files or directories

SVN can be browsed from Trac. To make changes, you need an SVN client. The most popular SVN client for Windows is TortoiseSVN.

TortoiseSVN Installation

http://tortoisesvn.net/downloads.html Choose 32-bit or 64-bit to match your Windows version. Any installation is fine, you can uncheck the unnecessary things such as extra icons, command-line tools and dictionaries. After the installation the context menu of Windows Explorer has additional TortoiseSVN commands.

Getting a local copy of SVN

Tworzymy na swoim dysku zwykły pusty katalog, gdzie będzie nasza kopia SVN. Dla ustalenia uwagi nazwę go asma-trunk (nazwa i położenie mogą być dowolne). Wchodzimy do tego katalogu, klikamy puste miejsce i TortoiseSVN / Checkout. W URL of repository wklejamy: svn://84.201.216.109/test/trunk Upewniamy się, że Checkout directory to dokładnie nasz pusty katalog. OK. Czekamy, aż się ściągnie.

Możemy normalnie używać ściągniętych plików - otwierać w playerach i edytować. Z kasowaniem, zmianą nazwy i przenoszeniem trzeba ostrożnie (patrz niżej).

Podstawowe operacje SVN

Prawo-klik na naszym katalogu daje następujące operacje:

  • SVN Update - ściągnięcie nowych zmian, jeśli jakieś były
  • SVN Show Log - historia (to samo co w Tracu, tylko tutaj same zmiany w SVN)
  • SVN Commit - wrzucenie naszych zmian na serwer; w przypadku problemów zrobić najpierw SVN Update (inni wykonali zmianę na tym samym pliku co my. W przypadku konfliktów, bo 2 osoby zmieniły ten sam plik w tym samym miejscu, rozwiązujemy je samodzielnie lub przy udziale kolegów).
  • SVN Revert - odzyskanie przypadkowo skasowanego lub przeniesionego pliku zgodnie ze strukturą repozytorium SVN

Jest jeszcze mnóstwo innych poleceń, ale są one używane dużo rzadziej.

Wprowadzanie zmian

Potraktujcie to, co jest, jako piaskownicę. Po oswojeniu się wszystkich zrobimy porządek i będziemy wprowadzać zmiany na poważnie.

jhusak: proponuję zrobić brancha z piaskownicą i tam się bawić, a w trunku niech siedzą rzeczy "już na poważnie".

Najprościej jest zmienić plik, który jest już w SVN. Zmieniamy pliki normalnie - np. możecie przeedytować pliki tekstowe w notatniku. Następnie wybieramy SVN Commit - wyświetli się lista zmienionych plików. Wpisujemy na górze opis i zatwierdzamy (opis jest ważny bo wtedy wiadomo, co było zmienione). Wpisujemy swój login i hasło. Po chwili zmiany są widoczne dla wszystkich (muszą oni zrobić SVN Update).

Aby dodać plik, normalnie umieszczamy go w katalogu, prawo-klik na nim i TortoiseSVN / Add. Następnie, aby wysłać dodane pliki, używamy SVN Commit jak wyżej.

Aby usunąć plik, nie usuwamy go normalnie. Zamiast tego TortoiseSVN / Delete, potem SVN Commit.

Aby zmienić nazwę pliku, TortoiseSVN / Rename, potem SVN Commit.

Aby skopiować/przenieść plik, przesuwamy go prawym klawiszem - pojawi się menu z możliwością kopiowania, przenoszenia i ew. zmiany nazwy przy tej okazji. Potem SVN Commit.

Tylko SVN Commit powoduje wysłanie naszych zmian na serwer. Inne operacje działają lokalnie na naszym komputerze.

Na początek to wystarczy. Są pytania?