Right from January 2009 to till date, there have been numerous significant changes in the bitcoin source codes. The earliest 0.1.0 code released on January 9,2009 was much more easier to read and understand for beginners like me rather than reading the complex code which is available now in the repository. I don't read the code more often rather than undestanding of the posted issues and pull request in the github repository.
There was a electronic cash source code (bitcoin was probably called so by satoshi during the early development days) which were provided to people who requested them by satoshi way back in November 2008. They had broken codes and contains only main.cpp, main.h, node.cpp and node.h. There were lots of functions missing when they were compared with the 0.1.0 code. Here is the link for the 2008 version :
https://bitcointalk.org/index.php?topic=382374.0As days progressed, main.cpp was too big to make them more readable. Hence the main.cpp which were present in the earlier versions were split into validation.cpp and net_processing.cpp.
If you want to read a basic version of bitcoin stick onto the 0.1.0 source code and the Novemeber 2008 source codes. If you want to help the developers in testing and code review, it would be much more difficult to get on track with the newer code if you read the old code.