Patchtool: Difference between revisions
Jump to navigation
Jump to search
Joejoe2010 (talk | contribs) No edit summary |
Joejoe2010 (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
* this tool uses the bsdiff algorithm from http://www.daemonology.net/bsdiff/ | * this tool uses the bsdiff algorithm from http://www.daemonology.net/bsdiff/ | ||
* see in the OpenPetra.org bazaar: | * see in the OpenPetra.org bazaar repository: | ||
** [http://bzr.openpetra.org:8088/loggerhead/trunk/annotate/head:/csharp/ICT/Common/IO/PatchTools.cs managed bsdiff library] | ** [http://bzr.openpetra.org:8088/loggerhead/trunk/annotate/head:/csharp/ICT/Common/IO/PatchTools.cs managed bsdiff library] | ||
** [http://bzr.openpetra.org:8088/loggerhead/trunk/files/head:/csharp/ICT/PetraTools/PatchTool/ OpenPetra.org PatchTool] | ** [http://bzr.openpetra.org:8088/loggerhead/trunk/files/head:/csharp/ICT/PetraTools/PatchTool/ OpenPetra.org PatchTool] |
Revision as of 11:36, 18 Haziran 2011
sources
- this tool uses the bsdiff algorithm from http://www.daemonology.net/bsdiff/
- see in the OpenPetra.org bazaar repository:
description
- for creating a patch, we need a tar.gz file from the previous release and the current release
- each release contains a version.txt file in the bin directory, to be able to determine the currently installed version
- individual files can be replaced in a production environment, as long as the original file is stored with the .orig extension
- for building the patch, we use the original bsdiff program which is written in C. It is available for Windows and Linux. It is much faster as a version we wrote in Managed Code, though that is probably due to lack of time and knowledge how to make the algorithm work fast in C# as well.
- for applying the patch, our managed code works quite well, so we don't require an additional binary on the production machines