[tei-council] A question about building the Guidelines

Sebastian Rahtz sebastian.rahtz at it.ox.ac.uk
Wed Jul 31 04:24:40 EDT 2013


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

> 
> 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.

> 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)
> 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)
    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
--
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