blob: 1e6f07dab8151a6711af41c75915eca8b21a4637 [file] [log] [blame]
If you want to become or are a poppler contributor, this is a README for you, keep reading!
Licensing
---------
Only send patches to poppler if you agree to license (or relicense) them under
GPLv2 and later (or something more permissive that can be "upgraded" to GPLv2
and later). If you do not agree to this license, please explain the problem / bug
and how you would solve it in words instead of code.
By default all patches attached to the gitlab instance or sent to the mailing list
will be assumed to agree with the licensing expressed here.
Channels of contact
-------------------
Poppler has three main channels of contact:
* The poppler mailing list http://lists.freedesktop.org/mailman/listinfo/poppler
* The poppler gitlab instance https://gitlab.freedesktop.org/poppler/poppler/
* The #poppler channel at the IRC freenode network
Do not hesitate to drop by talk to people there.
clang-format
------------
We introduced clang-format mandatory usage in July 2020.
If you want git blame to ignore the revision in which we did the mass change you can do
git config blame.ignoreRevsFile .git-blame-ignore-revs
on your clone
To get the clang-format warnings locally instead at CI time we recommend you
to copy the hooks/pre-commit to your .git
cp hooks/pre-commit .git/hooks/
We are using clang-format 19 on CI. Unfortunately clang-format is not totally
compatible with older versions of itself. If CI gives you trouble but your local
clang-format disagrees, just apply the changes suggested by CI and then commit
with the --no-verify flag. If you get stuck, don't hesitate to ask the reviewer
to help and they will reformat your commits :)
Merge requests
--------------
When creating a new merge request on gitlab make sure it has a clear title and
the description includes any extra details that might be helpful for the
reviewer, such as what the aim of the change is and decisions made during
implementation.
Also, check "Allow commits from members who can merge to the target branch" as
that enables rebase on landing. See the gitlab docs for details:
https://docs.gitlab.com/ee/user/project/merge_requests/allow_collaboration.html
And keep hacking on poppler!