Quote:
It has been 7 versions since a FULL source has been released ...
The current version is 4.21, and 4.19 full source has been released, as you said. How does that become 7 versions?
The only change in 4.20 was a single function that I reproduced in full on the release page, and for 4.21 I did a "diff".
To use the diff file you simply use the "patch" program, this is normally part of a Cygwin (or Linux) distribution.
You simply go to the source directory (or maybe its parent) and type:
patch < version_4.21_diffs.txt
That patches the current source by applying the differences.
It's not that hard to do it manually. Let's take an example from the diffs file:
*** doc_construct.cpp 13 Jun 2007 17:57:28 -0000 1.23
--- doc_construct.cpp 10 Jan 2008 01:24:53 -0000 1.24
***************
*** 49,54 ****
--- 49,61 ----
m_iCurrentActionSource = eUnknownActionSource;
m_nBytesIn = 0;
m_nBytesOut = 0;
+
+ m_iTriggersEvaluatedCount = 0;
+ m_iTriggersMatchedCount = 0;
+ m_iAliasesEvaluatedCount = 0;
+ m_iAliasesMatchedCount = 0;
+ m_iTimersFiredCount = 0;
+
m_bLoaded = false;
m_bMapping = false;
m_bRemoveMapReverses = true;
That means, in the original file doc_construct.cpp, consider lines 49 - 54, and add (hence the +) the lines marked with a + sign (of course, excluding column 1, with the + in it).
Now those lines become 49 - 61 as shown above.
The other lines shown (the unmarked ones) are to put the diff "in context". It is known as a "context diff". The reason for the context is that if you had added some lines of your own further up, the patch program can still synchronize the correct place, because it does not totally rely on the line numbers shown. They are effectively a hint, about where to look for the correct context.
The other symbols you might see are ! which means replace.
Here is an example of a replacement:
*** localize.lua 12 Jun 2007 04:01:56 -0000 1.2
--- localize.lua 10 Jan 2008 01:24:53 -0000 1.3
***************
*** 19,25 ****
fo = assert (io.open ("Localize_template.lua", "w"))
fo:write ("-- MUSHclient localization file\n\n")
! fo:write (os.date ("-- Written: %A, %m %B %Y at %H:%M:%S\n\n"))
-- try to work out number of arguments (see sprintf format)
-- eg. %+06.4f
--- 19,25 ----
fo = assert (io.open ("Localize_template.lua", "w"))
fo:write ("-- MUSHclient localization file\n\n")
! fo:write (os.date ("-- Written: %A, %d %B %Y at %H:%M:%S\n\n"))
-- try to work out number of arguments (see sprintf format)
-- eg. %+06.4f
Here the incorrect os.date line was replaced with a different one.
Finally, if a line is removed it would have a "-" at the start of it. |