|
Version Control
|
|
Written by Flavio Adalberto Kubota
|
|
First, I would like to thank all that read Summer of Code blog and all that add comments here. It is nice to know that you are spending some minutes just to read the posts.
Peter Stumpf wrote about Version Control on JoomFish. This could be a future project after Summer of Code, because base of Version Control System will be done, it would be necessary to make changes to work with JoomFish.
About the Version Control, his week I have started to work with Joomla! source code. To learn about, I created a very simple component that prints a register of a table. In the beginning, I have some difficults to understand how Joomla! connect the layers of MVC model, but now it is more clear for me.
After this, I was going to copy the algorithms I wrote when I noticed that a important point about diffs. In text diff, the differences is shown based on the lines, in the other words, a text diff algorithm show differences between lines. But in html there is no lines, at least in html source. We can have just one line for all the html content. If there's no line, no advantage to save diffs. A solution I found consist in consider some tags as line. Html tags that browser print as one line, I will consider as a line. It was necessary to make an algorithm to interpret html e verify if a tag is a line.
Until now, I was writing basic algorithms for Version Control, but I haven't used JoomlaCode yet. This week, I will start use JoomlaCode SVN. Versioning my code will be important from now.
|
Wednesday, 11 June 2008
The finished version management should have the ability to bring everything together under cvs, what is kinda worth of being stored.
Currently, I use a self-build plugin, that shows up the latest differences between the actual and the latest release in one e-mail (for normal and joomfish articles, weblinks, etc.). For the diff, I use the PEAR-package provided from php (http://pear.php.net/package/Text_Diff)
This is in deed only a temporary solution, but it's working for the moment.