Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
V
VVCSoftware_VTM
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Custom Issue Tracker
    • Custom Issue Tracker
  • Labels
  • Merge Requests 12
    • Merge Requests 12
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Jobs
  • Commits
  • jvet
  • VVCSoftware_VTM
  • Wiki
  • core experiment workflow

Last edited by Karsten Suehring Nov 28, 2018
Page history

core experiment workflow

General Idea

  • A group is created for each CE
  • CE coordinators are Maintainer of the CE group and can
  • Fork VTM into their group
  • Create branches
  • Assign Developer (write) or Reporter (read) access to users.

Workflow for CE coordinators

Note: CE development does not require an internal account.

First steps:

  • (create an account)
  • Contact SW coordinators to get CE maintainer status
  • Log in into your account

Forking the main repository:

  • Go to the jvet/VVCSoftware_VTM repository page for VTM
  • Press the fork button
  • Select the correct CE group as destination
  • You will automatically be redirected to new fork

Creating branches:

  • On the CE project page (e.g. JEVT-L-CE1/VVCSoftware_VTM) on the left side menu bar hover over "Repository" and select "Branches" from the pop-up menu
  • In the upper right corner select "New Branch"
  • Name the branch appropriately (e.g. CE1.1)
  • Repeat branch creation as necessary

Adding users:

  • On the CE project page hover over "Settings" on the left side menu and select "Members"
  • Select the user to be added (typing parts of the user name works as search)
  • Select "Reporter" for read access or "Developer" for write access
  • Repeat adding users as necessary

CE read access for JVET members

Accounts with read access were created for MPEG and VCEG members. For MPEG use the usual MPEG credentials. VCEG account information can be found in the TIES system

Workflow for CE members (writing)

Note: CE development does not require an internal account. So you may skip the step for requesting account conversion in the registration instructions. An internal account is still helpful for providing patches and improvements for the main repository of VTM.

If you don't have a GitLab account, register at https://vcgit.hhi.fraunhofer.de For more details on registration see the VVC software development workflow

Contact the CE coordinators to get write access assigned for your account.

The following steps require git to be installed and accessible from the command line.

If you did not use git before, set up your work environment using the git config tool using your name and email address:

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

Also enable proper automatic handling of line endings:

git config --global core.autocrlf input

For more details see https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup

To clone the CE repository, type

git clone <url> [target_path]

with the <url> of the repository that can be found in the web page of your CE repository. It can be found on the project page of the CE:

04-url

target_path is an optional parameter. If you are working on multiple CEs, it may be helpful to clone different CEs into different directories named after the CE, e.g. VVCSoftware_VTM_CE1

Note: The CE repository should have something like "JVET-?-CE?" in it's URL. Make sure to clone the correct CE.

Change into the cloned copy of the repository and create a branch for checking in software, e.g.:

cd VVCSoftware_VTM

To list available branches type

git branch --remote

To switch into the appropriate branch type

git checkout CE1.1

assuming the branch is named CE1.1

Make the required modifications. New files have to be added using the command:

git add <file(s)>

It is good practice to run git diff before adding the files, such as to check what changes are actually being added. If listed changes are not the ones you made, then you shouldn't proceed.

Optionally (for advanced users), automated formatting can then be applied using the command:

git clang-format

Note that this requires clang-format to be installed on your system. A list of modified files (if any) is printed. If files are modified, please check the changes with git diff. If the changes go beyond what you expected (for example parts that you didn't edit got reformatted), you should revert individual files with git checkout -- <file>. If the changes look great, stage them with git add.

Commit all changes to the local repository with:

git commit -a  

Make sure to write a proper comment.

If you need to add changes, these can be committed using the --amend flag to add them to the previous commit. --amend should only be used, if the previous change was not pushed to the remote repository yet.

Push to the remote repository:

git push
Clone repository
  • Home
  • VVC Bug Reporting
  • VVC Software Development Workflow
  • core experiment workflow