Patchtool: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
No edit summary
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

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