Home | History | Annotate | Line # | Download | only in dist
README revision 1.1.1.5
      1  1.1.1.5  mrg Pixman is a library that provides low-level pixel manipulation
      2      1.1  mrg features such as image compositing and trapezoid rasterization.
      3      1.1  mrg 
      4  1.1.1.5  mrg Questions, bug reports and patches should be directed to the pixman
      5  1.1.1.3  mrg mailing list:
      6      1.1  mrg 
      7  1.1.1.3  mrg         http://lists.freedesktop.org/mailman/listinfo/pixman
      8      1.1  mrg 
      9  1.1.1.5  mrg You can also file bugs at
     10  1.1.1.4  mrg 
     11  1.1.1.4  mrg         https://bugs.freedesktop.org/enter_bug.cgi?product=pixman
     12  1.1.1.4  mrg 
     13  1.1.1.5  mrg For real time discussions about pixman, feel free to join the IRC
     14  1.1.1.5  mrg channels #cairo and #xorg-devel on the FreeNode IRC network.
     15  1.1.1.5  mrg 
     16  1.1.1.5  mrg 
     17  1.1.1.5  mrg Contributing
     18  1.1.1.5  mrg ------------
     19  1.1.1.5  mrg 
     20  1.1.1.5  mrg In order to contribute to pixman, you will need a working knowledge of
     21  1.1.1.5  mrg the git version control system. For a quick getting started guide,
     22  1.1.1.5  mrg there is the "Everyday Git With 20 Commands Or So guide"
     23  1.1.1.5  mrg 
     24  1.1.1.5  mrg         http://www.kernel.org/pub/software/scm/git/docs/everyday.html
     25  1.1.1.5  mrg 
     26  1.1.1.5  mrg from the Git homepage. For more in depth git documentation, see the
     27  1.1.1.5  mrg resources on the Git community documentation page:
     28  1.1.1.5  mrg 
     29  1.1.1.5  mrg         http://git-scm.com/documentation
     30  1.1.1.5  mrg 
     31  1.1.1.5  mrg Pixman uses the infrastructure from the freedesktop.org umbrella
     32  1.1.1.5  mrg project. For instructions about how to use the git service on
     33  1.1.1.5  mrg freedesktop.org, see:
     34  1.1.1.5  mrg 
     35  1.1.1.5  mrg         http://www.freedesktop.org/wiki/Infrastructure/git/Developers
     36  1.1.1.5  mrg 
     37  1.1.1.5  mrg The Pixman master repository can be found at:
     38      1.1  mrg 
     39      1.1  mrg 	git://anongit.freedesktop.org/git/pixman
     40      1.1  mrg 
     41  1.1.1.5  mrg and browsed on the web here:
     42  1.1.1.5  mrg 
     43  1.1.1.5  mrg 	http://cgit.freedesktop.org/pixman/
     44  1.1.1.5  mrg 
     45  1.1.1.5  mrg 
     46  1.1.1.5  mrg Sending patches
     47  1.1.1.5  mrg ---------------
     48  1.1.1.5  mrg 
     49  1.1.1.5  mrg The general workflow for sending patches is to first make sure that
     50  1.1.1.5  mrg git can send mail on your system. Then, 
     51  1.1.1.5  mrg 
     52  1.1.1.5  mrg  - create a branch off of master in your local git repository
     53  1.1.1.5  mrg 
     54  1.1.1.5  mrg  - make your changes as one or more commits
     55  1.1.1.5  mrg 
     56  1.1.1.5  mrg  - use the 
     57  1.1.1.5  mrg 
     58  1.1.1.5  mrg         git send-email
     59  1.1.1.5  mrg 
     60  1.1.1.5  mrg    command to send the patch series to pixman (a] lists.freedesktop.org.
     61  1.1.1.5  mrg 
     62  1.1.1.5  mrg In order for your patches to be accepted, please consider the
     63  1.1.1.5  mrg following guidelines:
     64  1.1.1.5  mrg 
     65  1.1.1.5  mrg  - This link:
     66  1.1.1.5  mrg 
     67  1.1.1.5  mrg         http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#patch-series
     68  1.1.1.5  mrg 
     69  1.1.1.5  mrg    describes how what a good patch series is, and to create one with
     70  1.1.1.5  mrg    git.
     71  1.1.1.5  mrg 
     72  1.1.1.5  mrg  - At each point in the series, pixman should compile and the test
     73  1.1.1.5  mrg    suite should pass.
     74  1.1.1.5  mrg 
     75  1.1.1.5  mrg    The exception here is if you are changing the test suite to
     76  1.1.1.5  mrg    demonstrate a bug. In this case, make one commit that makes the
     77  1.1.1.5  mrg    test suite fail due to the bug, and then another commit that fixes
     78  1.1.1.5  mrg    the bug.
     79  1.1.1.5  mrg 
     80  1.1.1.5  mrg    You can run the test suite with 
     81  1.1.1.5  mrg 
     82  1.1.1.5  mrg         make check
     83  1.1.1.5  mrg 
     84  1.1.1.5  mrg    It will take around two minutes to run on a modern PC.
     85  1.1.1.5  mrg 
     86  1.1.1.5  mrg  - Follow the coding style described in the CODING_STYLE file
     87  1.1.1.5  mrg 
     88  1.1.1.5  mrg  - For bug fixes, include an update to the test suite to make sure
     89  1.1.1.5  mrg    the bug doesn't reappear.
     90  1.1.1.5  mrg 
     91  1.1.1.5  mrg  - For new features, add tests of the feature to the test
     92  1.1.1.5  mrg    suite. Also, add a program demonstrating the new feature to the
     93  1.1.1.5  mrg    demos/ directory.
     94  1.1.1.5  mrg 
     95  1.1.1.5  mrg  - Write descriptive commit messages. Useful information to include:
     96  1.1.1.5  mrg         - Benchmark results, before and after
     97  1.1.1.5  mrg 	- Description of the bug that was fixed
     98  1.1.1.5  mrg 	- Detailed rationale for any new API
     99  1.1.1.5  mrg 	- Alternative approaches that were rejected (and why they
    100  1.1.1.5  mrg           don't work)
    101  1.1.1.5  mrg 	- If review comments were incorporated, a brief version
    102  1.1.1.5  mrg           history describing what those changes were.
    103  1.1.1.5  mrg 
    104  1.1.1.5  mrg  - For big patch series, send an introductory email with an overall
    105  1.1.1.5  mrg    description of the patch series, including benchmarks and
    106  1.1.1.5  mrg    motivation. Each commit message should still be descriptive and
    107  1.1.1.5  mrg    include enough information to understand why this particular commit
    108  1.1.1.5  mrg    was necessary.
    109      1.1  mrg 
    110  1.1.1.5  mrg Pixman has high standards for code quality and so almost everybody
    111  1.1.1.5  mrg should expect to have the first versions of their patches rejected.
    112      1.1  mrg 
    113  1.1.1.5  mrg If you think that the reviewers are wrong about something, or that the
    114  1.1.1.5  mrg guidelines above are wrong, feel free to discuss the issue on the
    115  1.1.1.5  mrg list. The purpose of the guidelines and code review is to ensure high
    116  1.1.1.5  mrg code quality; it is not an exercise in compliance.
    117