Re: [PATCH/RFC] git-remote-mediawiki: new tool to preview local changes without pushing
- From
- Benoît Person <benoit.person@ensimag.fr>
- Date
- Jun 11, 2013, 21:31 UTC
- Message-ID
- <CAETqRCiJmnz_1yjwvyWx+=kPkt3M+vKk--CnS=rnQcDA4wMSmg@mail.gmail.com>
- In-Reply-To
- <20130609060807.GA8906@sigill.intra.peff.net>
The V2 is on the launchpad but I am still struggling with the code factoring between git-mw.perl and git-remote-mediawiki.perl :/ .
On 9 June 2013 08:08, Jeff King <peff@peff.net> wrote:
Show 20 quoted lines
>
> You could make a Git::MediaWiki.pm module, but installing that would
> significantly complicate the build procedure, and potentially be
> annoying for users. One trick I have done in the past is to concatenate
> bits of perl script together in the Makefile, like this:
>
> foo: common.pl foo.pl
> { \
> echo '$(PERL_PATH_SQ)' && \
> for i in $^; do \
> echo "#line 1 $src" && \
> cat $src \
> done \
> } >$@+
> mv $@+ $@
>
> That would conflict a bit with the way we chain to git's Makefile,
> though. I suspect you could do something complicated like build "foo.pl"
> from "common.pl" and "foo-main.pl", then chain to git's Makefile to
> build "foo" from "foo.pl".I've implemented this one for now but after a real-life meeting with Matthieu Moy we discussed the possibility to build a GitMediawiki.pm module. It seems more "clean" than the concatenation of perl scripts. Plus, it would force people to limit side effects inside the functions used in this package/utils file (I have in mind the mw_connect_maybe function here and a couple of others which directly *hope* for global vars to be set to a nice value before being called).
What I find bad in the concatenating-thingy is the mandatory rename of git-mw.perl into something like git-mw.unmerged.perl and git-remote-mediawiki.perl into git-remote-mediawiki.unmerged.perl. Otherwise, like you said, it would be hard to chain to git's Makefile after the merge.
For now, I have really no idea which one is the best. If I may ask, what did you have in mind while saying:
> You could make a Git::MediaWiki.pm module, but installing that would > significantly complicate the build procedure, and potentially be > annoying for users.
?
Since my previous commit (ea07ec1 in next - use Git.pm functions for credentials), git-remote-mediawiki.perl already depends on the proper installation of the Git.pm package. In what ways the need for the installation of yet another package (GitMediawiki.pm) would annoy a user ?
Thank you for your time,
Benoit