Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

Anyone is welcome to submit a pull request to improve ArchivesSpace. If you are submitting code that will add new functionality or change or extend existing functionality in a significant way, we encourage you to review the ArchivesSpace Process for Evaluating Potential Feature Contributions to the Core Code first.

Mark Cooper created this short guide to submitting an ArchivesSpace pull request. Information on forking repositories and creating pull requests in general is also available from Github. Pull requests are evaluated by members of the Core Committers group according to the criteria described at Pull Request Process.

Preparation

Developers new to ArchivesSpace are advised to review the Technical Documentation:
httphttps://archivesspace.github.io/tech-docs/archivesspace

Hudson Molonglo have an introductory video series for developers:
https://www.youtube.com/channel/UCMBmBY_CsxwJy9rJKxQrVoQplaylist?list=PLJFitFaE9AY_DDlhl3Kq_vFeX27F1yt6I

Making a pull request

Examples will use git on the command line that should be copy-pastable on OSX and Linux.

Begin by forking the ArchivesSpace repository into your personal Github account, then download it:

--

git clone

...

git@github.com:USERNAME/archivesspace.git && cd archivesspace

# make sure we are on master branch (never edit in the master branch directly!)
git checkout master

# add the ArchivesSpace project git repository as "upstream"
git remote add upstream https://github.com/archivesspace/archivesspace.git

# fetch all branches
git fetch --all

# sync your master branch with the project master
git rebase upstream/master

# push the latest code to our fork
git push origin master

--

You can repeat the above steps at any time to sync your local and remote forks with the main project (do not repeat the git clone and add upstream steps).

Now to make edits. If you are resolving a bug or feature reported on JIRA then your branch name and commit message should reference the JIRA issue number (otherwise name appropriately):

--

# create a branch to do work in (referencing a JIRA issue number)
git checkout -b AR-1189_preferred_cit_field_update

# make your edits then add and commit changes
git add modified_file1 modified_file2 [etc.]
git commit

# commit message (referencing a JIRA issue number)
AR-1189 Preferred citation export field tag update

# push your branch to your fork at Github
git push origin AR-1189_preferred_cit_field_update

Finally, make a pull request at github.

For more information on smart commits (referencing JIRA) refer to: https://confluence.atlassian.com/bitbucket/processing-jira-software-issues-with-smart-commit-messages-298979931.html

Bringing a branch up to date

...