Using Netspective GitLab Server

Medical Technology, Healthcare & Government IT

.
Categories
Category Groups

Usage

Don’t be shy in creating repositories. GitHub repositories should be as small and decoupled as possible. When in doubt, create two repo’s instead of one — even if there are dependencies.

When possible, use comments, wiki, issues, wall, and snippets in GitLab versus ActiveCollab.

There may be some confusion about when to use Wiki, Issues, Wall, and Snippets vs. ActiveCollab. If a task is directly related to code then we should use Issues in GitLab not ActiveCollab. When a task doesn’t map directly to a piece of code or crosses multiple GitLab projects then it should go into a ActiveCollab. When in doubt, ask the project manager.

Of course there are many projects that don’t have direct coding tasks — those wouldn’t be appropriate for GitLab.

General Best Practices

Project Naming Conventions

1. Name format is "{Customer} {Project}" such as "NeuroVista FairView Drupal" or "Netspective Narthex Workstation Host"
    * Note proper English names with appropriate capitalization, use long descriptive names
2. Git repo name format is "{customer}-{project}" such as "neurovista-fairview-drupal"  or "netspective-narthex-workstation-host"
    * note lower case with dashes as separators, long readable names are good
For all Netspective projects the "Customer" is "Netspective" and not blank.

Be sure to set both the Project name and the advanced settings. Take your time naming projects.

Migrating private GitHub repositories to Netspective GitLab server

  1. Go to http://git.netspective.com
  2. Make sure your SSH keys are setup in GitHub and in Netspective GitLab servers
  3. Create a new project in Netspective GitLab server using naming convention above
  4. Do the migration
    1. mkdir $HOME/migrate-github
    2. export GITHUB_PROJECT=fairview-drupal
    3. export GITLAB_PROJECT=neurovista-fairview-drupal
    4. git clone git@github.com:netspective/$GITHUB_PROJECT.git
    5. cd $GITHUB_PROJECT
    6. git remote rm origin
    7. git remote add origin git@rcs.cm.netspective.com:$GITLAB_PROJECT.git
    8. git push -u origin master
  5. Go back to http://git.netspective.com and test to make sure it made it there

  6. Delete $HOME/migrate-github/$GITHUB_PROJECT to save disk space

Splitting Git repositories

When we were on GitHub we were charged for each repo we created so we often combined repo’s. However, with our cost now zero per repo, we want to be able to create many smaller repo’s not fewer and larger repo’s. When possible, repo’s should not be coupled.

Here are some instructions for splitting a subpath out into a new repo.

Here are the general steps:
export REPO=netspective-client-projects
export REPO_URL=git@github.com:netspective/$REPO.git
export FILTER_PATH=cardinal/SupplyCentral
export NEW_REPO_URL=newrepo

mkdir -p $HOME/git-migration
cd $HOME/git-migration
git clone $REPO_URL
cd $REPO
git filter-branch --prune-empty --subdirectory-filter $FILTER_PATH master
git remote rm origin
git remote add origin $NEW_REPO_URL
git push -u origin master

Original Link