GiellaLT

GiellaLT provides an infrastructure for rule-based language technology aimed at minority and indigenous languages, and streamlines building anything from keyboards to speech technology.

View GiellaLT on GitHub

Page Content

How to chech out the GiellaLT files in Tromsø

To check out means that you copy all the documents that our projects are working on to your computer.

The first commands

The Tromsø GiellaLT files are stored in an svn repository (see “About svn” below if you don’t know what that is). Let us say you want the files in a folder you call main. Give the following command:

svn co https://gtsvn.uit.no/langtech/trunk main --username <your_username>

… where you have replaced <your_username> with the username you have aquired from the admin. This will enable you to check in your work. If you don’t have a user name or just want to browse our code, just skip the username.

There are also other svn repositories that may be checked out, with the same command. Some of them are closed, and you need a password to access them. Here are the open ones:

svn co https://gtsvn.uit.no/freecorpus freecorpus  # corpus files for many languages, mainly Saami 
svn co https://gtsvn.uit.no/rusfree rusfree        # corpus files for languages in Russia
svn co https://gtsvn.uit.no/biggies/trunk biggies        # large files

They may be checked out with the same command as for langtech above.

Frequently used commands

Now that you have checked out your repository, you can use a set of commands to manipulate your copy of the source code. We recommend to always update the repository before you begin to edit files inside it. After having edited some files you usually want to have an overview of which files have been modified. To share our work with the others we check in our work. We can also add, delete, move and copy files inside the repository. A brief overview of the commands needed for these actions is given below, for further details see the references at the end of this document.

Ignoring items

The key insight to understanding svn ignore can be summarised in two sentences (quoting Joseph Pecoraro’s excellent article):

You don’t svn:ignore a file. You put an svn:ignore property on the directory to ignore that filename pattern!

Here is the command for making directories ignoring files, assuming you want to ignore files in the directory where you stand now:

$ svn propedit svn:ignore .

Then add the files or suffixes you want to ignore (e.g. *.toc), and save (if in emacs: ctrl X C). Then you must check in the directory (here represented by the “.”):

$ svn ci -m "Vi ignorerer toc-filer" .

More details about ignoring files can be found in Chapter 3: Advanced Topics, in the section Ignoring Unversioned Items, in the SVN book.

About svn

SVN is a program which keeps track of all the different versions of our source files.

Our main subversion repository is at the address http://gtsvn.uit.no/langtech/. Subversion documentation is available as a browsable book.

Subversion communicates with us in cryptical ways. m is “me”, and u is you, right? Here is the full story:

svn-status-code-cheat-sheet

Graphical Subversion clients

If you want to use a graphical Subversion client, the recommended clients are documented on the following pages:

There are also other clients for which we have written some documentation, but the documentation is outdated, and some of the clients are not actively supported anymore:

Please follow the recommendations for daily routines at the end of this document!

Daily routines

What do I write in the log message

The best way to learn to write good log messages is to read other log messages. Pick a file (e.g. twol-sme.txt, sme-lex.fst), and read the log (the command is svn log filename | less). If the log message tells you what you want to know, then it is a good log message.

In svn it is possible to edit and correct bad log messages. See the list of useful commands above for how to do this.

Digging out svn deleted files from the repository

After you did svn rm file, svn ci -m removed file, the file is still there. To get it, do the following:

Revert back to an earlier version of a file

Read this.

Further reading

The Basic work cycle in the SVN book covers daily usage in great detail. Appendix B covers some details for users accustomed to CVS.

The RapidSVN wiki has a tutorial that covers our daily usage pattern.