{"id":166769,"date":"2013-01-23T16:29:04","date_gmt":"2013-01-23T12:29:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=166769"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=166769","title":{"rendered":"<span class=\"post_title\">\u041d\u043e\u043c\u0435\u0440 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 SVN \u0432 \u043a\u043e\u0434\u0435 1\u0421 7.7<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c.<\/p>\n<p>  \u0425\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u043a\u043e\u0434 1\u0421 7.7 \u043d\u043e\u043c\u0435\u0440\u0430 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0437 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043a\u043e\u043f\u0438\u0438 SVN.<br \/>  \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0438\u0436\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u0432\u0435\u044f\u043b\u043e <a href=\"http:\/\/habrahabr.ru\/post\/157197\/\">\u0441\u0442\u0430\u0442\u044c\u0435\u0439<\/a>, \u0430\u0432\u0442\u043e\u0440\u0443 \u0432\u044b\u0440\u0430\u0436\u0430\u044e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u0435.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h5>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f<\/h5>\n<p>\u0422\u043e\u0440\u0433\u043e\u0432\u0430\u044f \u0441\u0435\u0442\u044c \u0441\u0440\u0435\u0434\u043d\u0438\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 150 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u043e\u0432), \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u0438\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043f\u0438\u0448\u0435\u043c \u043d\u0430 1\u0421 7.7, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430\u0445 \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u044b\u0435. <br \/>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f SVN \u0441\u0435\u0440\u0432\u0435\u0440 <a href=\"http:\/\/www.collab.net\/downloads\/subversion\">Collabnet Subversion<\/a>, \u043a\u043b\u0438\u0435\u043d\u0442 <a href=\"http:\/\/tortoisesvn.net\/downloads.html\">TurtoiseSVN<\/a>, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\/\u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 1\u0421 <a href=\"http:\/\/1c.alterplast.ru\/gcomp\/\">gComp<\/a>. \u0415\u0441\u0442\u044c 1\u0421\u043d\u0430\u044f \u0431\u0430\u0437\u0430(\u043c\u044b \u0437\u043e\u0432\u0435\u043c \u0435\u0435 \u00ab\u043a\u043e\u043f\u0438\u0440\u043a\u0430\u00bb) \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u00ab\u0440\u0430\u0441\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u043c\u00bb \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430\u043c\u0438. \u041c\u0430\u0433\u0430\u0437\u0438\u043d\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"http:\/\/infostart.ru\/public\/14304\/\">ConfStarter<\/a>&#8216;\u0430. <br \/>  \u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u044b\u0445 Java \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (\u0430\u0432\u0442\u043e\u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f) \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0438 \u043f\u0430\u0440\u0430 bat&#8217;\u043d\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438 \u0438 \u0441 GComp:  <\/p>\n<ul>\n<li><b>Compile.bat<\/b> \u2014 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e MD \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 1cv7.compile.md. \u0415\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443:\n<pre><code class=\"bash\">\t&quot;%GCOMP_PATH%\\gcomp&quot; -c -D .\\REPO -F 1cv7.compile.md&gt;.compile.log\t<\/code><\/pre>\n<p>\u0433\u0434\u0435 REPO \u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0411\u0414<\/li>\n<li><b>Build.bat<\/b> \u2014 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 BUILD \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 Java-\u043f\u0430\u0440\u0441\u0435\u0440\u044b \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u043f\u043e\u0442\u043e\u043c GComp \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 1cv7.build.md, \u0442\u0430\u043a\u0438\u0435 MD\u0448\u043d\u0438\u043a\u0438 \u0438\u0434\u0443\u0442 \u0432 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u044b.<\/li>\n<\/ul>\n<p>\u041a\u0430\u0442\u0430\u043b\u043e\u0433, \u0433\u0434\u0435 \u043e\u043d\u0438 \u0436\u0438\u0432\u0443\u0442, \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0432 PATH, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435 \u044d\u0442\u043e \u0434\u043e\u0431\u0440\u043e \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0411\u0414 1\u0421, \u0447\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0443\u0434\u043e\u0431\u043d\u043e.<\/p>\n<h5>\u041f\u0440\u0438\u0447\u0438\u043d\u0430<\/h5>\n<p>\u0420\u0435\u0434\u043a\u043e, \u043d\u043e \u0432\u0441\u0435 \u0436\u0435 \u0441\u043b\u0443\u0447\u0430\u043b\u0438\u0441\u044c \u043a\u0430\u0437\u0443\u0441\u044b \u2014 \u0442\u043e \u043d\u0435 \u0442\u0443 \u0441\u0431\u043e\u0440\u043a\u0443 (\u0440\u0435\u0432\u0438\u0437\u0438\u044e) \u0437\u0430\u043a\u0438\u043d\u0443\u0442, \u0442\u043e \u043d\u0435 \u0441 \u0442\u043e\u0439 \u0432\u0435\u0442\u043a\u0438, \u0442\u043e \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0441\u044f, \u0438 \u0442.\u043f.<br \/>  \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0437\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u043e\u0432, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u0430\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0431\u043e\u0440\u043a\u0430 \u0432 \u043a\u0430\u043a\u043e\u043c \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.<\/p>\n<h5>\u0418\u0434\u0435\u044f<\/h5>\n<p>\u041f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043a\u043e\u043f\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e TurtoiseSVN, \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0430\u0439\u043b-\u0448\u0430\u0431\u043b\u043e\u043d \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u00ab\u041c\u0430\u0441\u043a\u0430\u0414\u043b\u044f\u041f\u043e\u0438\u0441\u043a\u0430\u00bb = \u00ab\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u0414\u043b\u044f\u0417\u0430\u043c\u0435\u043d\u044b\u00bb \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438-\u043f\u0430\u0440\u0441\u0435\u0440\u0430.<br \/>  \u041f\u0430\u0440\u0441\u0435\u0440 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442 \u0444\u0430\u0439\u043b-\u0448\u0430\u0431\u043b\u043e\u043d \u0438 \u0438\u0449\u0435\u0442 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441 \u043a\u043e\u0434\u043e\u043c. \u041c\u0430\u0441\u043a\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u2014 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438) \u043d\u0430 \u00ab\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u0414\u043b\u044f\u0417\u0430\u043c\u0435\u043d\u044b\u00bb \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435 \u043d\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e. \u0414\u0430\u043b\u0435\u0435 \u0438\u0437 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430 \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0444\u0438\u0441, \u0433\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<h5>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h5>\n<p>\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043a\u043e\u043f\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 &quot;<b>SubWCRev.exe<\/b>&quot; \u0438\u0437 TurtoiseSVN. \u041e\u043d\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0442\u0440\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430:  <\/p>\n<ul>\n<li>\u041f\u0443\u0442\u044c \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043a\u043e\u043f\u0438\u0438 SVN (\u044d\u0442\u043e \u043f\u0430\u043f\u043a\u0430 REPO \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0411\u0414)<\/li>\n<li>\u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443-\u0448\u0430\u0431\u043b\u043e\u043d\u0443 (\u0444\u0430\u0439\u043b <b>shablon.txt<\/b> \u0432 \u043f\u0430\u043f\u043a\u0435 \u0441\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438)<\/li>\n<li>\u041f\u0443\u0442\u044c, \u043a\u0443\u0434\u0430 \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b (\u044f \u043d\u0430\u0437\u0432\u0430\u043b \u0435\u0433\u043e <b>ReplacerSettings.txt<\/b>, \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0411\u0414)<\/li>\n<\/ul>\n<p>  \u0424\u0430\u0439\u043b <b>shablon.txt<\/b> \u0438\u043c\u0435\u0435\u0442 \u0432\u044b\u0448\u0435\u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u00ab\u041c\u0430\u0441\u043a\u0430\u0414\u043b\u044f\u041f\u043e\u0438\u0441\u043a\u0430\u00bb = \u00ab\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u0414\u043b\u044f\u0417\u0430\u043c\u0435\u043d\u044b\u00bb \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438:  <\/p>\n<pre><code>### getSVNRevision=\tReturn &quot;$WCREV$&quot;; getSVNURL=\tReturn &quot;$WCURL$&quot;; getSVNBuildTime=\tReturn &quot;$WCNOW$&quot;; <\/code><\/pre>\n<p>  \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0444\u0430\u0439\u043b, \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0437\u043d\u0430\u043a\u0430\u043c\u0438 $ \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:  <\/p>\n<ul>\n<li>$WCREV$ \u2014 \u041d\u043e\u043c\u0435\u0440 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043a\u043e\u043f\u0438\u0438<\/li>\n<li>$WCURL$ \u2014 \u0430\u0434\u0440\u0435\u0441 \u0432\u0435\u0442\u043a\u0438<\/li>\n<li>$WCNOW$ \u2014 \u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 MD \u0444\u0430\u0439\u043b\u0430.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 <a href=\"http:\/\/tortoisesvn.net\/docs\/nightly\/TortoiseSVN_ru\/tsvn-subwcrev-keywords.html\">\u0442\u0443\u0442<\/a><\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0430-\u043f\u0430\u0440\u0441\u0435\u0440 \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 <a href=\"http:\/\/www.autoitscript.com\/site\/autoit\/downloads\/\">AutoIt<\/a>. \u042f \u043d\u0430\u0437\u0432\u0430\u043b \u0435\u0435 <b>Replacer<\/b>. \u041e\u043d\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430:<\/p>\n<ul>\n<li>\u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 (\u044d\u0442\u043e <b>ReplacerSettings.txt<\/b>) <\/li>\n<li>\u043f\u0443\u0442\u044c \u0434\u043e \u0444\u0430\u0439\u043b\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (\u044d\u0442\u043e \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439\u041c\u043e\u0434\u0443\u043b\u044c.1s)<\/li>\n<\/ul>\n<p>  \u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ### \u0434\u043b\u044f \u00ab\u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u0434\u0443\u0440\u0430\u043a\u0430\u00bb \u2014 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 <b>shablon.txt<\/b>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 Replacer&#39;\u0430:<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>#include &quot;file.au3&quot; ;$CmdLine[0] - \u044d\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.  if $CmdLine[0] &lt;2 Then     MsgBox(0,&quot;error!&quot;,&quot;Replacer have not all params!&quot;) \tExit  EndIf   ;\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435  Global $SettingsFilePath = $CmdLine[1] Global $WorkFilePath = $CmdLine[2]  ;\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a if FileExists ( $SettingsFilePath) = 0 Then  MsgBox(0, &quot;Error&quot;, &quot;Settings File is not exist!.&quot;)  exit EndIf  ;\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b \u0441 \u043a\u043e\u0434\u043e\u043c if FileExists ( $WorkFilePath ) = 0 Then  MsgBox(0, &quot;Error&quot;, &quot;Global Module File is not exist!.&quot;) exit EndIf  ;\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a   Local $Settingsfile = openFile($SettingsfilePath, 0)  Local $T = FileRead($SettingsFilePath,3)  if $T &lt;&gt; &quot;###&quot; Then \tMsgBox(0,&quot;Error in the settings file!&quot;,&quot;Settings file not have in first line a secure code ###&quot;)    Exit  EndIf \t \t;\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b    While 1    ;\u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a    Local $line = FileReadLine($Settingsfile)     ;\u0415\u0441\u043b\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e, \u0442\u043e \u0432\u044b\u0445\u043e\u0434\u0438\u043c \tIf @error = -1 Then ExitLoop    ;\u0418\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \tLocal $SeparatorPos = StringInStr($line, &quot;=&quot;) \tif $SeparatorPos = 0 Then \t   ;\u0415\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0448\u043b\u0438 - \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \t   ContinueLoop \tEndIf    ;\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430    Local $find = getFindString($line)    ;\u0418 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b    Local $replace = getReplaceString($line) \t;\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435        ___ReplaceStringInFile($WorkFilePath,$find,$replace)    WEnd   FileClose($Settingsfile) ;\u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0414\u0430\u043b\u0435\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 exit   ;\u0412 \u0444\u0430\u0439\u043b\u0435 &quot;file.au3&quot; \u044f \u043d\u0430\u0448\u0435\u043b \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043c\u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435. ;\u041e\u043d\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u0444\u0430\u0439\u043b, \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a, \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0438\u0441\u043a \u0438 \u0437\u0430\u043c\u0435\u043d\u0430, \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432 \u0444\u0430\u0439\u043b. Func ___ReplaceStringInFile($szFileName, $szSearchString, $szReplaceString, $fCaseness = 0, $fOccurance = 1) \tLocal $iRetVal = 0 \tLocal $nCount, $sEndsWith \t; Check if file is readonly .. \tIf StringInStr(FileGetAttrib($szFileName), &quot;R&quot;) Then Return SetError(6, 0, -1) \t;=============================================================================== \t;== Read the file into an array \t;=============================================================================== \tLocal $hFile = FileOpen($szFileName, $FO_READ) \tIf $hFile = -1 Then Return SetError(1, 0, -1) \tLocal $s_TotFile = FileRead($hFile, FileGetSize($szFileName)) \tIf StringRight($s_TotFile, 2) = @CRLF Then \t\t$sEndsWith = @CRLF \tElseIf StringRight($s_TotFile, 1) = @CR Then \t\t$sEndsWith = @CR \tElseIf StringRight($s_TotFile, 1) = @LF Then \t\t$sEndsWith = @LF \tElse \t\t$sEndsWith = &quot;&quot; \tEndIf \tLocal $aFileLines = StringSplit(StringStripCR($s_TotFile), @LF) \tFileClose($hFile) \t;=============================================================================== \t;== Open the output file in write mode \t;=============================================================================== \tLocal $iEncoding = FileGetEncoding($szFileName) \tLocal $hWriteHandle = FileOpen($szFileName, $iEncoding + $FO_OVERWRITE) \tIf $hWriteHandle = -1 Then Return SetError(2, 0, -1) \t;=============================================================================== \t;== Loop through the array and search for $szSearchString \t;=============================================================================== \tlocal $needReplace = 0 \tFor $nCount = 1 To $aFileLines[0] \t  ;\u0442\u0443\u0442 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0437\u0430\u043c\u0435\u043d\u044b \u0441\u0442\u0440\u043e\u043a\u0438 \t  if $needReplace = 1 Then \t\t;\u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u0446\u0438\u043a\u043b\u0430 \t\t$aFileLines[$nCount] = $szReplaceString \t\t ExitLoop \t  EndIf \t  ;\u0415\u0441\u043b\u0438 \u043d\u0430\u0448\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \t\tIf StringInStr($aFileLines[$nCount], $szSearchString, $fCaseness) Then \t\t\t;\u0422\u0443\u0442 \u044f \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \t\t\t;$aFileLines[$nCount] = StringReplace($aFileLines[$nCount], $szSearchString, $szReplaceString, 1 - $fOccurance, $fCaseness) \t\t\t;&quot;\u0412\u043a\u043b\u044e\u0447\u0430\u044e&quot; \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e needReplace \u0438 \u043f\u0440\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0430. \u041a\u0430\u043a \u0440\u0430\u0437 \u0442\u043e \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e. \t\t\t$needReplace = 1 \t \t\t\t$iRetVal = $iRetVal + 1  \t\t\t;====================================================================== \t\t\t;== If we want just the first string replaced, copy the rest of the lines \t\t\t;== and stop \t\t\t;====================================================================== \t\t\tIf $fOccurance = 0 Then \t\t\t\t$iRetVal = 1 \t\t\t\tExitLoop \t\t\tEndIf \t\t EndIf \tNext \t;=============================================================================== \t;== Write the lines back to original file. \t;=============================================================================== \tFor $nCount = 1 To $aFileLines[0] - 1 \t\tIf FileWriteLine($hWriteHandle, $aFileLines[$nCount]) = 0 Then \t\t\tFileClose($hWriteHandle) \t\t\tReturn SetError(3, 0, -1) \t\tEndIf \tNext \t; Write the last record and ensure it ends with the same as the input file \tIf $aFileLines[$nCount] &lt;&gt; &quot;&quot; Then FileWrite($hWriteHandle, $aFileLines[$nCount] & $sEndsWith) \tFileClose($hWriteHandle)  \tReturn $iRetVal EndFunc  ;\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b Func openFile($FilePath,$mode) Local $file = FileOpen($FilePath, $mode) If $file = -1 Then     MsgBox(0, &quot;Error&quot;, &quot;Unable to open file.&quot; $FilePath)    exit  Else \t Return $file EndIf    EndFunc  ;\u0438\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u0441\u0435, \u0447\u0442\u043e \u0434\u043e \u043d\u0435\u0433\u043e Func getFindString($inString) \tReturn StringLeft($inString, StringInStr($inString, &quot;=&quot;)-1)  EndFunc   ;\u0410 \u0442\u0443\u0442 \u0432\u0441\u0435, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0433\u043e Func getReplaceString($inString) \tReturn StringRight($inString, StringLen($inString)- StringInStr($inString, &quot;=&quot;)) EndFunc <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u044f \u0441\u043e\u0437\u0434\u0430\u043b bat&#8217;\u043d\u0438\u043a &quot;<b>getRevision.bat<\/b>&quot;, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0432 \u043d\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c (\u044d\u0442\u043e BUILD \u0438\u043b\u0438 REPO).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 getRevision.bat:<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">REM \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u043f\u043e\u0436\u0430\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043a\u0438 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 if not exist .\\REPO (     echo FAIL: REPO folder isn't exist!  \tpause     exit \/b 1 \t) REM \u0438 \u0444\u0430\u0439\u043b\u0430-\u0448\u0430\u0431\u043b\u043e\u043d\u0430. if not exist &quot;%~dp0\\shablon.txt&quot; (     echo FAIL: Shablon isn't exist!  \tpause     exit \/b 2 \t) \t REM \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c SubWCRev.exe, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0435\u0440\u0430 &quot;c:\\Program Files\\TortoiseSVN\\bin\\SubWCRev.exe&quot; .\\REPO &quot;%~dp0\\shablon.txt&quot; .\\ReplacerSettings.txt -f REM \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0430\u0440\u0441\u0435\u0440, \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u0435 &quot;%~dp0\\Replacer.exe&quot; &quot;.\\ReplacerSettings.txt&quot; &quot;%1\\\u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439\u041c\u043e\u0434\u0443\u043b\u044c.1s&quot; REM \u0432\u044b\u043f\u0438\u043b\u0438\u0432\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0435\u0440\u0430 del &quot;.\\ReplacerSettings.txt&quot;<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412\u044b\u0437\u043e\u0432 <b>getRevision.bat<\/b> \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 <b>Build.bat<\/b>, \u0430 \u0442\u0430\u043a \u043a\u0430\u043a <b>Build.bat<\/b> \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 BUILD \u0438 \u043e\u043d\u0430 \u0436\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0434\u043b\u044f <b>getRevision.bat<\/b> \u043f\u043e\u0434\u043c\u0435\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 REPO \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 SVN, \u0447\u0442\u043e \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e.<br \/>  \u041f\u043e \u043f\u0440\u043e\u0441\u044c\u0431\u0435 \u043a\u043e\u043b\u043b\u0435\u0433 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 bat&#8217;\u043d\u0438\u043a \u2014 <b>\u0421ompileSVN.bat<\/b><br \/>  \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044e, \u043e\u043d \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u043e\u0434\u043c\u0435\u043d\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e. \u0415\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435:  <\/p>\n<pre><code class=\"bash\">@echo \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 SVN \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c... @echo off call getrevision.bat .\\REPO @echo \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 REPO \u0432 1cv7.compile.md... &quot;%GCOMP_PATH%\\gcomp&quot; -c -D .\\REPO -F 1cv7.compile.md&gt;.compile.log<\/code><\/pre>\n<p><b>Compile.bat<\/b> \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u0430\u0440\u0441\u0435\u0440\u0443 \u0431\u044b\u043b\u043e \u0447\u0442\u043e \u0438\u0441\u043a\u0430\u0442\u044c, \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u00ab\u043f\u0443\u0441\u0442\u044b\u0448\u043a\u0438\u00bb  <\/p>\n<pre><code class=\"1c\">\/\/------------------------------------------------- \u0424\u0443\u043d\u043a\u0446\u0438\u044f getSVNRevision() \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \t\u0412\u043e\u0437\u0432\u0440\u0430\u0442 0; \u041a\u043e\u043d\u0435\u0446\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \/\/------------------------------------------------- \u0424\u0443\u043d\u043a\u0446\u0438\u044f getSVNURL() \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \t\u0412\u043e\u0437\u0432\u0440\u0430\u0442 0; \u041a\u043e\u043d\u0435\u0446\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \/\/------------------------------------------------- \u0424\u0443\u043d\u043a\u0446\u0438\u044f getSVNBuildTime() \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \t\u0412\u043e\u0437\u0432\u0440\u0430\u0442 0; \u041a\u043e\u043d\u0435\u0446\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \/\/-------------------------------------------------<\/code><\/pre>\n<h5>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/h5>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <b>CompileSVN.bat<\/b> \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043c\u043c\u0438\u0442\u0435, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<br \/>  (\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b):  <\/p>\n<pre><code class=\"1c\">\/\/------------------------------------------------- \u0424\u0443\u043d\u043a\u0446\u0438\u044f getSVNRevision() \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \tReturn &quot;5135&quot;; \u041a\u043e\u043d\u0435\u0446\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \/\/------------------------------------------------- \u0424\u0443\u043d\u043a\u0446\u0438\u044f getSVNURL() \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \tReturn &quot;https:\/\/\u0441\u0435\u0440\u0432\u0435\u0440:\u043f\u043e\u0440\u0442\/svn\/trunk&quot;; \u041a\u043e\u043d\u0435\u0446\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \/\/------------------------------------------------- \u0424\u0443\u043d\u043a\u0446\u0438\u044f getSVNBuildTime() \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \tReturn &quot;2013\/01\/22 10:35:15&quot;; \u041a\u043e\u043d\u0435\u0446\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \/\/------------------------------------------------- <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u0436\u0435 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0431\u044b\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0434\u043b\u044f \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0433\u043b\u0412\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044cMD_INFO<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"1c\">\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0433\u043b\u0412\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044cMD_INFO() \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \t\u0412\u0440\u0435\u043c\u044f\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439\u0417\u0430\u043f\u0438\u0441\u0438 = &quot;&quot;; \t\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \t\t\u0424\u0421.\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b\u0424\u0430\u0439\u043b\u0430( \u041a\u0430\u0442\u0430\u043b\u043e\u0433\u0418\u0411() + &quot;1CV7.MD&quot;, , , , , \u0412\u0440\u0435\u043c\u044f\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439\u0417\u0430\u043f\u0438\u0441\u0438,  ); \t\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \t\u041a\u043e\u043d\u0435\u0446\u041f\u043e\u043f\u044b\u0442\u043a\u0438; \t\u0422\u0435\u043a\u0441\u0442 = \u0421\u043e\u0437\u0434\u0430\u0442\u044c\u041e\u0431\u044a\u0435\u043a\u0442( &quot;\u0422\u0435\u043a\u0441\u0442&quot; ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443( &quot;###MD Info&quot; ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443( &quot;SVN_Revision: &quot; + getSVNRevision() ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443( &quot;SVN_URL: &quot; + getSVNURL() ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443(  \t\t&quot;SVN_BuildTime: &quot; + \t\t\t\u0421\u0442\u0440\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c( getSVNBuildTime(), &quot;\/&quot;, &quot;.&quot; ) \t\t ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443( &quot;MD_UpdateTime: &quot; + \u0412\u0440\u0435\u043c\u044f\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439\u0417\u0430\u043f\u0438\u0441\u0438 ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443( &quot;### \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b: &quot; ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443( &quot;\u041c\u0430\u0433\u0430\u0437\u0438\u043d: &quot; + \u0421\u043e\u043a\u0440\u041b\u041f( \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430.\u041c\u0430\u0433\u0430\u0437\u0438\u043d ) ); \t\u0422\u0435\u043a\u0441\u0442.\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0421\u0442\u0440\u043e\u043a\u0443( &quot;\u041a\u043e\u0434\u041c\u0430\u0433\u0430\u0437\u0438\u043d\u0430: &quot; + \u0421\u043e\u043a\u0440\u041b\u041f( \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430.\u041a\u043e\u0434\u041c\u0430\u0433\u0430\u0437\u0438\u043d\u0430 ) ); \t\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \t\t\u0422\u0435\u043a\u0441\u0442.\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c(  \t\t\t\u0433\u043b\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u041f\u0430\u043f\u043a\u0443\u041e\u0431\u043c\u0435\u043d\u0430_\u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435() + \t\t\t\t&quot;\\&quot; + \t\t\t\t\u0433\u043b\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435\u0418\u043c\u044f\u0424\u0430\u0439\u043b\u0430\u0414\u043b\u044f\u041e\u0431\u043c\u0435\u043d\u0430( &quot;MDInfo&quot;, &quot;&quot; ) \t\t\t ); \t\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \t\u041a\u043e\u043d\u0435\u0446\u041f\u043e\u043f\u044b\u0442\u043a\u0438; \u041a\u043e\u043d\u0435\u0446\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412\u044b\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0442 \u0444\u0430\u0439\u043b\u0438\u043a (\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b):  <\/p>\n<pre><code>### MD Info SVN_Revision: 5137 SVN_URL: https:\/\/\u0441\u0435\u0440\u0432\u0435\u0440:\u043f\u043e\u0440\u0442\/svn\/branches\/\u0438\u043c\u044f_\u0432\u0435\u0442\u043a\u0438 SVN_BuildTime: 2013.01.21 13:45:44 MD_UpdateTime: 2013.01.22 05:02:52 ### \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b:  \u041c\u0430\u0433\u0430\u0437\u0438\u043d: \u0418\u043c\u044f_\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430  \u041a\u043e\u0434\u041c\u0430\u0433\u0430\u0437\u0438\u043d\u0430: 24  <\/code><\/pre>\n<p>  \u0424\u0430\u0439\u043b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443 \u0434\u043b\u044f \u043e\u0431\u043c\u0435\u043d\u0430, \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0430 FTP \u0441\u0435\u0440\u0432\u0435\u0440. \u041e\u0442\u0442\u0443\u0434\u0430 \u043d\u0430\u0448\u0430 \u0431\u0430\u0437\u0430 \u00ab\u041a\u043e\u043f\u0438\u0440\u043a\u0430\u00bb \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u0431\u0430\u0437\u0443. <\/p>\n<p>  \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0431\u044b\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0438\u043d\u0441\u0442\u0430\u043b\u044f\u0442\u043e\u0440 <a href=\"http:\/\/www.jrsoftware.org\/isdl.php\">inno setup<\/a>, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u2014 \u0442\u0430\u043c \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0439 help.<\/p>\n<p>  \u041f\u0440\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u044f\u0445 \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0432\u043f\u043e\u043b\u043d\u0435 \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u043f\u043e\u0441\u043e\u0431\u0438\u0442\u044c \u043f\u043e\u0434 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435. \t\t\t \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/166769\/\"> http:\/\/habrahabr.ru\/post\/166769\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c.<\/p>\n<p>  \u0425\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u043a\u043e\u0434 1\u0421 7.7 \u043d\u043e\u043c\u0435\u0440\u0430 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0437 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043a\u043e\u043f\u0438\u0438 SVN.<br \/>  \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0438\u0436\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u0432\u0435\u044f\u043b\u043e <a href=\"http:\/\/habrahabr.ru\/post\/157197\/\">\u0441\u0442\u0430\u0442\u044c\u0435\u0439<\/a>, \u0430\u0432\u0442\u043e\u0440\u0443 \u0432\u044b\u0440\u0430\u0436\u0430\u044e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u0435.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-166769","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/166769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=166769"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/166769\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=166769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=166769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=166769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}