Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 404a66ce5f
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 107 lines (60 sloc) 2.945 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

## Testing Out the New ~~

1. Clone the perl5 git repository:

    $ git clone git://perl5.git.perl.org/perl.git

    ...that may take a few minutes, the first time.

2. Check out the smartmatch branch.

    $ git checkout -b smartmatch origin/smartmatch

    You should make sure you're pretty up to date. This command, for example,
    should print 1:

    $ git log | grep -c ea0c2dbd5f5ac6845ecc7ec6696415bf8e27bd52

3. Compile that perl. RJBS does:

      * ./Configure -de -Dusedevel
      * make -j2
      * make test -j2
      * sudo make install

    Now you have perl5.11.0 in your path.

4. Read the smartmatch spec defined in the pod.
    
    $ perldoc perlsyn

    Grep for "Smart matching in detail"

5. Write tests exploiting behaviors defined in perlsyn

    Tests are organized into files in ./t *generally* based on the type of
    value on the right hand side of the ~~. You should feel free to put your
    tests wherever you want. Nobody is going to be upset because of where it
    is. More tests is better.

6. Run: prove -e perl5.11.0

## Simple instructions for git / github newbies:

Install git:

   $ apt-get install git # If you're not using debian, tough :_)

Clone perl:

   $ git clone git://perl5.git.perl.org/perl.git

### I want a github account

Go to htp://www.github.com, click 'Pricing and Signup', click 'Open Source'.

Follow registration through to get a username and password registered.

If you don't have an ssh key already, generate one with:

   $ ssh-keygen

The file will be in ~/.ssh/id_rsa.pub

Login to github. Add your ssh key to github by clicking XXX

Go to: http://github.com/rjbs/perl-smartmatch-tests/tree/master

Click the 'Fork' button

You'll be taken to your own copy of this repository.

Click the text next to 'Your Clone URL'. This will lightbox the git command you need to run,
e.g.

    $ git clone git@github.com:bobtfish/perl-smartmatch-tests.git

Copy and paste this into your terminal. You now have checked out copy of
these tests. You can commit (git add file1 file2 & git commit), then upload
your work to github (git push), then click 'Send Pull request' in the web form,
and a dialog box will pop up asking you to write a mail. Write a brief
description of your changes and send.

jrbs will get your message and either integrate the work you've done, or send
you some feedback.

### I don't want a github account

That's fine!

    $ git clone git@github.com:rjbs/perl-smartmatch-tests.git

This will check out a readonly copy of the repository. Add tests and commit
(git add file1 file2 & git commit), possibly multiple times. When you want to
submit your work, then say 'git log'.

Note the sha1 hash below your first commit message.

    $ git format-patch <sha1sum>

Each change you made will be written out as a file similarly named to the
commit message, e.g. 0001-Smartmatch-test-Foo.diff

Mail these diffs as attachments to rjbs for application.


Something went wrong with that request. Please try again.