]> arthur.barton.de Git - bup.git/blob - HACKING
Add ./HACKING and refer to it from README.md.
[bup.git] / HACKING
1
2 Conventions?  Are you kidding?  OK fine.
3
4 Code Branching Model
5 ====================
6
7 The master branch is what we consider the main-line of development,
8 and the last, non-rc tag on master is the most recent stable release.
9
10 Of course, in all fairness, it has been a *long* time since the last
11 stable release, but we're working fairly hard to fix that -- no,
12 seriously.
13
14 Any branch with a "tmp/" prefix might be rebased (often), so keep that
15 in mind when using or depending on one.
16
17
18 Current Trajectory
19 ==================
20
21 At the moment, one of the primary goals is to add support for
22 filesystem metadata.  That work is being handled via tmp/pending/meta,
23 and we're in the process of trying to vet those patches for master.
24 Once that's been done, we're planning to produce a new stable release.
25
26 If you have the time and inclination, please help review those patches
27 as they're posted to the list.  (See below.)
28
29
30 More specific ways to help
31 ==========================
32
33 Testing -- yes please.  
34
35 With respect to patches, bup development is handled via the mailing
36 list, and all patches should be sent to the list for review (see
37 "Submitting Patches" below).
38
39 In most cases, we try to wait until we have at least two
40 "Reviewed-by:" replies to a patch posted to the list before
41 incorporating it into master, so reviews are an important way to help.
42 We also love a good "Tested-by:" -- the more the merrier.
43
44
45 Submitting patches
46 ==================
47
48 As mentioned, all patches should be posted to the mailing list for
49 review.
50
51 You can create a "signed off" (see ./SIGNED-OFF-BY) set of patches in
52 ./pending, ready for submission to the list, like this:
53
54     git format-patch -s -o pending origin/master
55
56 which will include all of the patches since origin/master on your
57 current branch.  Then you can send them to the list like this:
58
59         git send-email --to bup-list@googlegroups.com --compose patches/*
60
61 The use of --compose will cause git to ask you to edit a cover letter
62 that will be sent as the first message.
63
64 It's also possible to handle everything in one step:
65
66         git send-email -s --to bup-list@googlegroups.com --compose origin/master
67
68 and you can add --annotate if you'd like to review or edit each patch
69 before it's sent.
70
71 For single patches, this might be easier:
72
73     git send-email -s --to bup-list@googlegroups.com --annotate -n1 HEAD
74
75 which will send the top patch on the current branch, and will stop to
76 allow you to add comments.  You can add comments to the section with
77 the diffstat without affecting the commit message.
78
79 Of course, unless your machine is set up to handle outgoing mail
80 locally, you may need to configure git to be able to send mail.  See
81 git-send-email(1) for further details.
82
83 Oh, and we do have a ./CODING-STYLE, hobgoblins and all, though don't
84 let that scare you off.  We're not all that fierce.
85
86
87 Even More Generally
88 ===================
89
90 It's not like we have a lot of hard and fast rules, but some of the
91 ideas here aren't altogether terrible:
92
93   http://www.kernel.org/doc/Documentation/SubmittingPatches
94
95 In particular, we've been paying at least some attention to the bits
96 regarding Acked-by:, Reported-by:, Tested-by: and Reviewed-by:.