å ±ç¨ã¬ãã¸ããªã®ã¬ã¤ã¢ã¦ã =========================== Bazaarã¯å ±ç¨ãã©ã³ãå é¨ã®ãã©ã³ãã®ã¬ã¤ã¢ã¦ããæè»ã«æ±ºããããããã«è¨è¨ããã¾ããã ãã®æè»æ§ã«ãã£ã¦ã¦ã¼ã¶ã¼ã¯Bazaarãèªåã®ã¯ã¼ã¯ããã¼ã«åããããã¨ãã§ãã¾ããã\ "ãã"ã¬ã¤ã¢ã¦ãã¨ã¯ä½ãã¨ãããã¨ãçåã«æã¤ããã«ãªãã¾ãã ããã§ã¯ä»£ããã«ãªããã®ãããã¤ã説æãããããã®å©ç¹ãæ¤è¨ãã¾ãã è¨åãã¹ãéè¦ãªç¹ã¯ããã¬ã¤ã¢ã¦ãã¯"ä¸è¬çãª"ã¦ã¼ã¶ã¼ãç解ã§ããããã« ãã©ã³ãã®å 容ãä½ããã®å½¢ã§ãã¤ã©ã¤ããã¾ãã SVNã«ãã㦠ãã㯠"``trunk/``" ãã©ã³ãã§ããã¨èãããã 大æµã®ã¬ã¤ã¢ã¦ãã§ã¯ãã®å½åè¦ç´ãå®ããã¦ãã¾ãã ããã "``mainline``" ããã㯠"``dev``" ã¨å¼ã¶äººãããã°ã CVSããæ¥ã人ã ã¯ãã°ã "``HEAD``" ã¨è¨åãã¾ãã "SVNå½¢å¼" (``trunk/``, ``branches/``) --------------------------------------- SVNãããã£ã¦ãã人ã ã¯æ¬¡ã®ãããª"æ¨æºçãª"ããã¸ã§ã¯ãã®ã¬ã¤ã¢ã¦ãã«æ £ãã¦ãã¾ã:: repository/ # ãªãã¸ããªå ¨ä½ +- trunk/ # éçºã®ã¡ã¤ã³ã©ã¤ã³ +- branches/ # ã³ã³ãããã£ã¬ã¯ã㪠| +- foo/ # éçºä¸ã®fooæ©è½ç¨ãã©ã³ã | ... +- tags/ # ã³ã³ãããã£ã¬ã¯ã㪠+- release-X # ç¹å®ã®ãªãªã¼ã¹ãã¼ã¸ã§ã³ããã¼ã¯ããããã«å°ç¨ãã©ã³ã ... Bazaarã§ã¯ãããã¯å®å ¨ã«é©åãªã¬ã¤ã¢ã¦ãã§ãã SVNãããã£ã¦æ¥ã人ãæ £ã親ããããã¨ãå©ç¹ã§\ éçºã®ç¦ç¹ãå½ã¦ãå ´æãæ確ã«ãªãã¾ãã åããªãã¸ããªã§è¤æ°ã®ããã¸ã§ã¯ããæã¤ã¨ãã\ SVNã®ã¬ã¤ã¢ã¦ãã¯ä½ãè¡ãã®ãå°ãä¸éæã§ãã ``project/trunk`` ~~~~~~~~~~~~~~~~~ SVNç¨ã®æã¾ããæ¹æ³ã¯ããã¸ã§ã¯ããã¨ã«ã¬ã¤ã¢ã¦ãç¨ã®ãããã¬ãã«ã®ãã£ã¬ã¯ããªãç¨æãããã¨ã§ã:: repository/ # ãªãã¸ããªå ¨ä½ +- project1/ # ã³ã³ãããã£ã¬ã¯ã㪠| +- trunk/ # project1ã®éçºã®ã¡ã¤ã³ã©ã¤ã³ | +- branches/ # ã³ã³ãããã£ã¬ã¯ã㪠| +- foo/ # project1ã®fooæ©è½ã®éçºç¨ãã©ã³ã | ... | +- project2/ # project2ç¨ã®ã³ã³ãã +- trunk/ # project2ç¨ã®ã¡ã¤ã³ã©ã¤ã³ +- branches/ # project2ã®ãã©ã³ãç¨ã®ã³ã³ãã ããã¯Bazaarã§ãæ©è½ãã¾ãã ããããªãããBazaarã§ãªãã¸ããªãä½ãã®ã¯ç°¡åã§( ``bzr init-repo`` )ã ãããã®ä¸»è¦ãªæ©æµãåããããã®ã¯è¤æ°ã®ãã©ã³ããå ±éã®ç¥å ãå ±æããã¨ãã§ãã ã§ãã®ã§Bazaarã«å¯¾ãã¦æã¾ããæ¹æ³ã¯æ¬¡ã®ã¨ããã§ã:: project1/ # project1ç¨ã®ãªãã¸ã㪠+- trunk/ # project1ã®éçºã®ã¡ã¤ã³ã©ã¤ã³ +- branches/ # ã³ã³ãããã£ã¬ã¯ã㪠+- foo/ # project1ã®fooæ©è½ã®éçºç¨ãã©ã³ã ... project2/ # project2ç¨ã®ãªãã¸ã㪠+- trunk/ # project2ç¨ã®ã¡ã¤ã³ã©ã¤ã³ +- branches/ # project2ã®ãã©ã³ãç¨ã®ã³ã³ãã ``trunk/project`` ~~~~~~~~~~~~~~~~~ SVNã§æ¬¡ã®ãããªã¬ã¤ã¢ã¦ããå©ç¨ããããã¸ã§ã¯ãããã¾ã«ããã¾ã:: repository/ # ãªãã¸ããªå ¨ä½ +- trunk/ # ã³ã³ãããã£ã¬ã¯ã㪠| +- project1 # project1ç¨ã®ã¡ã¤ã³ã©ã¤ã³ | +- project2 # project2ç¨ã®ã¡ã¤ã³ã©ã¤ã³ | ... | +- branches/ # ã³ã³ãã +- project1/ # ã³ã³ãã (?) | +- foo # project1ã®'foo'ãã©ã³ã +- project2/ +- bar # project2ã®'bar'ãã©ã³ã 次ã®ã¬ã¤ã¢ã¦ãã¯ã¡ãã£ã¨å¤å½¢ããããã®ã§ã:: repository/ # ãªãã¸ããªå ¨ä½ +- trunk/ # ã³ã³ãããã£ã¬ã¯ã㪠| +- project1 # project1ç¨ã®ã¡ã¤ã³ã©ã¤ã³ | +- project2 # project2ç¨ã®ã¡ã¤ã³ã©ã¤ã³ | ... | +- branches/ # ã³ã³ãã +- project1-foo/ # project1ã®'foo'ãã©ã³ã +- project2-bar/ # project2ã®'bar'ãã©ã³ã "``trunk/``" å ¨ä½ããã§ãã¯ã¢ã¦ããããã¨ã§ããã¹ã¦ã®ããã¸ã§ã¯ãç¨ã®\ ã¡ã¤ã³ã©ã¤ã³ãå ¥æã§ããããã«ãããã¨ãããã®ã¬ã¤ã¢ã¦ããæ¡ç¨ããã¦ããçç±ã ã¨\ çè ã¯èãã¾ãã ãã®ã¬ã¤ã¢ã¦ãã¯Bazaarã§ã使ãã¾ãããä¸è¬çã«ãå§ãã§ãã¾ããã 1) ä¸åã® ``bzr branch/checkout/get`` ã¯ä¸ã¤ã®ãã©ã³ããä½ãã¾ãã åç¬ã®ã³ãã³ãã§ãã¹ã¦ã®ã¡ã¤ã³ã©ã¤ã³ãå ¥æããå©ç¹ãå¾ããã¾ããã [1]_ 2) ``repository/trunk/foo`` ã ``foo`` ããã¸ã§ã¯ãã® ``trunk`` ã ``trunk`` ãã©ã³ãã®åãªã ``foo`` ãã£ã¬ã¯ããªãªã®ãæããã§ã¯ããã¾ããã ãã®æ··ä¹±ã®ä¸é¨ã¯SVNã«ãããã®ã§ãã SVNã¯ããã¸ã§ã¯ãã®ãã©ã³ãç¨ã«ä½¿ã1ã¤ã®ããã¸ã§ã¯ãã®ãã¡ã¤ã«ã«å¯¾ãã¦åã"åå空é"ã使ãããã§ãã Bazaarã«ããã¦ãããã¸ã§ã¯ããæ§æãããã¡ã¤ã«ã®æ確ãªå®ç¾©ããããã¯ãã©ã³ãã®ä½ç½®ã®å¯¾ç«è»¸ãããã¾ã (ãã©ã³ããã¨ã«å¯ä¸ã® ``.bzr/`` ãã£ã¬ã¯ããªãããã§ãã¯ã¢ã¦ãã®ä¸ã«ããããã® ``.svn/`` ãã£ã¬ã¯ããªãã¨ãã対ç«è»¸ã§ã) .. [1] 注: `NestedTreeSupport`_ ã¯"ã¡ã¿ããã¸ã§ã¯ã"ãä½æããæ¹æ³ãæä¾ãã¾ãã ã¡ã¿ããã¸ã§ã¯ãã¯ãªãã¸ããªã®ã¬ã¤ã¢ã¦ãã«ãããããè¤æ°ã®ããã¸ã§ã¯ããéç´ãã¾ãã 1ã¤ã®ããã¸ã§ã¯ãã ``bzr checkout`` ããã°ãå¿ è¦ãªãµãããã¸ã§ã¯ãããã¹ã¦æã«å ¥ãã¾ãã .. _NestedTreeSupport: http://wiki.bazaar.canonical.com/NestedTrees å ¥ãåå½¢å¼ (``project/branch/sub-branch/``) --------------------------------------------- SVNã§ã¯ã§ããªããBazaarã«ããå¥ã®ã¹ã¿ã¤ã«ã¯ããã©ã³ãå士ã\ å ¥ãåã«ãããã¨ã§ãã Bazaarã¯ä½æ¥ããªã¼ãªãã®ãªãã¸ããªä½æ(``--no-trees``)ããµãã¼ã\ (ã¨æ¨å¥¨)ãã¦ããã®ã§ãã®ã¹ã¿ã¤ã«ãå¯è½ã«ãªãã¾ãã ä½æ¥ãã¡ã¤ã«ã¯ãã©ã³ãã®è¨ç½®å ´æã«æ··ãããã¦ããªãã®ã§ã 好ããªåå空éã«ãã©ã³ããè¨ç½®ã§ãã¾ãã 1ã¤ã®å¯è½æ§ã¯æ¬¡ã®ã¨ããã§ã:: project/ # ãªãã¸ããªå ¨ä½ã*ã¨* ããã¸ã§ã¯ãã®ã¡ã¤ã³ã©ã¤ã³ã®ãã©ã³ã + joe/ # éçºè Joeã®éçºã®ãã©ã¤ããªãã©ã³ã | +- feature1/ # éçºè Joeã®feature1éçºãã©ã³ã | | +- broken/ # feature1ãéçºããããã®ã¹ãã¼ã¸ã³ã°ãã©ã³ã | +- feature2/ # Joeã®feature2éçºãã©ã³ã | ... + barry/ # Barryã®éçºãã©ã³ã | ... + releases/ +- 1.0/ +- 1.1.1/ ãã®ã¬ã¤ã¢ã¦ãã®ã¢ã¤ãã£ã¢ã¯ãã©ã³ãç¨ã®é層çãªã¬ã¤ã¢ã¦ããä½ããã¨ã§ãã å¤æ´ã¯ããã¦ãããä¸ä½ã®åå空éã®ãã©ã³ãã¸ã¨æµãã¦ããã¾ãã ã¾ãããã®ã¬ã¤ã¢ã¦ãã§ã¯ã¦ã¼ã¶ã¼ã«ç¬èªã®ä½æ¥ãããããã®å ´æãæä¾ãã¾ãã ãã®ã¬ã¤ã¢ã¦ãã®ç´ æ´ãããç¹ã®1ã¤ã¯ãã°ãã¼ãã«ãª ``branches`` åå空éã\ æ£ããããã«ãããã©ã³ããç½®ããã®ã§ããã©ã³ãä½æã"æ軽"ã«ãªããã¨ã§ãã ãã®ã¬ã¤ã¢ã¦ãã®ããä¸ã¤ã®å©ç¹ã¯ããã©ã³ãã®ååã®ä¸ã§è©³ç´°ãªå 容ãæå®ããéã«\ ç¹°ãè¿ããæ¸ããã¨ã§ãã ä¾ã§ã:: bzr branch http://host/repository/project/branches/joe-feature-foo-bugfix-10/ ä¸ã¨ä¸ãæ¯è¼ãã¾ã:: bzr branch http://host/project/joe/foo/bugfix-10 ã¾ãã ``repository/project/branches/`` ãã£ã¬ã¯ããªã®ä¸ã®ãªã¹ãããããä½ããããããããã¾ãã:: barry-feature-bar/ barry-bugfix-10/ barry-bugfix-12/ joe-bugfix-10/ joe-bugfix-13/ joe-frizban/ Versus ãããã£ããã©ã³ããéçºè ã®ãã£ã¬ã¯ããªã«åæ£ãã¦ããã ãã©ã³ãã®æ°ãå°ãªããã°ã ``branches/`` ã¯ä¸è¦ããã ãã§ãã¹ã¦ã®\ ãã©ã³ããè¦ããã¨ããç´ æ´ãããå©ç¹ãããã¾ãã ãã©ã³ãã®æ°ãå¤ããã°ã ``branches/`` ã¯ãã¹ã¦ã®ãã©ã³ãã\ è¦ãã¦ãã¾ãã¨ããã¯ã£ããããæ¬ ç¹ãããã¾ãã (調ã¹ããã©ã³ãã100ããã¨ããèå³ã®ãããã©ã³ããè¦ã¤ããã®ãé£ãããªãã¾ã)ã å ¥ãåãã©ã³ãã¯ããããã®ãã©ã³ããããã¹ã±ã¼ã©ãã«ã®ããã§ãã ããããªãããããããã®åå¥ã®ãã©ã³ãã¯è¦ã¤ãã«ããã§ãã (ãã¨ãã°"Joeã¯fooæ©è½ãã©ã³ãã§ãã°ä¿®æ£10ã«åãçµãã§ããã®ãã\ ããã¨ãbarã®æ©è½ãã©ã³ããåãçµãã§ããã®ãï¼") ä»ã®å°ããªå©ç¹ã¯æ¬¡ã®ãããªãã®ã§ã:: bzr branch http://host/project/release/1/1/1 ããã㯠bzr branch http://host/project/release/1/1/2 1.1.1ã¨1.1.2ã®ãªãªã¼ã¹ã示ãã¾ãã ããã¯ãªãªã¼ã¹ããæ°ã¨ä¸åº¦ã«è¦ãããè½åãããåå²ããæ¹ãã²ã¤ã³ãå¤ããã«ããã¾ãã ã¹ãã¼ã¿ã¹ã«ãã種é¡åã (``dev/``, ``merged/``, ``experimental/``) --------------------------------------------------------------------- ãã©ã³ããbreak upããä»ã®æ¹æ³ã¯ããããç¾å¨ã®ã¹ãã¼ã¿ã¹é ã§ã½ã¼ããããã¨ã§ãã ããããã¨ã¬ã¤ã¢ã¦ãã¯æ¬¡ã®ããã«ãªãã¾ã:: project/ # ã¬ã¤ã¢ã¦ãå ¨ä½ +- trunk/ # éçºã«ç¦ç¹ãå½ã¦ããã©ã³ã +- dev/ # é²è¡ä¸ã®ä½æ¥ç¨ã³ã³ãããã£ã¬ã¯ã㪠| +- joe-feature1 # Joeã®ç¾å¨ã®feature-1ãã©ã³ã | +- barry-bugfix10 # bugfix 10ã«å¯¾ããBarryã®ä½æ¥å 容 | ... +- merged/ # ãããã®ãã©ã³ãããã¼ã¸ããããã¨ã示ãã³ã³ãã | +- bugfix-12 # ãã§ã«ãã¼ã¸ããããã°ä¿®æ£ +- abandonded/ # 'dead-end'ã¨è¦ãªããã¦ãããã©ã³ã ããã¯ããããã®å©ç¹ã¨æ¬ ç¹ãããã¾ãã ãã¾ãå¤ããªãæ°ã®ã¢ã¯ãã£ãã«éçºããã¦ãããã©ã³ããè¦ããã¨ãã§ãããã\ ä»ã¾ã§ã«ä½ãããå ¨ã¦ã®ãã©ã³ããè¦ãããã¨ããéããããã¾ãã å¤ããã©ã³ãã¯åé¤ããªãéã失ããã¾ããããå¥ãã£ã¬ã¯ããªã¸ã¨æ´çãããã®ã§\ ããã¦ãã®å ´åãç®å½ã¦ã®ãã©ã³ããè¦ã¤ãããããªãã¾ãã (å対ã«ãå¤ããã©ã³ãã¯è¦ã¤ãã«ãããªãã¾ã)ã ãã®ã¬ã¤ã¢ã¦ãã§æ大ã®æ¬ ç¹ããã©ã³ãã移åãããã¨ã§ãã 誰ãã ``project/dev/new-feature`` ãã©ã³ãããã©ãã¼ãã¦ããã¨ãã ãã®ãã©ã³ãã ``trunk/`` ã«ãã¼ã¸ããã㨠``project/merged/new-feature`` ã«ç§»åããã®ã§ ``bzr pull`` ãçªç¶æ©è½ããªããªãã¾ãã ãã®åé¿çã¯ããã¤ãããã¾ãã 1ã¤ã¯å©ç¨è ãå°ãããã«å¤ããã©ã³ãããæ°ãããã©ã³ãã«ãªã¯ã¨ã¹ããã\ HTTPãªãã¤ã¬ã¯ãã使ããã¨ã§ãã ``bzr`` >= 0.15 ã§ã¯ã¦ã¼ã¶ã¼ã« ``http://old/path ã http://new/path`` ã«ãªãã¤ã¬ã¯ãããããã¨ãæãã¦ããã¾ãã ããããªãããHTTP以å¤ã®æ¹æ³(SFTPããã¼ã«ã«ãã¡ã¤ã«ã·ã¹ãã ããªã©)ã\ éãã¦ãã©ã³ãã«ã¢ã¯ã»ã¹ãã¦ããå ´åã¯å½¹ã«ç«ã¡ã¾ããã ä¸æçãªãªãã¤ã¬ã¯ãç¨ã«ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ãããã¨ãå¯è½ã§ã (ã·ã³ããªãã¯ãªã³ã¯ããªãã¸ããªå ã«ããéããã©ãã«ã¯ã»ãã®ãããããããã¾ãã)ã ããããã·ã³ããªãã¯ãªã³ã¯ãçµå±åé¤ããããªã£ãããæ£ä¹±ã®åæ¸ã®æ©æµãå¾ããã¾ããã ã·ã³ããªãã¯ãªã³ã¯ã®ä»£ããã®å¥ã®å¯è½æ§ã¯ ``BranchReference`` ã使ããã¨ã§ãã ``bzr`` ã³ãã³ããéãã¦ããããä½ãã®ã¯ç¾æç¹ã§ã¯é£ããã§ããã便å©ã ã¨æã人ãããã°å¤ããããããã¾ããã ããã¯å®éã«ã¯ `Launchpad`_ ã ``bzr checkout https://launchpad.net/bzr`` ãã§ããããã«ãã¦ããæ¹æ³ã§ãã ``BranchReference`` ã¯æ©è½çã«ã¯ã·ã³ããªãã¯ãªã³ã¯ã§ãããä»ã®URLã®åç §ãã§ãã¾ãã ç¸å¯¾ãã¹ã«ããåç §ãã§ããããã«æ¡å¼µãããã°ãHTTPãSFTPããã¼ã«ã«ãã¹ãéãã¦ã\ åä½ããã§ãããã .. _Launchpad: https://launchpad.net æ¥ä»/ãªãªã¼ã¹/ãã®ä»ã§ç¨®é¡åã (``2006-06/``, ``2006-07/``, ``0.8/``, ``0.9``) ------------------------------------------------------------------------------ ã¹ã±ã¼ã©ããªãã£ãå¯è½ã«ããå¥ã®æ¹æ³ã¯"ç¾å¨ã®"ãã©ã³ãã®ãã©ã¦ã¸ã³ã°ã許å¯ãããã¨ã§ãã åºæ¬çã«ãæ´»çºã«éçºããããã©ã³ãã¯æ°ããä½ããå¤ããã©ã³ãã¯ãã¼ã¸ãããã¯\ å»æ£ããããã¨ãåæã¨ãã¾ãã åºæ¬çã«æ¥ä»ã¬ã¤ã¢ã¦ãã¯æ¬¡ã®ããã«ãªãã¾ã:: project/ # projectãªãã¸ããªå ¨ä½ +- trunk/ # ä¸è¬çãªã¡ã¤ã³ã©ã¤ã³ +- 2006-06/ # ãã®æã«ä½æããããã©ã³ãç¨ã®ãã£ã¬ã¯ããªã®ã³ã³ãã | +- feature1/ # "project"ã®"feature1"ç¨ãã©ã³ã | +- feature2/ # "project"ã®"feature2"ç¨ãã©ã³ã +- 2005-05/ # ç°ãªãæã«ä½æããããã©ã³ãç¨ã®ã³ã³ãããã£ã¬ã¯ã㪠+- feature3/ ... ãã㯠"ç§ã®æ°ãããã©ã³ããã©ãã«è¨ç½®ããã°ããã®ï¼" ã¨ãã質åã«ç´ æ©ãçãã¦ããã¾ãã æ©è½ãé·æééçºãããã®ã§ããã°ããã©ã³ããææ°ã®æ¥ä»ã«ã³ãã¼ãã¦ã\ ããã§ä½æ¥ãç¶ãããã¨ãéçã«ããªã£ã¦ãã¾ãã ææ°ã®æ¥ä»ã¨ãããããã®ããã®ã¼ã£ã¦ãããã¨ã§æ´»çºãªãã©ã³ããè¦ã¤ãããã¨ãã§ãã¾ãã (å°ããªæ¬ ç¹ã¯ 大æµã®ãã£ã¬ã¯ããªãªã¹ãã¯å¤ãé ã«ã½ã¼ãããã¦ããã®ã§ã\ å¤ãã®å ´åæ°ãããã©ã³ãã«ãã©ãçãããã«ä½è¨ãªã¹ã¯ãã¼ã«ãå¿ è¦ã«ãªããã¨ã§ã)ã å¤ããã©ã³ããæ°ããä½ç½®ã«ã³ãã¼ããããªãå ´åããã©ã³ããæ¢ãã®ãé¢åã«ãªãã®ãæ¬ ç¹ã§ãã å¥ã®åè£ã¯ããªãªã¼ã¹ãã¿ã¼ã²ããã«ãããã®ã§ã:: project/ # ãªãã¸ããªæ¦è¦ +- trunk/ # ã¡ã¤ã³ã©ã¤ã³ã®éçºãã©ã³ã +- releases/ # ãªãªã¼ã¹ãã©ã³ãç¨ã®ã³ã³ãã | +- 0.8/ # ãªãªã¼ã¹0.8ã®ãã©ã³ã | +- 0.9/ # ãªãªã¼ã¹0.9ã®ãã©ã³ã +- 0.8/ # ãªãªã¼ã¹0.8ãã¿ã¼ã²ããã¨ãããã©ã³ãç¨ã®ã³ã³ãã | +- feature1/ # 0.8ã«ãã¼ã¸ããäºå®ã®"feature1"ç¨ã®ãã©ã³ã | +- feature2/ # "ãªãªã¼ã¹0.8ãã¿ã¼ã²ããã¨ããfeature2"ç¨ã®ãã©ã³ã +- 0.9/ +- feature3/ # ãªãªã¼ã¹0.9ãã¿ã¼ã²ããã¨ãã"feature3"ç¨ã®ãã©ã³ã ãã®æ´¾çã¨ãã¦ããã©ã³ãã ``0.9`` ãã£ã¬ã¯ããªã«å ¥ã£ã¦ãããã¨ã 0.9ã« *åãã* ãã©ã³ãã§ãããã¨ã§ã¯ãªã 0.9 *ãã* æ´¾çãããã©ã³ãã§ãããã¨ãæå³ããããã«\ ãããã¨ãã ``0.8/release`` ã0.8ãã©ã³ãã®å ¬å¼ãªãªã¼ã¹ã§ãããã¨ãæå³ããããã«\ ãããã¨ãèãããã¾ãã ä¸è¬çãªã¢ã¤ãã£ã¢ã¯ãªãªã¼ã¹ãã¿ã¼ã²ããã«ãããã¨ã§ãä½ã®ãã©ã³ãããã¼ã¸\ ãããã®ãå¾ ã£ã¦ããã®ã調ã¹ããã¨ãã§ãã¾ãã ãã®ã¬ã¤ã¢ã¦ãã¯ãã©ã³ãã®ç¶æ (éçºä¸ãªã®ããçµäºãã¦ã¬ãã¥ã¼ãå¾ ã£ã¦ããã®ã)\ ã«é¢ããæ å ±ãæä¾ãã¾ããã ããã¯å±¥æ´ãé ãå¹æããããæ¥ä»ãã¼ã¹ã®ç¨®é¡åãã¨åããããªå©ç¹ã¨æ¬ ç¹ãæã£ã¦ãã¾ãã ã·ã³ãã«ãªéçºè å (``project/joe/foo``, ``project/barry/bar``) ---------------------------------------------------------------- å¥ã®å©ç¨ã§ããã¬ã¤ã¢ã¦ãã¯ãéçºè ãã¨ã«ãã£ã¬ã¯ããªãå²ãå½ã¦ã¦ã\ ãã®ä¸ã«ãã©ã³ãã®ããã®ãµããã£ã¬ã¯ããªãä½ããã¨ã§ãã次ã®ããã«ãªãã¾ã:: project/ # ãªãã¸ããªå ¨ä½ +- trunk/ # ã¡ã¤ã³ã©ã¤ã³ã®ãã©ã³ã +- joe/ # Joeã®ãã©ã³ãç¨ã®ã³ã³ãã | +- foo/ # Joeã®"project"ã®"foo"ãã©ã³ã +- barry/ +- bar/ # Barryã®"project"ã®"bar"ãã©ã³ã ãã®ã¢ã¤ãã¢ã§ã¯ãbranchã¯å ¥ãåã«ãªã£ã¦ããããbranchã¯éçºè ã«ãã£ã¦ã®ã¿\ ã°ã«ã¼ãåããã¾ãã `Launchpad`_ ã§ä½¿ããã¦ããæ´¾çç³»ã¯ãã®ããã«ãªã£ã¦ãã¾ã:: repository/ +- joe/ # Joeã®ãã©ã³ã | +- project1/ # Joeã®ãã©ã³ãã§ãã"project1"ç¨ã®ã³ã³ãã | | +- foo/ # Joeã®"project1"ã®"foo"ãã©ã³ã | +- project2/ # Joeã®"project2"ãã©ã³ãç¨ã®ã³ã³ãã | +- bar/ # Joeã®"project2"ã®"bar"ãã©ã³ã | ... | +- barry/ | +- project1/ # Barryã®"project1"ã®ãã©ã³ãç¨ã®ã³ã³ãã | +- bug-10/ # Barryã®"project1"ã®"bug-10"ãã©ã³ã | ... +- group/ +- project1/ +- trunk/ # "project1"ã«ç¦ç¹ããã¦ãã¡ã¤ã³éçº ãã®ã¬ã¤ã¢ã¦ãã§ã¯ããããã®éçºè ãåãçµãã§ãããã®ãç°¡åã«è¦ããã¨ãã§ãã¾ãã ç¦ç¹ã®ãã©ã³ãã¯"group" ãã£ã¬ã¯ããªã«ä¿åããã¾ãã ããã«ãã£ã¦"ã°ã«ã¼ã"ãåãçµãã§ãããã©ã³ããè¦åãããã¾ãã ããã«ãã£ã¦ç°ãªã人ã ã®ä½æ¥å 容ãããããåé¢ã§ãã¾ããã\ "ããã¸ã§ã¯ãXç¨ã®ãã¹ã¦ã®ãã©ã³ã"ãè¦ã¤ããã®ãé£ãããªãã¾ãã `Launchpad`_ ã¯ãã¼ã¿ãã¼ã¹ããã¯ã¨ã³ããä¼´ãç´ æ´ãããã¦ã§ãã¤ã³ã¿ã¼ãã§ã¤ã¹\ ãæä¾ãã¦ãã¦ã"view"ããã®ã¬ã¤ã¢ã¦ãã®ãããã«è¿½å ãããã¨ã§ãã®æ¬ ç¹ãè£ã£ã¦ãã¾ãã ããã¯ããããã®å人ã "``~/public_html``" ãã£ã¬ã¯ããªãæã¡ãããã§ç¬èªã®\ ã¦ã§ããã¼ã¸ãå ¬éããå人ç¨ãã¼ã ãã¼ã¸ã®ã¢ãã«ã«è¿ãã§ãã ä¸è¬çã«ãéä¸åã®ããã¸ã§ã¯ãç¨ã«å ±ç¨ãªãã¸ããªãä½æããã¨ãã\ å人åä½ã§åå²ãã¦ããããã¸ã§ã¯ãåä½ã«åå²ãããã¨ãæã¾ãªãã§ãããã é常ã¯ããã¸ã§ã¯ãåä½ã§åå²ãã¦ããå人åä½ã§åå²ããã¨ããã§ãããã è¦ç´ ----- æå¾ã«ã誰ã«ã¨ã£ã¦ããã¾ãããå¯ä¸ã®å½åè¦åã¯ããã¾ããã éçºè ã®äººæ°ãæ°ãããã©ã³ããä½æãããé »åº¦ããã©ã³ãã®ã©ã¤ããµã¤ã¯ã«ãªã©ã«\ ãã£ã¦ç°ãªãã¾ãã èªèº«ã«åãããã質åã¯æ¬¡ã®ã¨ããã§ã: 1) 寿å½ã®é·ãå°æ°ã®ãã©ã³ããä½ããããããã¯ããããã®"ãã"æ©è½ãã©ã³ããä½ãã (å ãã¦: ããæ©è½ãã©ã³ãããããã *ä½ããã* ãç¾å¨ã®VCSã§ã¯è¦çãªã®ã§ã§ããªãã®ã§ã¯ãªããï¼) 2) 1人ã§éçºãã¦ããã®ãã大ããªãã¼ã ãï¼ 3) ãã¼ã ã§ããã°ãä¸è¬çã«å ¨å¡ãåæã«åããã©ã³ãã«åãçµããã¨ãè¨ç»ãã¦ãããï¼ ãããã¯äººã ã追跡ãããã¨ãæ³å®ãã"å®å®"ãã©ã³ããæã¤ãã