Tại sao change package repository chạy lâu

Source ControlThe Bioconductor project is maintained in a Git source control system. Package maintainers update their packages by pushing changes to their git repositories.

The essential steps for transitioning from SVN to git are summarized in

  • New package workflow: update your GitHub repository after package acceptance.
  • Create a new GitHub repository for an existing package.
  • Maintain a Bioconductor-only repository for an existing package.

More scenarios for repository creation:

  • Sync an existing GitHub repository with Bioconductor.
  • Create a local repository for private use.

Scenarios for code update:

  • Pull upstream changes, e.g., introduced by the core team.
  • Push to GitHub and Bioconductor repositories.
  • Resolve merge conflicts.
  • Abandon changes.
  • Fix bugs in devel and release.

Github scenarios

  • Add collaborators and use Github social coding features.
  • Change Package Maintainer
  • Remove Large Data Files and clean git tree

See other frequently asked questions.

Essential work flow

A minimal workflow is to checkout, update, commit, and push changes to your repository. Using BiocGenerics as an example:

git clone :packages/BiocGenerics
cd BiocGenerics
## add a file, e.g., `touch README`
## edit file, e.g., `vi DESCRIPTION`
BiocGenerics$ git commit README DESCRIPTION
BiocGenerics$ git push

This requires that Bioconductor knows the SSH keys you use to establish your identity.

Two useful commands are

BiocGenerics$ git diff     # review changes prior to commit
BiocGenerics$ git log      # review recent commits

If the repository is already cloned, the work flow is to make sure that you are on the ‘master’ branch, pull any changes, then introduce your edits.

BiocGenerics$ git checkout master
BiocGenerics$ git pull
## add, edit, commit, and push as above

Where to Commit Changes

New features and bug fixes are introduced on the master (‘devel’) branch of the GIT repository.

BiocGenerics$ git checkout master
BiocGenerics$ git pull
## edit 'R/foo.R' and commit on master
BiocGenerics$ git commit R/foo.R  #
[master c955179] your commit message
1 file changed, 10 insertions(+), 3 deletions(-)
BiocGenerics$ git push

To make more extensive changes see Fix bugs in devel and release.

Bug fixes can be ported to the current release branch. Use cherry-pick to identify the commmit(s) you would like to port. E.g., for release 3.6, porting the most recent commit to master

BiocGenerics$ git checkout RELEASE_3_6
BiocGenerics$ git cherry-pick master
BiocGenerics$ git push

Checks and version bumps

Each commit pushed to the Bioconductor repository should build and check without errors or warnings

BiocGenerics$ cd ..
R CMD build BiocGenerics
R CMD check BiocGenerics_1.22.3.tar.gz

Each commit, in either release or devel, should include a bump in the z portion of the x.y.z package versioning scheme.

Builds occur once per day, and take approximately 24 hours. See the build report for git commits captured in the most recent build (upper left corner)

Annotation packages

Traditional Annotation packages are not stored in GIT due to the size of annotation files. To update an existing Annotation package please send an email to . A member of the Bioconductor team will be in contact to receive the updated package.

Newer annotation packages can be stored in GIT as it is a requirement to use the AnnotationHub or similar server hosted data. The larger sized files are not included directly in the package. To contribute a new Annotation package please contact for guidance and read the documentation on How to Create A Hub package.

Currently direct updates to annotation packages, even those stored on git, are not supported. If you wish to updated an annotation package, make required changes and push to git.bioconductor.org. Then send an email to or requesting the package be propagated.

More help

Need more help? Ask on the bioc-devel mailing list.

Configuring a Local YUM Repository

  1. Mount the ISO OS image to the virtual DVD-ROM drive.
  2. On the OS, run the mount /dev/sr0 /mnt command to mount the virtual DVD-ROM drive.
  3. Run the following command to create a configuration file for the local YUM repository.
    vi /etc/yum.repos.d/cdrom.repo
  4. Run the yum repolist command. If the following information is displayed, the configuration is effective.

    After the local YUM repository is configured, you can use the YUM repository to install components and software packages provided by the OS image.

Querying and Installing Components and Software Packages

  1. Run the yum grouplist command to query the information about the components.
  2. Run the yum groupinstall "groups name" command to install a component.

    If Development Tools is not selected during the OS installation, run the yum groupinstall "Development Tools" command to install the tool.

  3. Run the yum install "package name" command to install a software package.