mat2 is a metadata removal tool, supporting a wide range of commonly used file formats, written in python3: at its core, it's a library, used by an eponymous command-line interface, and a nautilus extension.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

Contributing to mat2

The main repository for mat2 is on 0xacab, but you can send patches to jvoisin by email if you prefer.

Do feel free to pick up an issue and to send a pull-request. Please do check that everything is fine by running the testsuite with python3 -m unittest discover -v before submitting one :)

If you're fixing a bug or adding a new feature, please add tests accordingly, this will greatly improve the odds of your merge-request getting merged.

If you're adding a new fileformat, please add tests for:

  1. Getting metadata
  2. Cleaning metadata
  3. Raising ValueError upon a corrupted file

Since mat2 is written in Python3, please conform as much as possible to the pep8 style; except where it makes no sense of course.

Doing a release

  1. Update the changelog
  2. Update the version in the mat2 file
  3. Update the version in the setup.py file
  4. Update the version and date in the man page
  5. Commit the changelog, man page, mat2 and setup.py files
  6. Create a tag with git tag -s $VERSION
  7. Push the commit with git push origin master
  8. Push the tag with git push --tags
  9. Download the gitlab archive of the release
  10. Diff it against the local copy
  11. If there is no difference, sign the archive with gpg --armor --detach-sign mat2-$VERSION.tar.xz
  12. Upload the signature on Gitlab's tag page and add the changelog there
  13. Announce the release on the mailing list
  14. Sign'n'upload the new version on pypi with python3 setup.py sdist bdist_wheel then twine upload -s dist/*
  15. Do the secret release dance