{"version":"1.0","provider_name":"\u0427\u0443\u0434\u043e{\u0432\u0438\u0449\u043d\u044b\u0435} \u0437\u0430\u043c\u0435\u0442\u043a\u0438","provider_url":"https:\/\/miracle.rpz.name","author_name":"MiRacLe","author_url":"https:\/\/miracle.rpz.name\/author\/miracle\/","title":"phing.tasks.ext.SvnExportRevisionDiffTask","html":"\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 \u043f\u043e\u0441\u0435\u0449\u0430\u0435\u043c\u044b\u0445 \u043c\u043d\u043e\u044e \u0444\u043e\u0440\u0443\u043c\u0430\u0445 \u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f\u0445 \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442 \u0442\u0435\u043c\u0430 \u0434\u0435\u043f\u043b\u043e\u044f php-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 production-\u0441\u0435\u0440\u0432\u0435\u0440. \u042f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u043c.\r\n\r\n\u0412 \u0440\u0430\u0441\u043f\u043e\u0440\u044f\u0436\u0435\u043d\u0438\u0438 \u0438\u043c\u0435\u0435\u0442\u0441\u044f:\r\n<ol><li>svn-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0439 \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c.<\/li><li>ftp-\u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443.<\/li><li>\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a \u0442\u044f\u0436\u0451\u043b\u043e\u0439 \u0440\u0443\u0442\u0438\u043d\u0435 <a href=\"http:\/\/phing.info\">phing<\/a>\r\n<\/li><\/ol>\r\n\r\n\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0440\u0430\u0431\u043e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:\r\n<ol><li>\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u043a\u043e\u0434\u0430 \u0438\u0437 svn<\/li><li>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u043a \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0443\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438, \"\u0441\u043a\u043b\u0435\u0438\u0442\u044c\" \u043c\u0435\u043b\u043a\u0438\u0435 \u0432 \u043e\u0434\u0438\u043d \u0431\u043e\u043b\u044c\u0448\u043e\u0439, \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0435 \u0438 \u0442.\u043f.)<\/li><li>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a (\u043e\u043d\u0438 \u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0439 \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0448\u0430\u0433\u0435)<\/li><li>\u0417\u0430\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440.\r\n<\/li><\/ol>\u0412\u0441\u0451 \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e, \u043d\u043e \u0441\u043c\u0443\u0449\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 - \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432\u0441\u0435\u0433\u043e \u0438 \u0432\u0441\u044f. \u0421\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0438 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c 3 \u0444\u0430\u0439\u043b\u0430, \u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0451? \u041d\u0438\u043a\u0430\u043a \u043d\u0435\u0442! \u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e, \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:\r\n<ol><li>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 - <i>RevFrom<\/i><\/li><li>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0438 - <i>RevTo<\/i>\r\n<\/li><li>\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c c <i>RevFrom<\/i> \u0434\u043e <i>RevTo<\/i>\r\n<\/li><\/ol>\r\n\u0412\u0435\u0440\u0441\u0438\u044e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0435 \u043c\u0443\u0434\u0440\u0441\u0442\u0432\u0443\u044f \u043b\u0443\u043a\u0430\u0432\u043e, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0444\u0430\u0439\u043b\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 revision.txt. \u0412\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0438 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0443\u0437\u043d\u0430\u0442\u044c SvnLastRevisionTask. \u041d\u0435\u044f\u0441\u043d\u044b\u043c \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043b\u0438\u0448\u044c \u043c\u043e\u043c\u0435\u043d\u0442 - \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c. \u0422\u0435, \u043a\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c TortoiseSVN \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u044e\u0442 \u043e \u0447\u0443\u0434\u0435\u0441\u043d\u043e\u0439 \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 - \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0434\u0432\u0435 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \"\u0440\u0430\u0437\u043d\u0438\u0446\u0443\". \u041d\u043e svn \u0432 \u0447\u0438\u0441\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442. \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.\r\n<!--more-->\r\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0442\u0430\u043b \u043a\u043b\u0430\u0441\u0441 - <a href=\"http:\/\/miracle.rpz.name\/shared\/phing\/SvnExportRevisionDiffTask.html\">SvnExportRevisionDiffTask<\/a> \u041f\u0440\u0438\u043d\u0446\u0438\u043f \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0430\u043a\u043e\u0432: \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 \u0432 \u0432\u0438\u0434\u0435 xml, \u043f\u043e\u0442\u043e\u043c \u044d\u0442\u0438 \u0441\u043f\u0438\u0441\u043a\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0443\u0442\u0451\u043c \u0432\u044b\u0437\u043e\u0432\u0430 svn, \u0442.\u043a. \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c.\r\n\r\n\u0417\u0430\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c task-\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0440\u0430\u043d\u0435\u0435 - <a href=\"http:\/\/miracle.rpz.name\/2007\/11\/15\/phing-ftpupload-task\/\">FtpUploadTask<\/a>.\r\n\r\n\u041d\u0443 \u0432\u043e\u0442 \u0432\u0441\u0435 \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u0432 \u0441\u0431\u043e\u0440\u0435 \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0441 \u0441\u0431\u043e\u0440\u043a\u0435: \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c php-\u043a\u043b\u0430\u0441\u0441\u044b \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0441\u0442\u0430, \u0431\u0435\u0440\u0451\u043c \u0444\u0430\u0439\u043b example.xml\r\n\r\n<pre class=\"xml:nocontrols\">\r\n&lt;?xml&nbsp;version=&#39;1.0&#39;?&gt;\r\n&lt;project&nbsp;name=&#39;Deploy&#39;&nbsp;default=&#39;build&#39;&nbsp;basedir=&#39;.\/&#39;&nbsp;description=&#39;Demo&nbsp;phing-ftp-deploy&#39;&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;target&nbsp;name=&#39;propset&#39;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;projectUrl&#39;&nbsp;value=&#39;http:\/\/example.com\/project_root\/&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;revisionFile&#39;&nbsp;value=&#39;revision.txt&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;projectlastrev&nbsp;url=&#39;${projectUrl}&#39;&nbsp;revisionFile=&#39;${revisionFile}&#39;&nbsp;propertyName=&#39;fromrev&#39;&nbsp;\/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;svnroot&#39;&nbsp;value=&#39;http:\/\/svn.example.com\/project\/branches\/stable\/&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;svnuser&#39;&nbsp;value=&#39;joe&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;svnpassword&#39;&nbsp;value=&#39;s3cre7&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;outputdir&#39;&nbsp;value=&#39;project-temp&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;svnlastrevision&nbsp;username=&#39;${svnuser}&#39;&nbsp;password=&#39;${svnpassword}&#39;&nbsp;repositoryurl=&#39;${svnroot}&#39;&nbsp;propertyName=&#39;torev&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;hostname&#39;&nbsp;value=&#39;ftp.example.com&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;user&#39;&nbsp;value=&#39;ftpuser@example.com&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;passwd&#39;&nbsp;value=&#39;s3cr3tk3y&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;dstdir&#39;&nbsp;value=&#39;project_root&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property&nbsp;name=&#39;overwrite&#39;&nbsp;value=&#39;true&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/target&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;target&nbsp;name=&#39;build&#39;&nbsp;depends=&#39;propset,diff,lint&#39;&gt;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ftpupload&nbsp;host=&#39;${hostname}&#39;&nbsp;username=&#39;${user}&#39;&nbsp;password=&#39;${passwd}&#39;&nbsp;targetDir=&#39;${dstdir}&#39;&nbsp;mode=&#39;bin&#39;&nbsp;overwriteExisten=&#39;${overwrite}&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fileset&nbsp;dir=&#39;${outputdir}&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name=&#39;**&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;exclude&nbsp;name=&#39;config.php.dist&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;exclude&nbsp;name=&#39;examples\/**&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/fileset&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/ftpupload&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/target&gt;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;target&nbsp;name=&#39;diff&#39;&nbsp;depends=&#39;propset&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;delete&nbsp;includeemptydirs=&#39;true&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;\u0441\u043d\u0430\u0447\u0430\u043b\u0430&nbsp;\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c&nbsp;\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e,&nbsp;\u0432&nbsp;\u043a\u043e\u0442\u043e\u0440\u0443\u044e&nbsp;\u0431\u0443\u0434\u0443\u0442&nbsp;\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f&nbsp;\u0444\u0430\u0439\u043b\u044b&nbsp;--&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fileset&nbsp;dir=&#39;.&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name=&#39;${outputdir}\/**&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/fileset&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/delete&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir&nbsp;dir=&#39;${outputdir}&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c&nbsp;\u043d\u043e\u043c\u0435\u0440&nbsp;\u0442\u0435\u043a\u0443\u0449\u0435\u0439&nbsp;\u0440\u0435\u0432\u0438\u0437\u0438\u0438&nbsp;\u0432&nbsp;\u0444\u0430\u0439\u043b&nbsp;--&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;echo&nbsp;file=&#39;${outputdir}\/${revisionFile}&#39;&nbsp;message=&#39;${torev}&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c&nbsp;\u043d\u0443\u0436\u043d\u044b\u0435&nbsp;\u0444\u0430\u0439\u043b\u044b&nbsp;--&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;svndiff&nbsp;toDir=&#39;${outputdir}&#39;&nbsp;svnpath=&#39;\/usr\/local\/subversion\/bin\/svn&#39;&nbsp;fromRevision=&#39;${fromrev}&#39;&nbsp;toRevision=&#39;${torev}&#39;&nbsp;force=&#39;true&#39;&nbsp;username=&#39;${svnuser}&#39;&nbsp;password=&#39;${svnpassword}&#39;&nbsp;repositoryurl=&#39;${svnroot}&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/target&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;target&nbsp;name=&#39;lint&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;phplint&nbsp;haltOnFailure=&#39;true&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fileset&nbsp;dir=&#39;${outputdir}&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name=&#39;**\/*.php&#39;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;\u0444\u0430\u0439\u043b\u044b&nbsp;\u0432&nbsp;pear::php_compat&nbsp;\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c&nbsp;\u0432&nbsp;php5&nbsp;\u043d\u0435&nbsp;\u043d\u0430\u0434\u043e&nbsp;--&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;exclude&nbsp;name=&#39;**\/Php\/Compat\/**\/*.php&#39;&nbsp;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/fileset&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/phplint&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;jslint&nbsp;haltOnFailure=&#39;true&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fileset&nbsp;dir=&#39;${outputdir}&#39;&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;include&nbsp;name=&#39;**\/*.js&#39;\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/fileset&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/jslint&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/target&gt;\r\n&lt;\/project&gt;\r\n<\/pre>\r\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0441\u043e\u043b\u044c, \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u043c <b>phing -f example.xml <\/b> \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u0432\u0430\u0448\u0443 \u0440\u0430\u0431\u043e\u0442\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0437\u0430 \u0432\u0430\u0441 \u0431\u0435\u0437\u0434\u0443\u0448\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430... \r\n<p>\r\n<blockquote>\r\n\u041a\u0441\u0442\u0430\u0442\u0438 \u0433\u043e\u0432\u043e\u0440\u044f, \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043d\u043e \u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e post-commit hook-\u0430 \u043d\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u0438...\r\n<\/blockquote>\r\n<p>\r\n\u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u0411\u0414 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u044b, \u043d\u043e \u0438 \u044d\u0442\u043e, \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0442\u0435\u0441\u044c, \u0443\u0436\u0435 \u043a\u043e\u0435-\u0447\u0442\u043e. \u0410 \u0431\u044b\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0438\u0434\u0435\u0438, \u043a\u0430\u043a \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0411\u0414?","type":"rich"}