Skip to content

Multi-format archive and compression library

Notifications You must be signed in to change notification settings

Slicer/libarchive

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

What is this project ?

This project is NOT the official libarchive repository.

It is a fork of libarchive sources hosted at https://github.com/libarchive/libarchive.

It is used as staging area to maintain and test patches that will be contributed back to the official repository.

What is the branch naming convention ?

Each branch is named following the pattern slicer-vY.Y.Z-YYYY-MM-DD-SHA{N}

where:

  • vX.Y.Z is the version of the forked project
  • YYYY-MM-DD is the date of the last official commit associated with the branch.
  • SHA{N} are the first N characters of the last official commit associated with the branch.

For more details, see https://www.slicer.org/wiki/Documentation/Nightly/Developers/ProjectForks

How to update the version of libarchive ?

  1. Clone this repository and add a remote to the official project
git clone git://github.com/Slicer/libarchive
cd libarchive
git remote add upstream git://github.com/libarchive/libarchive
git fetch upstream
  1. Checkout base of the new branch
git checkout -b master upstream/master # You could also checkout a specific tag
  1. Create a new branch following the convention
# Extract version
XYZ=$(cat libarchive/archive.h | grep "define\sARCHIVE_VERSION_ONLY_STRING" | cut -d" " -f2 | sed -re "s/\"(.+)dev\"/\\1/" | sed -re "s/\"(.+)\"/\\1/")
echo "XYZ [${XYZ}]"

DATE=$(git show -s --format=%ci HEAD | cut -d" " -f1)
echo "DATE [${DATE}]"

SHA=$(git show -s --format=%h HEAD)
echo "SHA [${SHA}]"

BRANCH_NAME=slicer-v${XYZ}-${DATE}-${SHA}
echo "BRANCH_NAME [${BRANCH_NAME}]"

git checkout -b ${BRANCH_NAME} ${SHA}
  1. Cherry-pick the Slicer specific commits from last branch. Resolve conflict as needed.

  2. To test the changes, locally rebuild Slicer.

  3. Publish the branch. (directly in this repo if you have push rights, or on a fork)

  4. Update Slicer libarchive external project and submit a pull request.

How to be granted push rights ?

Ask on https://discourse.slicer.org/

Questions

If you have questions, see https://discourse.slicer.org/

About

Multi-format archive and compression library

Topics

Resources

Stars

Watchers

Forks

Languages

  • C 98.3%
  • Other 1.7%