[Cocoa-sharp] Patching 101

David Mitchell dave at fallingcanbedeadly.com
Fri Feb 23 10:06:28 EST 2007


There seem to be a lot of newcomers to Cocoa# right now, and a fair bit of
confusion about the best way to submit patches, work one's way into
leadership, etc.

 

At the moment, I'm not actually actively working on Cocoa# (there are some
things lower down in the Mono stack that require my attention before I can
play with fancy graphical things.), but I've found a system that works
pretty well with Mono, and I would assume that this process would also work
as you move up the stack.

 

So in the interest of getting things to move forward, here's the way I do
things. If you've been contributing longer than I have, or if you think you
have a better process, feel free to correct me. I haven't had a lot of
guidance in this either, but I hope that by throwing something out there, we
can pull something together.

 

Obviously, the first thing to do is to sign up for as many of the Mono
mailing lists as you can keep up with, but you know that already since
you're reading this mailing list.

 

After that, if you're interested in contributing anything to any Mono
project, you really need to get an account on Ximian's Bugzilla server at
http://bugzilla.ximian.com <http://bugzilla.ximian.com/> . No one actually
has to do anything for you to get into this, so it's a really easy step.
Bugzilla also seems to be the best vehicle for submitting patches.

 

If you know of any existing bugs, file them right away (if they aren't
already in the database). I've actually had a few instances in which a bug
that I filed was fixed by someone else, but that kind of thing won't happen
if no one else knows what to fix.

 

Now that people know about your bugs, it's time to fix them. For best
results, always make sure that you're hacking on the latest, most bleeding
edge version of the source code. Mono uses subversion, and most of the
details about it can be found at http://www.mono-project.com/SVN (it also
has a few details about code submission etiquette. I'm assuming here that
you're not an absolute newcomer to subversion, but if you are, this is where
to start: http://subversion.tigris.org/. The one thing that I will cover may
be of use to people who use subversion at work, but who are not used to the
workflow of creating patches. If you've made changes to a file or folder in
the Mono tree named 'blah', type this command:

 

svn diff blah > somefile.patch

 

This will create a patch file that you can then either attach to your bug on
Bugzilla (which is what works best for me) or send directly to a mailing
list.

 

Mono's page on SVN says that once you've submitted several patches to Mono,
you can ask Miguel for write access to SVN (this doesn't mean that you have
a free rein in the code, but it does make things easier). I haven't done
this step (although I've made enough contributions that I ought to.the
terribly curious or nosy can look for Bugzilla submissions from
dmitchell at logos.com), but this is mainly because I have no idea how I would
acquire or what I would do with a public OpenSSH key (yes, I know that it's
for encryption, but beyond that?). For that matter, can anyone help me out
here? Please?

 

So there you have it: my hard-won knowledge on how to break into the Mono
project. Some patches will move quite quickly into production (less than a
day), while others may take a bit longer (I've had to wait over a month, in
some cases), but once you start, it gets easier to build momentum.

 

If you've been wanting to start contributing, but don't know how, give this
method a shot, and if you have been contributing for a while, and you don't
think that this is the best way to go, then by all means, correct me.

 

--Dave

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/cocoa-sharp/attachments/20070223/6052f4b9/attachment-0001.html 


More information about the Cocoa-sharp mailing list