[tei-council] A question about building the Guidelines

Martin Holmes mholmes at uvic.ca
Wed Jul 31 12:11:50 EDT 2013


Hi Sebastian,

On 13-07-31 01:24 AM, Sebastian Rahtz wrote:
>
> On 31 Jul 2013, at 01:28, Martin Holmes <mholmes at uvic.ca> wrote:
>
>>
>> I'm looking at how to build my new functionality into the
>> Guidelines build process, and I find myself confused about how the
>> old SVN code interacts with the new GitHub code.
> hopefylly, no old SVN code (as regards stylesheets) relevant here

But guidelines.xsl.model is still in SVN, and not in github, isn't it? 
Is the plan to move that to github too?

>> When I run make teiwebsiteguidelines,
>> P5/Utilities/guidelines.xsl.model is transformed into
>> guidelines.xsl, and this pulls in two imports, which in turn import
>> other stuff:
>>
>> <xsl:import
>> href="/usr/share/xml/tei/stylesheet/odds/odd2html.xsl"/>
>> <xsl:import
>> href="/usr/share/xml/tei/stylesheet/odds/guidelines.xsl"/>
>
> the key line in the Makefile is
>
> perl -p -e \
> "s+http://www.tei-c.org/release/xml/tei/stylesheet+${XSL}+; \
> s+/usr/share/xml/tei/stylesheet+${XSL}+;" \
> Utilities/guidelines.xsl.model > Utilities/guidelines.xsl
>
> ie the eventual path it looks on is mediated by the $XSL variable, as
> you note below
>
>>
>> These files are part of the deb packages, so in order to add and
>> test the new functionality, I presumably need to fork the git repo
>> and use the XSL= parameter on my make command to point to the
>> stylesheets from git.
> yes. a git clone to your local disk, use that, push back changes
>
>>
>> So then I edit my fork of the stylesheets until they do what I
>> want. Then I push those changes back to GitHub, and I send you a
>> pull request. Nothing happens to the master branch until you act on
>> the pull request. Is that right?
>
> not entirely. you don't have to fork to your account on Github, you
> can clone directly. then when you do a push, it goes right back to
> the master. for this purpose, you dont need the intermediate fork, I
> suggest.

I was following the instructions on the page you posted a link to before:

<https://help.github.com/articles/fork-a-repo>

and I've been under the impression that's how you're supposed to work 
with Git. If the plan is instead to have a core team of people who can 
push to the master and merge changes, then we're sort of back where we 
started with SVN, except that third parties that we don't (yet) trust 
might fork the repo and request that we merge their changes -- is that 
the idea?

>> If so, then aren't we all now dependent on you to bring any changes
>> into the master? Doesn't that make it much less, rather than more,
>> practical for other people to take significant responsibility for
>> working on the code? Now we not only depend on you to build the deb
>> packages,
> (untrue, btw. Jenkins builds the debian packages)

Sorry, I meant _release_ the deb packages.

>> we also need you to merge any changes into the master codebase.
>
> no, because the stylesheets are on Github owned by the TEIC
> organisation, which can include as many of us as we like
>
>> If you go on vacation while three people are busy working, won't
>> you have a stack of pull requests waiting for you when you get
>> back, and a potentially difficult job merging the possibly
>> conflicting changes, which none of the three will know about
>> because they are working on independent forks?
>>
>> Or have I misunderstood the situation completely?
>
>
> not entirely. but a) I have no stranglehold on the repo. tell me your
> username, and I make you a member of TEIC (similarly, everyone else
> here interested)

martindholmes

> b) the problem of merging changes from indepdenent
> forks will always be an issue with open source projects, how can we
> avoid it? its the very essence of our business

It's the essence of a setup in which we have a core set of contributors 
we absolutely trust, and another set whom we don't trust, whose 
contributions need to be examined before being merged. It'll be 
interesting to see how many external contributors like this emerge as a 
result of the change to GitHub.

Cheers,
Martin

> -- Sebastian Rahtz
> Director (Research) of Academic IT University of Oxford IT Services
> 13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431
>


More information about the tei-council mailing list