Repository creation

For users

Creation of repositories for projects on our site is quite simple and consists of 4 steps:

  1. Contact one of our administrators and send him following info:
    • Your redmine login;
    • Project for which you want to create repo;
    • Type of repo.
  2. Get as answer:
    • Your server login;
    • Your temporary password;
    • Path to project's repo at server.
  3. Add received info at project settings, "Repository" tab.

Subversion access

console

svn co svn+ssh://<username>@osll.spb.ru/svn/<projectname>

eclipse

  1. Add following upate sites:
  2. Install following plugins:
    • Subversive SVN Connectors
    • Subversive SVN Team Provider
    • SVNKit Implementation
  3. Import the project through Import->SVN->Project from SVN
    • URL: svn+ssh://<user name>@osll.spb.ru/var/svnroot/<project name>
    • Enter login/password

For admins

Subversion

In theory all must be created automatically

GIT

Git repo may be created this way (repo-name is the name of repo, repo-group is the name of group that will commit to repo):

# cd /var/gitroot
# git init --shared=group
# mv .git <repo-name>.git
# chown -R :<repo-group> <repo-name>.git
# chmod +x <repo-name>.git/hooks/post-update

edit <repo-name>.git/config -- set bare=true , delete logallrefupdates=true
edit <repo-name>.git/description -- set description visible through web interface
edit <repo-name>.git/cloneurl -- replace <repo> tag with repo name

Anyway, user cannot clone empty repo, so first she must create and populate her local repo.

$ cd <project-path>
$ git init
$ git add .
$ git commit -a -m "<some sane comment>" 

Then it may be pushed to osll.spb.ru:

$ git push ssh://osll.spb.ru/var/gitroot/<repo-name>.git master

Git repositories may be viewed at http://osll.spb.ru/git

To clone existing repository use URL at repository web page at http://osll.spb.ru/git
Usually it will be one of the following:

Converting Subversion repository => git repository

$ git-svn clone --stdlayout <url>/ /tmp/git-temp
$ git clone --bare /tmp/git-temp /var/gitroot/<repo-name>.git
$ rm -rf /tmp/git-temp