Skip to content

Dev Guidelines

Nitheesh edited this page Mar 11, 2022 · 12 revisions

Github project page - https://github.com/orgs/kln-cmu-mscv/projects/1/views/1


Guidelines

Please follow the below guidelines for project development.

Feature Requests / Bugs

  1. Create a new draft on the project page to request any new features.
  2. Create a new issue to report any new bugs.
  3. Please select appropriate tags for new feature requests or reported bugs

Developer Workflow

  1. Create a new branch to work on any new feature / bug.
    • for features, create a new branch under refs/heads/features/ along with the specific issue tag. For example, to work on a new feature captured in "#1 Random video in-painting pretext task", create a new branch named features/1-video-in-painting.
    • for bugs, create a new branch under refs/heads/bugs/ along with the specific issue tag. For example, to work on bug captured in "#10 fix memory corruption in video in-painting", create a new branch named bugs/10-fix-memory-corruption-in-video-in-painting.
    • You can create the branch either from the github issues page or from the cmdline as below. Either way, do not forget to link the branch to the appropriate issue.
    git checkout master
    git pull
    git push origin HEAD:refs/features/1-video-in-painting
    git checkout -b 1-video-in-painting origin/1-video-in-painting
  2. Every commit should be linked to a github issue to allow correct tracking. Follow the commit message template as below.
    • Template
    [issue#][type] Title
    
    Body
    
    where type is one of bugfix | feature | docs that corresponds to the issue type.
    • Example
    [#10][bugfix] Fix memory corruption in video in-painting
    
    Existing implementation for video in-painting did not take care of the image 
    buffer after creation resulting in memory corruption when creating the next buffer.
    This patch fixes this issue by clearing the image buffer before processing each 
    image frame.
    
  3. Create a pull-request to merge your branch into master, and assign appropriate reviewers to it. The pull-requests will be reviewed and merged into master after approval by the maintainers.

Repo structure & file organization

Please follow the below guidelines to place your files appropriate in the repo

  1. docs - all forms of documentation go into this directory. Follow appropriate sub-directories.
    • proposal - project proposal docs
  2. src - all source code for s2arid implementation must be placed under this directory, following the appropriate sub-directory hierarchy.
  3. tests - all testing and evaluation code must be placed under this directory.
Clone this wiki locally