Skip to content
dflynn-volpe edited this page Jan 15, 2021 · 12 revisions

Repositories

There are three repositories to serve different purposes:

  • VisionEval: Public release version of VisionEval. There is one master branch only. This wiki is associated with the VisionEval repository. If you have a bug report or other issue, create an issue instead in the VisionEval-Dev repository.
  • VisionEval-Dev: Main repository for developers and power-users who want to contribute code improvements. There are multiple branches, including master (which is can be considered the beta release) and development where active code development happens. Additional branches can be used to evaluate new features or pull requests. Developers / power-users should create issues and pull requests to this repository.
  • VisionEval.org: Website repository. You can create issues here for website-related change requests.

See the Repository Structure page for more details.

Branches

  • The master branch of VisionEval contains the latest release version of the VisionEval resources.
  • Work is done in the development branch of VisionEval-Dev or an issue/feature branch off of development.

Development Workflow

Development Workflow Summary

  • The master branch of VisionEval is only written to by a pull request from the master branch of VisionEval-Dev.
  • Work is done in the development branch or an issue/feature branch off of development
  • When an issue/feature is complete, it is merged into the development branch
  • Committing to any branch automatically runs the build and test system on Travis-CI
  • The framework, modules, models, and GUI are all always tested, as described here
  • After all tests pass and when the contribution is deemed ready, a pull request is created to merge develop into master
  • The repository administrator handles the pull request and makes sure to also update related resources such as the wiki, documentation, issues, release notes, etc.

Contribute by identifying issues

If in the implementation of VisionEval models, you find that the models don't run for any reason, create an issue on the VisionEval-Dev repository (here).

One common reason the model may not run is because your data differ in form or content from the structure of the default data that VisionEval models have been tested on. Consider uploading a .zip file of the problematic data so that VisionEval developers can troubleshoot the problem.

Contribute by fixing issues

After identifying an issue and a likely fix, the best way to contribute to the VisionEval platform is to create a pull request. The easiest workflow is as follows:

  1. Create a fork of VisionEval-Dev in your own account.

    • If you already have a fork, make sure it is up to date with the VisionEval-Dev@development branch before proceeding.
  2. Make your edits to fix the issue.

  3. Create a pull request to VisionEval-Dev@development, referencing the VisionEval issue in your pull request description if applicable. For example, you can write closes VisionEval/VisionEval-Dev#XX, where XX is the issue number you are addressing.

The pull request will have to pass all existing tests in the Travis-CI system before being considered for acceptance. VisionEval repository management team will review the pull request and accept it if is a clear improvement. If it requires further review, the repository management team will be in touch with the contributor.

After acceptance to VisionEval-Dev@development, accumulation of sufficient improvements will be merged into VisionEval-Dev@master. At that time, the improvements will also be merged into VisionEval@master.

A version will be tagged on VisionEval@master and VE-Installer will be used to create downloadable, standalone installers of the codebase for access at the VisionEval Releases page.

Website Workflow

Keeping visioneval/VisionEval up to date with visioneval/VisionEval-Dev

This workflow describes how the VisionEval master branch is kept up to date with the VisionEval-Dev master, when substantial changes are made by pull request to the VisionEval-Dev master. This workflow assumes familiarity with command line git, e.g. Git Bash for Windows.

Navigate to VisionEval and make sure have the latest code:

cd ~/Documents/git/VisionEval
git checkout master # if you are not there yet
git status
git pull

Do the same for VisionEval-Dev

cd ~/Documents/git/VisionEval-Dev
git checkout master # again, if you are not there yet
git status
git pull

Back in VisionEval, fetch upstream

cd ~/Documents/git/VisionEval
git remote -v
git fetch upstream

Merge

git merge upstream/master master

Add a commit message in the text editor, use Esc-:wq to save the commit message.

Commit

git push

When doing this by command line, you can reference the pull request from another repo. For example, write in the commit message See VisionEval/VisionEval-Dev#66 for a summary of changes, and it will autolink to the PR as shown in this commit.

Clone this wiki locally