<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Parrot - Committer Guide</title> <link rel="stylesheet" type="text/css" href="../../../resources/parrot.css" media="all"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div id="wrapper"> <div id="header"> <a href="http://www.parrot.org"> <img border=0 src="../../../resources/parrot_logo.png" id="logo" alt="parrot"> </a> </div> <!-- "header" --> <div id="divider"></div> <div id="mainbody"> <div id="breadcrumb"> <a href="../../../html/index.html">Home</a> » <a href="../../../html/developer.html">Developer Documentation</a> » Committer Guide </div> <h1><a name="Committer_Guide" >Committer Guide</a></h1> <p>From <em>docs/project/roles_responsibilities.pod</em>:</p> <pre> Contributors who submit numerous, high-quality patches may be considered to become a Committer. Committers have commit access to the full Parrot repository, but generally work only on one or more subprojects; Committer categories are described below. Contributors may considered for commit access either by being nominated by another Committer, or by asking for it.</pre> <h1><a name="Adding_new_files" >Adding new files</a></h1> <p>To add a new file to Parrot, in your git working copy use the command:</p> <pre> % git add <filename></pre> <h1><a name="MANIFEST" >MANIFEST</a></h1> <p>Be sure to update the MANIFEST when you've added new files. You do this by running:</p> <pre> % perl tools/dev/mk_manifest_and_skip.pl</pre> <h1><a name="Ignored_files" >Ignored files</a></h1> <p>Files generated by Parrot at build time should get ignored such that Cgit status> doesn't pick them up. They also need to get added to MANIFEST.SKIP so that Parrot's configuration mechanism doesn't complain about extra files. You can tell git to ignore files by adding them to <em>.gitignore</em>.</p> <h1><a name="Tests_before_committing;_make_codetest" >Tests before committing; make codetest</a></h1> <p>Your Parrot working copy must <code>make</code> successfully before committing your changes to the repository.</p> <p>It would be best practice to run <code>make test</code> and make sure that your change hasn't broken anything before committing. However, as <code>make test</code> takes a long time, it is recommended to run at least <code>make codetest</code>. This target runs only the file metadata and the basic coding standards tests.</p> <p>In case you want to check the POD of your changed file, you can run <code>perl t/doc/pod.t path/to/my/file </code>.</p> <h1><a name="License" >License</a></h1> <p>Each text file needs to have near its beginning the line (or equivalent depending upon the current language's comment character):</p> <pre> # Copyright (C) <creation_year>-<current_year>, Parrot Foundation.</pre> <h1><a name="Removing_files" >Removing files</a></h1> <p>To remove a file from the Parrot source, you need to use the <code>git rm</code> command:</p> <pre> % git rm <filename></pre> <p>Removing files is much the same as adding files in that you need to run <em>tools/dev/mk_manifest_and_skip.pl</em> to create the MANIFEST and MANIFEST.SKIP files appropriately. Also, you should check that you've not broken anything by running <code>make test</code> before committing the removal to the repository.</p> <h1><a name="Working_with_Git" >Working with Git</a></h1> <p>Our recommended workflow for git is documented in <em>docs/project/git_workflow.pod</em>.</p> <h1><a name="SEE_ALSO" >SEE ALSO</a></h1> <p><em>docs/project/roles_responsibilities.pod</em>, <em>RESPONSIBLE_PARTIES</em></p> </div> <!-- "mainbody" --> <div id="divider"></div> <div id="footer"> Copyright © 2002-2011, Parrot Foundation. </div> </div> <!-- "wrapper" --> </body> </html>