Support #14299
Move GIT repos from chablis.fnal.gov to Redmine
0%
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 over 4 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 almost 3 years 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 almost 3 years ago
- Status changed from Work in progress to Closed
All the projects that need to moved from chablis
have been moved.