[linux-elitists] Contributing to a Project with a Maintainer Who Doesn't Merge Contributions Quickly
Shlomi Fish
shlomif@iglu.org.il
Sat Jan 17 09:02:14 PST 2009
On Saturday 27 December 2008 00:12:43 Ben Finney wrote:
> Shlomi Fish <shlomif@iglu.org.il> writes:
> > I have some ambitious plans for enhancing the module, but I feel
> > that it won't be practical to do it in the current conditions. I
> > tried to soft-talk the maintainer into giving me repository access,
> > but then the conversation got diverted into applying my latest
> > patch, which he said he'd like to perform the next day. He didn't
> > and it's been at least two weeks since then.
>
> Since you talk about asking for “commit access”, I presume it's in
> an old-school centralised-only VCS. I'll assume Subversion.
>
You assumed right.
> > What are your thoughts about a situation like this?
>
> Use a distributed VCS to track your changes. I prefer Bazaar, so I'll
> discuss that below.
>
> * Use Debian GNU/Linux, ‘lenny’ or later.
>
Well, I'm not going to switch a distribution just to work on this project.
(Although installing it inside a VM is naturally an option.) But let's go on.
> * Install the necessary packages:
>
> $ sudo aptitude install bzr bzrtools bzr-svn svn
>
bzr is available for Mandriva Cooker but not bzr-svn:
{{{{
# urpmi bzr-svn
No package named bzr-svn
}}}}
So I tried to build it from source using python setup.py bdist_rpm, but ended
up running into this bug, which I reported:
https://bugs.launchpad.net/bzr-svn/+bug/311712
Its importance was set to "low" and a maintainer says that:
{{{{{{{{{{{{
I don't have much experience with RPMs nor do I have any RPM-based systems
though, so this isn't likely to get fixed unless somebody who does has a look.
}}}}}}}}}}}}
So now I'll have to study the python setuptools just to fix the bzr-svn build.
> * Get a local Bazaar checkout of the upstream Subversion branch so you
> can track upstream's changes discretely and easily:
>
> $ bzr checkout svn+ssh://vcs.example.org/foo/trunk/ foo.trunk/
>
[SNIPPED]
You shouldn't have wasted time on writing all this, because I am not able to
use bzr in the first place.
In any case, I have some philosophical and hypothetical reservations on using
a private repository like that. For once, if I continue to work on several
changes, then afterwards I may have a lot of merging problems. It already
happened to me twice with this project that the svn checkout I had my changes
in, didn't merge cleanly due to formatting changes in the final version, which
I had to fix, and in one case the automated tests got broken.
Furthermore, if I keep a repository full of my own private changes that were
not integrated yet, and that I plan to submit one after the other, then it's
essentially a fork, and I'd like to avoid that.
And finally, I'm not sure it solves the problem of the large round-trip delay,
because dumping a huge patch with a sequence of many changes and commits is
not something that a maintainer will look upon fondly.
I may be finding non-existent flies in the ointment, and a distributed version
control system may be OK, but I still think it would be preferable to just get
a commit access.
Regards,
Shlomi Fish
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
Best Introductory Programming Language - http://xrl.us/bjn84
<mauke> I'm not interested in what you're doing; what are you trying to
achieve?
<PerlJam> mauke: I'm trying to achieve world peace and this regex is
the last thing standing in my way! ;)
More information about the linux-elitists
mailing list