Project

General

Profile

Support #14299

Move GIT repos from chablis.fnal.gov to Redmine

Added by Richard Neswold about 3 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
10/27/2016
Due date:
% Done:

0%

Estimated time:
Duration:

Description

We're deprecating the use of chablis.fnal.gov for git repositories. All repos should be moved to Redmine which provides git services as well as issue tracking and online documentation through its Wiki interface. One stop shopping for all your software development needs!

Migrating a project to Redmine

Determine the repo's location in Redmine

We have already created a hierarchy of projects on Redmine and your project might be part of a project that currently exists. For instance, repos for drivers of the Erlang framework can be added to the framework's list of repositories. If your project is unique and not related to any current projects, you can make a new subproject. Once you know where your project will be located, you can go on to the next step.

Create the empty repository in Redmine

Go to a project's settings and click the "repository" tab. Select git as the repo format. There can only be one main repository but there can be many secondaries, each requires a unique identifier. Keep the identifier field simple; it gets appended to the project's identifier and you run into problems when the combined name is over 30 characters. For the path to the repo, use "create_me". Enable the "Report last commit” feature.

Wait 1/2 hour, or so, for the system to create the empty repository. If you refresh the "Settings/Repository" page, you’ll eventually see "create_me" change to an actual path to the repository.

For "main" repositories, if your project identifier is PNAME, a pseudo account, p-PNAME, will be created for the developers of your project and you can clone it with

git clone ssh://p-PNAME@cdcvs.fnal.gov/cvs/projects/PNAME

For secondary repositories, if your secondary identifier is SNAME, you can clone the repo with

git clone ssh://p-PNAME@cdcvs.fnal.gov/cvs/projects/PNAME-SNAME

At this point, cloning only returns an empty repository. You first need to transfer the project's history from chablis.

Transferring git history

Go to your CLX account and enter the directory where you have the project cloned from chablis' repo. Make sure you are on the master branch and have all the history in your local repo.

git checkout master
git pull

git allows you to name remote repositories so you can interact with them easier. By default, git names the repository from which you cloned your repo "origin". I prefer to name the Redmine repo "origin", so I do the following

git remote rename origin old-repo
git remote add origin ssh://p-PNAME@cdcvs.fnal.gov/cvs/projects/PNAME-SNAME

Push the project to "origin" (now Redmine.) The -u option sets this repo to be the default (git was smart enough to adjust the default to "old-repo" during the rename stage.) Some versions of git use the option --set-upstream instead.

git push -u origin master

If the project has release branches, you can push them, too. No need to add -u since the default has already been changed.

git push origin release-1.0

At this point, the repo on Redmine should contain all the content from chablis' copy.

Prevent access to chablis

I generally remove the 'x' permission on the repo's base directory on chablis so developers can't get out of sync with Redmine. Go to nova.fnal.gov and do the following:

cd /export/git
chmod 660 PROJECT.git

Of course, you need to replace "PROJECT" with your project's name on chablis.

History

#1 Updated by Richard Neswold about 3 years ago

As of now, the following projects have been transferred:

Chablis Project Description Location
erl-acnet Erlang bindings to acnetd https://cdcvs.fnal.gov/redmine/projects/acnetd/repository/erlang
erl-daq Erlang front-end framework https://cdcvs.fnal.gov/redmine/projects/acsys-fe/repository
erl-devices Device drivers which work with the Erlang front-end framework. These devices were split into separate repositories. The list of repos are in the right-side panel here: https://cdcvs.fnal.gov/redmine/projects/acsys-fe/repository
erl-dpm-protocol DPM protocol module https://cdcvs.fnal.gov/redmine/projects/acsys-dpm/repository/proto
erl-dpm Erlang source for new DPM https://cdcvs.fnal.gov/redmine/projects/acsys-dpm/repository
erl-dpmclient Erlang client for new DPM https://cdcvs.fnal.gov/redmine/projects/acsys-dpm/repository/erl-client
erl-frontends Erlang front-end configurations https://cdcvs.fnal.gov/redmine/projects/acsys-fe/repository/frontends
erl-util Miscellaneous utility library for Erlang https://cdcvs.fnal.gov/redmine/projects/erl-util
protocol-compiler All aspects of the Protocol Compiler https://cdcvs.fnal.gov/redmine/projects/protocol-compiler
vx-concurrency C++ Library for VxWorks concurrency programming https://cdcvs.fnal.gov/redmine/projects/vxpp/wiki

#2 Updated by Richard Neswold over 1 year ago

More projects have been moved:

Chablis Project Description Location
erl-alarm-handler Alarm reporting module https://cdcvs.fnal.gov/redmine/projects/erl-fah/repository
erl-config Configuration files for Erlang front-ends https://cdcvs.fnal.gov/redmine/projects/acsys-fe/repository/config
erl-drf2 Erlang parser for DRF2 https://cdcvs.fnal.gov/redmine/projects/acsys-dpm/repository/erl-drf2
erl-lookup Erlang client for LOOKUP service https://cdcvs.fnal.gov/redmine/projects/lookup/repository/erl-client
erl-scale Scaling routines for Erlang https://cdcvs.fnal.gov/redmine/projects/acsys-dpm/repository/erl-scaling
erl-sync Erlang client for multicast TCLK https://cdcvs.fnal.gov/redmine/projects/tclk/repository/erl-client

#3 Updated by Richard Neswold over 1 year ago

  • Status changed from Work in progress to Closed

All the projects that need to moved from chablis have been moved.



Also available in: Atom PDF