Today I want to announce my first Release Canditate of Working Copy. You can download it here.
I would like to speak about what has been done since the last Beta version and what is left to complete the project.
Now it is possible to create a child from master, see made changes on the child, commit selected changes to the master, create a patch from child, apply a patch to the master, synchronize the child with master, revert made changes on the child to parent state. I created commit operation in this version, completed left tasks in revert, synchronize and create patch features.
Here are some issues and tasks to be done. If the table doesn't have a unique row identifier, then we need to treat that table as a whole, because we cannot know which rows are changed. We can get from information_schema the table's last modification date and mark the whole table as changed if the modified date is newer than internal timer. There are also some problems with tables, which have more than one primary key, so the combination of that keys is unique. The thing is that during update queries some of the values of one or more primary keys can be changed, so in that case we cannot identify the row already. So we need to thread them as a whole too. The next one is to allow developers to manually put a date against which the changes will be compared. I'll add fiendly reporting, so the application will tell you what it did and what kind of issues it has during the operation. The docs are not ready yet, I'm intended to create also couple of video tutorials. And the last thing is left, to have a feature which will merge the childs.
I ask you to test it and if you find issues, please report them here.
Here are some basics to test the application. Download it and install it to your joomla site. Create a child (I tested it with default settings only, so you can play with it). Login to the child and make changes there, you can install a component for example. Then view made changes by clicking Differences button. After that you will see what you can do with that changes, try to commit some of them and see what is going on on the master.