.. _using-stacked-branches: ÐÑполÑзование ÑÑека веÑок ========================= ЧÑо Ñакое веÑка в ÑÑеке? ------------------------ ÐеÑка в ÑÑеке - ÑÑо веÑка коÑоÑÐ°Ñ Ð·Ð½Ð°ÐµÑ ÐºÐ°Ðº найÑи Ñевизии в дÑÑгой веÑке. ÐеÑка в ÑÑеке Ñ ÑÐ°Ð½Ð¸Ñ ÑолÑко ÑникалÑнÑе Ñевизии, коÑоÑÑе пÑи ÑÑом бÑÑÑÑее ÑоздаваÑÑ Ð¸ они более ÑÑÑекÑÐ¸Ð²Ð½Ñ Ð¿Ð¾ Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÐ¼Ð¾Ð¼Ñ Ð¼ÐµÑÑÑ. Ðо ÑÑим показаÑелÑм ÑÑек веÑок Ð¿Ð¾Ñ Ð¾Ð¶ на ÑазделÑемÑе ÑепозиÑоÑии. ÐонеÑно ÑÑек веÑок Ð¸Ð¼ÐµÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе пÑеимÑÑеÑÑва: * ÐÐ¾Ð²Ð°Ñ Ð²ÐµÑка Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð² абÑолÑÑно дÑÑгом меÑÑе по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð²ÐµÑкой на коÑоÑой она оÑнована как ÑÑек. * Удаление веÑки в ÑÑеке на Ñамом деле ÑдалÑÐµÑ Ñевизии (а не оÑÑавлÑÐµÑ Ð¸Ñ Ð² ÑазделÑемом ÑепозиÑоÑии). * СÑек веÑок более безопаÑен Ñем ÑазделÑемÑе ÑепозиÑоÑии, Ñ.к. ÑепозиÑоÑий на коÑоÑом оÑнован ÑÑек Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ Ð´Ð¾ÑÑÑп ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑазÑабоÑÑиков коÑоÑÑе ÑикÑиÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð° веÑке в ÑÑеке. ÐÑи пÑеимÑÑеÑÑва делаÑÑ ÑÑек веÑок идеалÑнÑм вÑбоÑом Ð´Ð»Ñ ÑазлиÑнÑÑ ÑÑенаÑиев, вклÑÑÐ°Ñ ÑкÑпеÑименÑалÑнÑе веÑки и ÑайÑÑ Ñ Ñ Ð¾ÑÑингом кода. Создание веÑки в ÑÑеке ---------------------- ЧÑо Ð±Ñ ÑоздаÑÑ Ð²ÐµÑÐºÑ Ð² ÑÑеке нÑжно иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ ``stacked`` Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ``branch``. ÐапÑимеÑ:: bzr branch --stacked source-url my-dir ÐдеÑÑ Ð¼Ñ Ñоздадим ``my-dir`` как веÑÐºÑ Ð² ÑÑеке без локалÑнÑÑ Ñевизий. ÐÑли опÑеделено оÑкÑÑÑÐ°Ñ Ð²ÐµÑка ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ ``source-url`` бÑÐ´ÐµÑ Ð¸ÑполÑзована как *оÑнова ÑÑека*. ÐнаÑе ``source-url`` бÑÐ´ÐµÑ *оÑновой ÑÑека*. Создание ÑабоÑего каÑалога в ÑÑеке ----------------------------------- ÐоддеÑжка пÑÑмого ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑабоÑего каÑалога в ÑÑеке ÑкоÑо ожидаеÑÑÑ. Ðока Ð´Ð»Ñ ÑÑого ÑÑебÑеÑÑÑ Ð´Ð²Ð° Ñага: 1. СоздаÑÑ Ð²ÐµÑÐºÑ Ð² ÑÑеке, как опиÑано вÑÑе. 2. ÐонвеÑÑиÑоваÑÑ Ð²ÐµÑÐºÑ Ð² ÑабоÑий каÑалог иÑполÑзÑÑ Ð»Ð¸Ð±Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ``reconfigure``, либо ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ``bind``. ÐÑбликаÑÐ¸Ñ Ð²ÐµÑки в ÑÑеке ------------------------ Ðногие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² болÑÑинÑÑве пÑоекÑов ÑоздаÑÑÑÑ Ð½Ð° оÑнове гоÑовÑÑ Ð²ÐµÑок, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº *оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ ÑазÑабоÑки*, или *ÑекÑÑÐ°Ñ ÑÑабилÑнаÑ*. Создание новой веÑки в ÑÑеке оÑнованной на ÑÐ°ÐºÐ¸Ñ Ð²ÐµÑÐºÐ°Ñ Ð»ÐµÐ³ÐºÐ¾ ÑделаÑÑ Ñ Ð¸ÑполÑзованием ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ``push``:: bzr push --stacked-on reference-url my-url ÐÑа команда ÑоздаÑÑ Ð½Ð¾Ð²ÑÑ Ð²ÐµÑÐºÑ ``my-url``, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¾Ñнована на ``reference-url`` и ÑодеÑжаÑÑ ÑолÑко Ñевизии из ÑекÑÑей веÑки, коÑоÑÑÑ ÐµÑе Ð½ÐµÑ Ð½Ð° веÑке ``reference-url``. ÐÑли локалÑÐ½Ð°Ñ Ð²ÐµÑка бÑла Ñоздана как веÑка в ÑÑеке Ñо Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ ``--stacked`` Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ``push`` и Ñогда веÑка на коÑоÑой бÑÐ´ÐµÑ Ð¾Ñнован ÑÑек бÑÐ´ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð° неÑвно. ÐапÑимеÑ:: bzr branch --stacked source-url my-dir cd my-dir (менÑем, менÑем, менÑем) bzr commit -m "иÑпÑавление оÑибки" bzr push --stacked ÐгÑаниÑÐµÐ½Ð¸Ñ Ð²ÐµÑок в ÑÑеке ------------------------- ÐÐ°Ð¶Ð½Ð°Ñ Ð²ÐµÑÑ ÐºÐ¾ÑоÑÑÑ Ð½Ð°Ð´Ð¾ запомниÑÑ Ð² оÑноÑении веÑок в ÑÑеке - веÑка на коÑоÑой оÑнован ÑÑек должна бÑÑÑ Ð´Ð¾ÑÑÑпна пÑакÑиÑеÑки Ð´Ð»Ñ Ð²ÑÐµÑ Ð¾Ð¿ÐµÑаÑий. ÐонеÑно ÑÑо не пÑоблема еÑли обе веÑки локалÑнÑе, или Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð½Ð° одном ÑеÑвеÑе.