The Irish Constitution and each of it’s amendments are published by the Office of the Attorney General on the Irish Statute Book website. To date there have been thirty-three amendments proposed with twenty-seven being passed.

Each amendment describes the change being proposed like this (from the second amendment in respect of a change being proposed to article 25),

In sub-section 1° of section 2, the deletion of the word “five” and the insertion in its place of the words “the fifth”, and the deletion of the words “seven days” and the insertion in their place of the words “the seventh day

While its accurate it’s not very easy to see the impact of the change in the context of the document.

In the software engineering world we store code, which is just text, in source control. Using the tools provided by the source control system we can compare two versions of a document to see how they differ.

To get to the point where I could compare different versions of the constitution I assembled a text version of the document and created a commit for each amendment. The end result is this git repository,

Every amendment up to and including amendment thirty-three is included.

For the sake of completeness I included the transitory articles 51 to 64 and 34a. Rather than including the transitory sub-sections 29.7.3, 29.7.4 and 29.7.5 (from amendment 19) I made the changes directly to articles 2 and 3.

Each commit of represents an amendment. By opening any of these commits we can see how that amendment changed the constitution. For example, amendment thirty-three looks like this.

The left column is the constitution before amendment thirty-three, the right is after amendment thirty-three. Red lines are deleted or changed with dark red words deleted. Green lines are added or changed with dark green words added. By showing the two versions of the document, before and after, and highlighting the changes the effect of the amendment should be easier to understand.

To round it off there are two pending changes (pull requests) for each of the upcoming referendums on the 22nd May 2015,