summaryrefslogtreecommitdiff
path: root/HACKING
blob: 60bfa9f29eef38e91ae59ff9f7191a77b4cbc7b1 (plain)
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
* Hacking Memcached

* Prerequisites

 - autoconf
 - automake
 - autotools
 - libevent

* Getting Started

After checking out a git repository, you must first run autogen.sh
once in order to create the configure script.

Next, run the configure script and start doing builds.

* Setting up Git

Though not required, there are a couple of things you can add to git
to help development.

** Pre Commit Hook

The pre-commit hook can be used to ensure that your tree passes tests
before allowing a commit.  To do so, add the following to
.git/hooks/pre-commit (which must be executable):

    #!/bin/sh
    make test

** Post Commit Hook

Because the version number changes on each commit, it's good to use a
post commit hook to update the version number after each commit so as
to keep the reporting accurate.  To do so, add the following to
.git/hooks/post-commit (which must be executable)

    #!/bin/sh
    ./version.sh

** Running memcached in gdb for tests.

By default `make test` will spawn a memcached daemon for each test.
This doesn't let you easily drop into gdb or run verbosely.

If you export the environment variable
T_MEMD_USE_DAEMON="127.0.0.1:11211" the tests will use an existing
daemon at that address.

* Sending patches

See current instructions at http://contributing.appspot.com/memcached