I see, your post of 'meaning' vs 'text' makes the issue(s) a lot clearer - thanks. What other meaning conflicts might arise other than time-related ones? I think with some clever tagging combined with a script on top of git one could have something tell you "show me what law as it is applicable today - not everything that's been passed for the future"
Cherry picking commits and branching on every possible merge conflict (and picking one winner for each branch) should be relatively straightforward, I guess the question is how big of a set of possible documents might this be - 10? 100? 1000? Would this be a process done by lawyers for the purposes of understanding laws on the books or by someone in the legislature at the end of each session?
Apologies if I'm ignorant on this stuff - I'm just really interested.
> Cherry picking commits and branching on every possible merge conflict (and picking one winner for each branch) should be relatively straightforward
The problem is that, in general, (1) it is not straightforward and (2) you can be liable for damages if you state publicly "this is the correct version" unless you are a judge or the appointed authority.
Talking more practically, here is something that would be interesting to have: a tool that (1) analyses an act (or a bill), (2) identifies which parts of it state a modification to existing acts and codes, (3) have a look at these target documents and (4) tell you which of the "hunks" of the "patch" can be "merged" in a straightforward manner, almost straightforward or require an expert review. Steps 1, 2 and partially 3 are already done in many systems through NLP techniques (have a look at http://wyner.info/LanguageLogicLawSoftware/ for example). Step 4 is a brand new thing. Do anybody want to work on that?
A tool like the last one would simplify things a lot. You go from "sorry, I cannot tell you anything because a lawyer is required for everything" to "here is what I am reasonably sure about; for the last 5% you have to ask your lawyer if the correct merge is A or B".
> I guess the question is how big of a set of possible documents might this be - 10? 100? 1000?
The set of possible versions grows exponentially :(.
> Would this be a process done by lawyers for the purposes of understanding laws on the books or by someone in the legislature at the end of each session?
Lawyers are required. Many institutions publish "end of the year" consolidated versions of their acts. In some countries these consolidated versions have legal power, in others they are just handy references (the judges cannot use them).
Fun fact: it happens quite often that one branch of a parliament thinks that the current version of an act says X while the other branch thinks that it says Y.
Cherry picking commits and branching on every possible merge conflict (and picking one winner for each branch) should be relatively straightforward, I guess the question is how big of a set of possible documents might this be - 10? 100? 1000? Would this be a process done by lawyers for the purposes of understanding laws on the books or by someone in the legislature at the end of each session?
Apologies if I'm ignorant on this stuff - I'm just really interested.