Next: CVSROOT storage, Previous: CVS in repository, Up: Repository storage [Contents][Index]
ÍøÍѼԤ«¤é¸«¤¨¤ëÉôʬ¤Î CVS ¤Î¥í¥Ã¥¯¤Ë¾ÇÅÀ¤ò¤¢¤Æ¤¿¾Ò²ð¤Ï Concurrency ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤ÎÉôʬ¤ÏƱ¤¸¥ê¥Ý¥¸¥È¥ê¤ò¥¢¥¯¥» ¥¹¤¹¤ë¾¤Î¥Ä¡¼¥ë¤Ë´³¾Ä¤¹¤ë¤³¤È¤Ê¤¯ CVS ¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤è¤¦ ¤Ê¥Ä¡¼¥ë¤ò½ñ¤¤¿¤¤¿Í¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£ÆÉ¤ß¹þ¤ß¥í¥Ã¥¯ (read lock), ½ñ¤¹þ¤ß¥í¥Ã¥¯ (write lock), ¥Ç¥Ã ¥É¥í¥Ã¥¯ (deadlock) ¤Î¤è¤¦¤Ê³µÇ°¤¬¤è¤¯¤ï¤«¤é¤Ê¤«¤Ã¤¿¤é¡¢¥ª¥Ú¥ì¡¼ ¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îʸ¸¥¤ò»²¾È¤¹¤ë¤ÈÎɤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¥ê¥Ý¥¸¥È¥êÃæ¤Î #cvs.rfl. ¤Ç»Ï¤Þ¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤ÏÆÉ¤ß¹þ¤ß¥í¥Ã¥¯ ¤Ç¤¹¡£¥ê¥Ý¥¸¥È¥êÃæ¤Î #cvs.wfl ¤Ç»Ï¤Þ¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï½ñ¤¹þ¤ß ¥í¥Ã¥¯¤Ç¤¹¡£¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î CVS (CVS 1.5 °ÊÁ°) ¤Ï #cvs.tfl ¤Ç »Ï¤Þ¤ë̾Á°¤Î¥Õ¥¡¥¤¥ë¤âºîÀ®¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤³¤³¤Ç¤Ï¤½¤ì¤é¤ÏµÄÏÀ¤·¤Þ¤»¤ó¡£ ¥Ç¥£¥ì¥¯¥È¥ê #cvs.lock ¤Ï¥Þ¥¹¥¿¡¼¥í¥Ã¥¯¤È¤·¤ÆÆ¯¤¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢ ¾¤Î¥í¥Ã¥¯¤ò¼èÆÀ¤¹¤ëÁ°¤Ë¡¢¤Þ¤º¤³¤Î¥í¥Ã¥¯¤ò¼èÆÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤¤ ¤¦¤³¤È¤Ç¤¹¡£
½ñ¤¹þ¤ß¥í¥Ã¥¯¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤Þ¤º #cvs.lock ¥Ç¥£¥ì¥¯¥È¥ê¤ò ºîÀ®¤·¤Þ¤¹¡£¤³¤ÎÁàºî¤Ï¸¶»ÒŪÁàºî¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¤³¤ì¤Ï¤¿¤¤¤Æ¤¤¤Î ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¿¿¤Î¤Ï¤º¤Ç¤¹)¡£ ´û¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤¿¤¿ ¤á¤Ë¼ºÇÔ¤¹¤ì¤Ð¡¢¤·¤Ð¤é¤¯ÂԤäƤ⤦°ìÅٻ¤Þ¤¹¡£#cvs.lock ¥í¥Ã ¥¯¤ò¼èÆÀ¤·¤¿¸å¡¢#cvs.rfl. ¤Î¸å¤ËÁªÂò¤·¤¿¾ðÊó (Î㤨¤Ð¡¢¥Û¥¹¥È̾ ¤È¥×¥í¥»¥¹ÈÖ¹æ) ¤¬Â³¤¤¤¿Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤ì¤«¤é¥Þ¥¹¥¿¡¼¥í¥Ã ¥¯¤ò²òÊü¤¹¤ë¤¿¤á¤Ë #cvs.lock ¥Ç¥£¥ì¥¯¥È¥ê¤ò¾Ãµî¤·¤Þ¤¹¡£¤½¤ì¤«¤é ¥ê¥Ý¥¸¥È¥ê¤òÆÉ¤ó¤Ç³¹Ô¤·¤Þ¤¹¡£½ª¤Ã¤¿¸å¡¢ÆÉ¤ß¹þ¤ß¥í¥Ã¥¯¤ò²òÊü¤¹¤ë¤¿¤á¤Ë #cvs.rfl ¥Õ¥¡¥¤¥ë¤ò¾Ãµî¤·¤Þ¤¹¡£
½ñ¤¹þ¤ß¥í¥Ã¥¯¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ÆÉ¤ß¹þ¤ß¥í¥Ã¥¯¤ÈƱÍͤˤޤº #cvs.lock ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£¤½¤ì¤«¤é #cvs.rfl. ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë¤¬Ìµ¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤Þ¤¹¡£¤â¤·¤¢¤ì¤Ð¡¢#cvs.lock ¤ò¾Ãµî¤·¡¢¤·¤Ð¤é¤¯ÂԤäơ¢¤â¤¦°ìÅٻ¤Þ¤¹¡£ÆÉ¤ß¹þ¤ß¼ê¤¬¤¤¤Ê¤¤¤È¤¤Ï¡¢ #cvs.wfl ¤Î¸å¤ËÁªÂò¤·¤¿¾ðÊó¤ò³¤±¤¿Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹ (Î㤨¤Ð¡¢¥Û¥¹¥È̾¤È¥×¥í¥»¥¹ÈÖ¹æ)¡£¥í¥Ã¥¯ #cvs.lock ¤ò³¤±¤Þ¤¹¡£ ¥ê¥Ý¥¸¥È¥ê¤Ø¤Î½ñ¤¹þ¤ß¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤½¤ì¤¬½ª¤ï¤ë¤È¡¢¤Þ¤º #cvs.wfl ¥Õ¥¡¥¤¥ë¤ò¾Ãµî¤·¡¢¤½¤ì¤«¤é #cvs.lock ¥Ç¥£¥ì¥¯¥È ¥ê¤ò¾Ãµî¤·¤Þ¤¹¡£#cvs.rfl ¥Õ¥¡¥¤¥ë¤È°ã¤Ã¤Æ¡¢#cvs.wfl ¥Õ¥¡ ¥¤¥ë¤Ï¾ðÊóÄ󶡤Τ¿¤á¤À¤±¤Ë¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£#cvs.lock ¤½¤Î¤â¤Î¤Î¥í¥Ã¥¯¤ò³¤±¤ë°Ê¾å¤Î¥í¥Ã¥¯Áàºî¤Î¸ú²Ì¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤½¤ì¤¾¤ì¤Î¥í¥Ã¥¯ (½ñ¤¹þ¤ß¥í¥Ã¥¯µÚ¤ÓÆÉ¤ß¹þ¤ß¥í¥Ã¥¯) ¤Ï Attic ¤È CVS ¤ò´Þ¤ó¤À¥ê¥Ý¥¸¥È¥ê¤ÎñÆÈ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß¤ò¥í¥Ã¥¯¤·¤Þ¤¹¤¬¡¢ ¥Ð¡¼¥¸¥ç¥ó´ÉÍý²¼¤Î¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï´Þ¤Þ¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ÌÚ Á´ÂΤò¥í¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¥í¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ê ¤Þ¤¹ (ɬÍפʥí¥Ã¥¯¤Î¤É¤ì¤«¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤¿¤é¡¢¥Ç¥Ã¥É¥í¥Ã¥¯¤òÈò¤±¤ë¤¿¤á ¤ËºÆÄ©Àï¤ÎÁ°¤ËÌÚÁ´ÂΤò²òÊü¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤)¡£
CVS ¤Ï¸Ä¡¹¤Î foo,v ¥Õ¥¡¥¤¥ë¤Ø¤Î¥¢¥¯¥»¥¹À©¸æ¤Î¤¿¤á¤Ë½ñ¤¹þ ¤ß¥í¥Ã¥¯¤ò´üÂÔ¤¹¤ë¤È¤¤¤¦¤³¤È¤Ë¤âÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£RCS ¤Ë¤Ï ,foo, ¥Õ¥¡¥¤¥ë¤¬¥í¥Ã¥¯¤È¤·¤ÆÆ¯¤¯µ¡¹½¤¬¤¢¤ê¤Þ¤¹¤¬¡¢CVS ¤Ï¤½ ¤ì¤ò¼ÂÁõ¤·¤Æ¤ª¤é¤º¡¢CVS ¤Î½ñ¤¹þ¤ß¥í¥Ã¥¯¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¿ä¾©¤µ¤ì ¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ê¤ëµÄÏÀ/¹çÍýÀ¤Ï CVS ¤Î¥½¡¼¥¹¥³¡¼¥É¤Î rcs_internal_lockfile ¤Î¤È¤³¤í¤Î¥³¥á¥ó¥È¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£