AMC13 Software Development workflow

Overview of the workflow

The recommended way to make change to the AMC13 software is as follows:

  1. Create a branch in the AMC13 repository
  2. Clone the newly created branch into your local repository
  3. Make changes to your local repository
  4. Push changes to your remote branch
  5. Request a maintainer to merge your branch to the master branch

Create a branch on the main repo

You can do it through the web page:

Simply go to the main repo site: https://gitlab.cern.ch/syuan/amc13 and create a new branch, you will have full write access to this branch.

Then in the command line you can do (skip this step if you already have a local repository)

git clone ssh://git@gitlab.cern.ch:7999/cms-cactus/svn2git/software/boards/amc13.git

To switch to your branch, do:

git checkout -b <branch name> origin/<branch name>

You can also do it from the command line:

The same way to push a local branch to a remote branch. If the remote branch name does not exist, it will create a new one.

git push origin <new branch name>

Modify your local repository

Modify the files as you wish. If you created new files or directories, use the following command to track them:

git add <path>

Commit the modification to your local repository:

git commit -m <msg>

Where <msg> is a short description of the changes you made

Push changes to remote branch

git push origin <branch name>

Create a merge request

At the left side of page click "Merge Request", select the branch you want to merge from and the branch you want to merge to. Usually it's from your own branch to the master branch. You can assign approvers to have people check and approve your code before they get merged into the master branch, but it's not required. After you created the merge request, maintainers will see it and can merge it.

-- Siqi Yuan - 22 Feb 2019

Comments

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 23 Feb 2019 - SiqiYuan
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback