Changes between Version 28 and Version 29 of Patches


Ignore:
Timestamp:
2013-08-07T20:43:37Z (11 years ago)
Author:
markberger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Patches

    v28 v29  
    11(see also [wiki:PatchReviewProcess How To Review Patches])
    22
    3 Please create a new ticket to track the issue unless your patch is a patch for an issue that is already ticketed.
     3Please create a new ticket to track the issue unless your patch addresses an issue that is already ticketed. If you're not sure whether there is a ticket for your issue, just make a new one. Someone will point you in the right direction if your ticket is a duplicate.
    44
    5 Then run the following darcs commands to generate a darcs patch file named {{{WHAT.darcs.patch}}}:
     5We use git as our versoin control system and the tahoe source code is hosted on [https://github.com/tahoe-lafs/tahoe-lafs Github]. Github requires that you have a Github account in order to submit patches, so you will have to create one if you don't already have one. If you are unfamiliar with Github or git we recommend the following resources:
     6* [https://help.github.com/articles/set-up-git Github - Set up git]
     7* [https://help.github.com/articles/fork-a-repo Github - Fork a repo]
     8* [http://git-scm.com/book git-scm.com/book - A great overall git resource]
    69
    7 {{{
    8   darcs record
    9   darcs send -o WHAT.darcs.patch http://tahoe-lafs.org/source/tahoe-lafs/trunk
    10 }}}
     10Once you have finished installing git and creating your Github account, fork the offical Tahoe-LAFS repo [https://github.com/tahoe-lafs/tahoe-lafs here]. You can also star or watch the official repo to make us feel fuzzy inside.
    1111
    12 (The name of the file, which is given here as {{{WHAT.darcs.patch}}}, is not that important. Use a relevant word or two or maybe the ticket number.)
     12Download the source code from your new fork. This can be done by typing `git clone https://github.com/<YOUR USERNAME>/tahoe-lafs.git` into terminal.
    1313
    14 Write a descriptive patch name and description like these ones (the "patch name" and "patch description" are labelled on these pages as "Message"): [changeset:8ba536319689ec8e], [changeset:1de4d2c594ee64c8], [changeset:d0706d27ea2624b5], [changeset:63b28d707b12202f], [changeset:c18b934c6a8442f8], [changeset:7cadb49b88c03209], [changeset:be6139dad72cdf49].
    15 If, and only if, a single file was modified in the patch it is conventional to begin the "patch name" field with "<FILENAME>:"
     14Navigate to the `tahoe-lafs` folder and type `git branch` to make sure `master` is selected. Then create a new branch with `git checkout -b <your branch name>`. Your branch name should have the ticket number and a small description of what the ticket is addressing. For example, the branch name for [https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1382 ticket #1382 - immutable peer selection refactoring and enhancements] was `1382-immutable-peer-selection`.
    1615
    17 Attach the patch to the ticket.
     16Now, hack at Tahoe-LAFS!
    1817
    19 Please use a filename like {{{*.darcs.patch}}} so that Trac will display it with proper syntax highlighting.
     18Once you think you have solved the issue run the test suite with `python setup.py trial`. This ensures that you didn't accidentally break something while working on your patch.
    2019
    21 Or without darcs you can attach a normal old unified diff. If you do that, please use a filename like {{{*.diff}}} so that Trac will display it with syntax highlighting. (If using darcs, you can generate a unified diff with {{{darcs whatsnew --unified}}}.)
     20Now that all of the existing unit tests pass, [https://tahoe-lafs.org/trac/tahoe-lafs/wiki/HowToWriteTests write your own tests] for the ticket if they don't already exist.
    2221
    23 Then add the keyword {{{review-needed}}} (spelled just like that) to the Keywords field of the ticket.
     22Finally, push your branch to Github and [https://help.github.com/articles/creating-a-pull-request open a pull request]. Please add the tag `review-needed` to the ticket and add a link to the pull request. If you had trouble writing unit tests for your patch, don't worry. Submit the pull request anyway and add the tag `tests-needed` to the ticket.
     23
    2424
    2525= Design reviews =
    2626
    2727To request a design review, explain your design (with or without a patch) and then add the [query:keywords~=design-review-needed&status=!closed&group=milestone design-review-needed] tag. Completion of a design review will normally not directly result in a patch being committed. The main goal of a design review is to give the person working on the ticket confidence that there are no show-stopping issues with the approach they are taking, and to get feedback on smaller issues that are useful to take into account before doing further work on a patch.
    28