1992.10.15 SUBJECT: SCCS¿¡ °üÇÑ ¸Þ´º¾ó 1.1 ¼Ò°³ ¼Ò½º ÈÀϵéÀ» °øµ¿À¸·Î ¾µ¶§ ¸¹Àº »ç¶÷ÀÌ °íÄ¡¸é º¯È¸¦ ±â·ÏÇÏ´Â °ÍÀº Áß¿äÇÏ´Ù. °»½ÅµÇ´Â °úÁ¤À» ±â·ÏÇÏ´Â °ÍÀº ¾ðÁ¦ ¿Ö º¯È°¡ ÀÏ¾î ³µ´ÂÁö ¾Ë ¼ö ÀÖ°Ô ÇÑ´Ù. Source Code Control System(SCCS)´Â ¼Ò½º ÈÀϵéÀÇ Á¢±ÙÀ» Á¶ÀýÇÏ°í À̵éÀÇ º¯È¸¦ »ìÆì(monitor)º¼ ¼ö ÀÖ´Ù. SCCS´Â ´ÜÁö ÇÑ »ç¿ëÀÚ¿¡°Ô ÈÀÏÀ» °»½Å Çϵµ·Ï ÇÏ°í ¸ðµç º¯È¸¦ historyÈÀÏ¿¡ ±â·ÏÇÑ´Ù. SCCS´Â ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÑ´Ù. * SCCS history·ÎºÎÅÍ ¾î¶² ¹öÁ¯ÀÇ ÈÀϵ鵵 °¡Á®¿Ã ¼ö ÀÖ´Ù. * ´ÜÁö ´ç½Å¸¸ÀÌ ±×°ÍÀ» ¼öÁ¤Çϱâ À§ÇÏ¿© ±× ¹öÁ¯ÀÇ ÈÀÏÀ» Àá±×°í(lock) È®ÀÎÇÒ ¼ö ÀÖ´Ù. SCCS´Â ´Ù¸¥ »ç¿ëÀÚ¿¡ ÀÇÇØ ¹«ÀǽÄÁß¿¡ ¹Ù²îÁö ¾Êµµ·Ï ÇÑ´Ù. * ÈÀÏÀÌ °»½ÅµÈ ³»¿ëÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. ´ç½ÅÀÌ ÈÀÏÀ» È®ÀÎÇÒ¶§ ¶ÇÇÑ ´ç½ÅÀÌ º¯È½ÃŲ °ÍÀ» ¿ä¾àÇÏ¿© ³ÖÀ» ¼ö ÀÖ´Ù. * ÈÀÏÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ´Â °¡¸¦ È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. * ¼±ÅÃÇÑ ¹öÁ¯ »çÀÌÀÇ Â÷À̸¦ È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. * º¯È¸¦ ¿ä¾àÇÑ version log¸¦ º¼ ¼ö ÀÖ´Ù. - sccs¸í·É SCCS´Â sccs¸í·É°ú ÇÔ²² ¾´´Ù. À̰͵éÀº /usr/sccs¿¡ ÀÖ´Ù. - Initializing the SCCS history file : sccs create sccs create¸í·ÉÀº ´ç½ÅÀÇ ÈÀÏÀ» SCCSÀÇ Á¦¾î¸¦ ¹Þµµ·Ï ÇÑ´Ù. ÀÌ°ÍÀº »õ·Î¿î historyÈÀÏÀ» ¸¸µé°í ´ç½ÅÀÇ ¼Ò½º ÈÀÏÀ» Ãʱ⠹öÁ¯À¸·Î »ç¿ëÇÑ´Ù. ±âº»À¸·Î historyÈÀÏÀº SCCS subdirectory¹Ø¿¡ ³õ´Â´Ù.: ¸¸¾à ÀÌ µð·ºÅ丮°¡ ¾ø´Ù¸é ¸¸µé¼ö ÀÖ´Ù. sparc% mkdir SCCS sparc% sccs create program.c program.c: 1.1 87 lines SCCS·ÎºÎÅÍ Ãâ·ÂÀº ¸¸µé¾îÁø ÈÀÏÀÇ À̸§°ú ¹öÁ¯ ¹øÈ£(1.1),¶óÀÎÀÇ ¼ö¸¦ º¸¿©ÁØ´Ù. »ç°í³ª ¿ì¿¬È÷ ¿øº» ÈÀÏÀÌ ¼Õ½ÇµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇÏ¿© sccs create´Â comma(,)·Î ½ÃÀÛÇÏ´Â ´Ù¸¥ ÈÀÏÀ» ¸¸µç´Ù. historyÈÀÏÀÌ ¼º°øÀûÀ¸·Î ÃʱâÈ µÇ¸é SCCS´Â »õ·Î¿î,ÀÐÀ»¼ö ¸¸ ÀÖ´Â ¹öÁ¯À» °¡Á®¿Â´Ù. ÀÌ comma-fileÀÇ ¹öÁ¯À» È®ÀÎÇÑÈÄ ÀÌ»óÀÌ ¾øÀ¸¸é ÀÌ°ÍÀ» Áö¿ï ¼ö ÀÖ´Ù. sparc% cmp ,program.c program.c ( no output means that the files match exactly) sparc% rm ,program.c SCCS°¡ °¡Á®¿Â(retrieve) read-only¹öÁ¯À» ÆíÁý(edit) ÇÏÁö ¸¶¶ó. ÀÌ ÈÀÏÀ» ÆíÁýÇϱâ Àü¿¡ ¾Æ·¡ ¼³¸íÇÒ sccs edit¸í·ÉÀ» »ç¿ëÇÑ´Ù. historyÈÀÏ°ú ÇöÀç ¹öÁ¯À» ±¸º°Çϱâ À§ÇÏ¿© SCCS´Â ¾Õ¿¡ 's.'¸¦ »ç¿ëÇÑ´Ù. sparc% ls SCCS s.program.c ÀÌ°Í ¶§¹®¿¡ hostoryÈÀÏÀº Á¾Á¾ s.ÈÀÏ("s-dot-file")·Î ºÎ¸¥´Ù. ¶ÇÇÑ "SCCS-file"¶ó°íµµ ºÎ¸¥´Ù. ÀÌ historyÈÀÏÀÇ ÇüÅ´ sccsfile(5)¿¡ ¼³¸íµÇ¾î ÀÖ´Ù. - ±âº» sccs subcommands ´ÙÀ½ÀÇ sccs subcommandµéÀº ±âº» ¹öÁ¯À» Á¦¾îÇÏ´Â ±â´ÉÀ» ¼öÇàÇÑ´Ù. À̰͵éÀº ¿©±â¿¡ ¿ä¾àÇß°í create¸¦ Á¦¿ÜÇÏ°í´Â ¾Æ·¡ sccs subcommand¹Ø¿¡ ÀÚ¼¼È÷ ¼³¸íÇß´Ù. create historyÈÀÏ°ú óÀ½ ¹öÁ¯À» ÃʱâÈ ÇÑ´Ù. edit ¾µ ¼ö ÀÖ´Â ¹öÁ¯À» °¡Á®¿Â´Ù(ÆíÁýÀ» À§ÇÏ¿©). SCCS´Â ´ç½ÅÀ» ¼ÒÀ¯ÀÚ·Î ¾µ ¼ö ÀÖ´Â º¹»çº»À» °¡Á®¿À°í ´Ù¸¥»ç¶÷ÀÌ °íÄ¡Áö ¸øÇϵµ·Ï historyÈÀÏ¿¡ lockÀ» °Ç´Ù. delta ´ç½ÅÀÇ º¯È¸¦ ±â·ÏÇÑ´Ù. ÀÌ°ÍÀº sccs editµ¿ÀÛÀ» ¼öÇàÇÏ´Â °ÍÀÌ´Ù. °íÄ£ °ÍÀ» ±â·ÏÇϱâ Àü¿¡ SCCS´Â ÁÖ¼® ´Þ±â¸¦ ¿øÇÏ°í historyÈÀÏÀÇ ¹öÁ¯ log¿¡ ±â·ÏÇÑ´Ù. get s.file·ÎºÎÅÍ read-only copy¸¦ °¡Á®¿Â´Ù. ±âº»ÀûÀ¸·Î ÀÌ°ÍÀº °¡Àå ÇöÀçÀÇ ¹öÁ¯ÀÌ´Ù. °¡Á®¿Â ¹öÁ¯ÀÌ compilation,formatting,displayÀ» À§ÇÑ ¼Ò½º ÈÀÏ·Î »ç¿ëµÇ´Â ¹Ý¸é ¾î¶² ¹æ¹ýÀ¸·Îµµ ÆíÁýµÇ°Å³ª °íÄ¡·Á´Â °ÍÀº ¾Æ´Ï´Ù. ´ç½ÅÀÌ filename argument·Î µð·ºÅ丮¸¦ ÁÖ¸é sccs´Â ±× µð·ºÅ丮¾ÈÀÇ °¢ s.file¿¡ subcommand¸¦ ¼öÇàÇÏ·Á ÇÑ´Ù. sccs get SCCS À§´Â SCCS subdirectoryÀÇ ¸ðµç s.fileÀÇ read-only¹öÁ¯À» °¡Á®¿Â´Ù. prt °¢ ¹öÁ¯¿¡ °ü°èµÈ ÁÖ¼®À» Æ÷ÇÔÇÑ ¹öÁ¯ log¸¦ º¸¿©ÁØ´Ù. - Delta and version ´ç½ÅÀÌ ¹öÁ¯À» È®ÀÎÇÒ¶§ SCCS´Â ´ÜÁö ¾ÕÀÇ ¹öÁ¯°ú ´ç½ÅÀÌ ±â·ÏÇÑ °Í »çÀÌ¿¡ ÁÙ´ÜÀ§ÀÇ Â÷À̸¦ ±â·ÏÇÑ´Ù. ÀÌ·± Â÷ÀÌÀÇ ¼³Á¤À» delta¶ó°í ¸»ÇÑ´Ù. edit³ª getÀ¸·Î °¡Á®¿Â ¹öÁ¯Àº ¿©±â±îÁö Áõ°¡µÈ delta·Î ±¸¼ºµÈ´Ù. "delta"¿Í "version"Àº Á¾Á¾ ºñ½ÁÇÏ°Ô »ç¿ëµÇ³ª ±×µéÀÇ Àǹ̰¡ Á¤È®È÷ °°Áö´Â ¾Ê´Ù. delta¸¦ »ý·«ÇÏ°í versionÀ» °¡Á®¿À´Â °ÍÀÌ °¡´ÉÇÏ´Ù. (¾Æ·¡ Excluding Deltas from a Retrieved VersionÀ» º¸¶ó) SIDs SCCS delta IDȤÀº SID´Â ƯÁ¤ÇÑ delta¸¦ ³ªÅ¸³»±â À§ÇÏ¿© »ç¿ëµÇ´Â ¼ýÀÚÀÌ´Ù. ÀÌ°ÍÀº dot(.)·Î ºÐ¸®µÈ two-pair numberÀÌ´Ù. Ãʱâ deltaÀÇ SID´Â ±âº»À¸·Î 1.1ÀÌ´Ù. SIDÀÇ Ã¹ ºÎºÐÀº release number,µÎ¹ø°´Â level numberÀÌ´Ù. ´ç½ÅÀÌ delta¸¦ ±â·ÏÇÒ¶§ level¹øÈ£´Â ÀÚµ¿À¸·Î Áõ°¡ÇÑ´Ù. ÀÌ release¹øÈ£´Â ÇÊ¿ä¿¡ µû¶ó Áõ°¡ÇÑ´Ù. SCCS´Â ¶ÇÇÑ branch delta¶ó´Â µÎ°³ÀÇ Ã·°¡µÈ Çʵ带 °®´Â´Ù. (¾Æ·¡ Branch Deltas¿¡ ¼³¸íÇÑ´Ù.) ¾ö°ÝÈ÷ À̾߱â Çϸé SID´Â Á÷Á¢ delta¸¦ ¸»ÇÑ´Ù. ±×·¯³ª ÀÌ°ÍÀº delta¿Í ¾ÕÀÇ °Í(predecessor)À¸·Î ±¸¼ºÇÏ´Â ¹öÁ¯À» °¡¸£Å°´Âµ¥ »ç¿ëµÈ´Ù. ID Keywords SCCS´Â ¼Ò½º ÈÀϾÈÀÇ keyword¸¦ Àü°³ÇÏ°í ÀνÄÇÑ´Ù. ÀÌ keyword´Â °¡Á®¿Â ¹öÁ¯(check-in version)¿¡ ¹öÁ¯°ú µ¶¸³ÀûÀÎ Á¤º¸(¿¹·Î SID°°Àº)¸¦ Æ÷ÇÔÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÈÀÏÀ» ÆíÁýÇϱâ À§ÇÏ¿© °¡Á®¿Ã¶§ ID keyword´Â ´ÙÀ½ÀÇ ÇüŸ¦ °®´Â´Ù. %C% C´Â ´ë¹®ÀÚÀÌ´Ù. ´ç½ÅÀÌ ÀÌ ÈÀÏÀ» °¡Á®¿Ã¶§ SCCS´Â ÀÌ keyword¸¦ ±×°ÍÀÌ ÀǹÌÇÏ´Â Á¤º¸·Î ¹Ù²Û´Ù. ¿¹·Î %I%´Â ÇöÀç ¹öÁ¯ÀÇ SID·Î Àü°³ÇÑ´Ù. ´ç½ÅÀº ÀüÇüÀûÀ¸·Î ÁÖ¼®À̳ª string definition¾È¿¡ ID keyword¸¦ Æ÷ÇÔ½Ãų ¼ö ÀÖ´Ù. ¸¸¾à ¼Ò½º ÈÀϾȿ¡ Àû¾îµµ ÇϳªÀÇ ID keyword¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù¸é SCCS´Â ´ÙÀ½°ú °°Àº diagniostic¸¦ º¸³½´Ù. NO Id Keywords (cm7) ID Keyword¿¡ °üÇÑ º¸´Ù ¸¹Àº Á¤º¸´Â ¾Æ·¡ÀÇ Incorporating ID Keywords¿¡ ¼³¸íÇÑ´Ù. 1.2 sccs subcommands - Checking Files In and Out ´ÙÀ½ÀÇ subcommandµéÀº ¹öÁ¯À» °¡Á®¿À°í °íÄ¡´Âµ¥ À¯¿ëÇÏ´Ù. * checking out a file for editing: sccs edit ¼Ò½º¸¦ ÆíÁýÇϱâ À§ÇÏ¿© óÀ½¿¡ sccs edit¸¦ »ç¿ëÇÑ´Ù. SCCS´Â ¹æ±Ý °¡Á®¿Â delta ID¸¦ º¸¿©ÁÖ°í °íÄ£ °ÍÀ» ±â·ÏÇÒ¶§ delta ID¸¦ ÇÒ´çÇÑ´Ù. sparc% sccs edit program.c 1.1 new delta 1.2 87 lines ´ç½ÅÀº ¿¡µðÅ͸¦ »ç¿ëÇÏ¿© ±×°ÍÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÆíÁýÇϱâ À§ÇØ °¡Á®¿Â ¾µ ¼ö ÀÖ ´Â(writable) º¹»çº»ÀÌ ÀÖÀ¸¸é sccs edit´Â ¿¡·¯ ¸Þ¼¼Áö¸¦ º¸³½´Ù. ´Ù¸¥ »ç¶÷ÀÌ ±×°Í¿¡ Á¢±ÙÇصµ ¾µ ¼ö ¾ø´Ù. * checking in a new version: sccs delta ´ç½ÅÀÇ ÈÀÏÀ» °¡Á®¿Í ÆíÁýÀ» ³¡³»¸é sccs delta¸¦ »ç¿ëÇÏ¿© °íÄ£ °ÍÀ» ±â·ÏÇÑ´Ù. ÀÌ°ÍÀ» "making delta"¶ó°í ºÎ¸¥´Ù. °»½ÅÇϱâ Àü¿¡ SCCS´Â ÁÖ¼®À» ³Öµµ·Ï ÇÁ·ÒÇÁÆ®¸¦ ³ªÅ¸³½´Ù. ¿©±â¿¡´Â º¯È½ÃŲ °ÍÀÇ °£´ÜÇÑ ¿ä¾àÀ» Æ÷ÇÔÇÑ´Ù. sparc% sccs delta program.c comment? ´ç½ÅÀº NEWLINE¾Õ¿¡ backslash·Î ÁÙÀ» ´Ã·Á ÁÖ¼®À» ÷°¡ ÇÒ ¼ö ÀÖ´Ù. sparc% sccs delta program.c comment? corrected typo in widget(), \ null pointer in n_crunch() 1.2 5 inserted 3 deleted 84 unchanged * changed lines count as lines deleted and inserted SCCS´Â »õ ¹öÁ¯ÀÇ SID¸¦ ³ªÅ¸³»°í »ðÀԵǰí Áö¿öÁö°í ¹Ù²îÁö ¾ÊÀº ¶óÀÎÀÇ ¹øÈ£¸¦ º¸¿©ÁØ´Ù. SCCS´Â working fileÀ» Á¦°ÅÇÑ´Ù. ´ç½ÅÀº sccs getÀ» »ç¿ëÇÏ¿© read-only versionÀ» °¡Á®¿Â´Ù. ÁÖ¼®Àº Àǹ̰¡ ÀÖ´Ù.¿Ö³Ä ÇÏ¸é ´ç½ÅÀº °°Àº ³¯ ±× ÈÀÏÀ» ´Ù½Ã °¡Á® ¿Ã ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î »ç¿ëÇϱâ À§ÇÏ¿© ±× ¸ðÁÙÀ» installingÀ̳ª compilingÇϱâ Àü¿¡ ¸ðµç °íÄ£ ÈÀÏÀ» ±â·ÏÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ÁÁÀº ¹æ¹ýÀº ÇÊ¿äÇÑ ÈÀÏÀ» ÆíÁý(edit)ÇÏ°í,¸¸Á·ÇÒ¶§±îÁö °íÄ¡°í compileÇÏ°í ¼öÁ¤ÇÏ°í,±×µéÀ» ±â·ÏÇÏ°í,getÀ¸·Î read-only copy·Î °¡Á®¿À°í ±× ¸ðÁìÀ» recompileÇÑ´Ù. * retriving a version: sccs get °¡Àå ÃÖ±ÙÀÇ ÈÀÏÀ» °¡Á®¿À±â À§ÇÏ¿© ¾Æ·¡ ¸í·ÉÀ» »ç¿ëÇÑ´Ù. sccs get filename ¿¹·Î: sparc% sccs get program.c 1.2 86 lines À§´Â program.c¸¦ °¡Á®¿À°í ¶óÀÎÀÇ ¼ö¿Í ¹öÁ¯ ¹øÈ£¸¦ º¸¿©ÁØ´Ù. ÀÌ ÈÀÏÀÇ Çã°¡´Â read-onlyÀÌ´Ù. ÀÌ ÈÀÏÀº ¼öÁ¤ÇÏÁö ¸¶¶ó. ¿Ö³Ä Çϸé SCCS´Â ÈÀÏÀ» ±â·ÏÇÏÁö ¾ÊÀ¸¸é »õ·Î¿î delta¸¦ ¸¸µéÁö ¾ÊÀ» °ÍÀÌ´Ù. ¸¸¾à °Á¦·Î ¼öÁ¤ÇÏ¸é ´ÙÀ½¿¡ ´Ù¸¥ »ç¶÷ÀÌ sccs edit³ª sccs getÀ» ¼öÇàÇÒ¶§ ±×°ÍµéÀ» ÀÒ¾î ¹ö¸± ¼ö ÀÖ´Ù. * reviewing pending changes: sccs diffs °¡Áö°í ¿Â ¹öÁ¯À» ¼öÁ¤ÇÏ¿´À¸³ª ¾ÆÁ÷ ±â·ÏÇÏÁö ¾Ê¾Ò´Ù¸é pendingµÇ¾ú´Ù°í ¸»ÇÑ´Ù. ÈÀÏÀ» ÆíÁýÇÒ¶§ 'sccs diffs'¸¦ »ç¿ëÇÏ¿© pendingÀÇ ³»¿ëÀ» º¼ ¼ö ÀÖ´Ù. diffs subcommand´Â working copy¿Í ÃÖ±ÙÀÇ ±â·Ï µÈ ¹öÁ¯À» ºñ±³Çϱâ À§ÇÏ¿© diff(1)¸í·É¸¦ »ç¿ëÇÑ´Ù. sparc% sccs diffs program.c -------- program.c -------- 37c37 < if (((cmd_p - cmd) + 1) == l_lim){ --- > if (((cmd_p - cmd) - 1) == l_lim){ diff¸í·ÉÀÇ ´ëºÎºÐÀÇ ¿É¼ÇÀÌ »ç¿ëµÉ ¼ö ÀÖ´Ù. diff¸í·ÉÀÇ -c option¿¡ ´ëÇؼ´Â 'sccs diffs'ÀÇ '-C' argument¸¦ »ç¿ëÇÑ´Ù. * deleting pending changes: sccs unedit sccs unedit´Â pending change¸¦ ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. ÀÌ°ÍÀº ÆíÁýÇÏ´Â µ¿¾È ÈÀÏÀÌ ¼Õ»óÀ» ÀÔ¾î ´Ù½Ã ½ÃÀÛÇϱ⸦ ¿øÇÑ´Ù¸é Æí¸®ÇÏ´Ù. unedit´Â ±â·ÏÇÑ ¹öÁ¯À» Á¦°ÅÇÏ°í history fileÀ» Ç®°í(unlock) °¡Àå ÃÖ±ÙÀÇ ±â·ÏÇÑ ¹öÁ¯ÀÇ read-only ÈÀÏÀ» °¡Á®¿Â´Ù. unedit¸¦ »ç¿ëÇÑ ÈÄ¿¡´Â °áÄÚ ±× ÈÀÏÀ» ±â·ÏÇÏÁö ¾ÊÀº °Í°ú °°´Ù. ÆíÁýÀ» Àç°³ÇÏ·Á¸é ±× ÈÀÏÀ» ±â·ÏÇϱâ À§ÇÏ¿© sccs edit¸¦ »ç¿ëÇÑ´Ù. (¾Æ·¡ÀÇ Repairing a Writable Copy¸¦ ¶ÇÇÑ ÂüÁ¶Ç϶ó) * combining delta and get: sccs delget sccs delgetÀº delta¿Í getÀ» °áÇÕÇÑ´Ù. ÀÌ°ÍÀº ´ç½ÅÀÇ º¯È¸¦ ±â·ÏÇÏ°í »õ·Î¿î ¹öÁ¯ÀÇ read-only copy¸¦ °¡Á®¿Â´Ù. ±×·¯³ª SCCS°¡ deltaµ¿¾È ¿¡·¯¸¦ ¸¸³ª¸é getÀ» ¼öÇàÇÏÁö ¾Ê´Â´Ù. ÈÀÏÀÇ ¸ñ·ÏÀ» °¡Á®¿Ã¶§ delgetÀº ÇÒ ¼ö ÀÖ´Â ÇÑ ¸ðµÎ¿¡°Ô getÀ» ¼öÇàÇÏ°í ¸¸¾à ¿¡·¯¸¦ ¸¸³ª¸é ¸ðµÎ ¿¡°Ô¼ getÀ» »ý·«ÇÑ´Ù. * combining delta and edit: sccs deledit sccs deledit´Â edit´ÙÀ½¿¡ delta¸¦ ¼öÇàÇÑ´Ù. ´ç½ÅÀº ¹öÁ¯À» °¡Á®¿À°í Áï½Ã ÆíÁýÀ» ¼öÇàÇϱâ À§ÇÏ¿© ÀÌ°ÍÀ» »ç¿ëÇÑ´Ù. * retrieving a version by SID: sccs get -r -r optionÀº °¡Á®¿À±â À§ÇÑ Æ¯Á¤ÇÑ ID¸¦ ÁöÁ¤Çϵµ·Ï ÇÑ´Ù. sparc% sccs get -r1.1 program.c 1.1 87 lines * retrieving a version by date and time: sccs get -c ¾î¶² °æ¿ì¿¡ ¿øÇÏ´Â deltaÀÇ SID¸¦ ¾ËÁö ¸øÇÏ´Â °æ¿ì°¡ »ý±ä´Ù. ±×·¯³ª ±×°ÍÀ» ±â·ÏÇÑ ³¯Â¥¸¦ ¾Ë°í ÀÖ´Ù¸é ´ÙÀ½ÀÇ date-time argument¿Í -c optionÀ¸·Î ÁÖ¾îÁø ³¯Â¥ ÀüÀÇ °¡Àå ÃÖ±ÙÀÇ ¹öÁ¯À» °¡Á®¿Ã ¼ö ÀÖ´Ù. -cyy[mm[dd[hh[mm[ss]]]]] ¿¹·Î: sparc% sccs get -c880722120000 program.c 1.2 86 lines ÇöÀç ¹öÁ¯ÀÌ ¹«¾ùÀÌµç °£¿¡ July 22,1988 at 12:00 noonÀÇ °ÍÀ» °¡Á®¿Â´Ù. À§ÀÇ ¿¹´Â ´ÙÀ½°ú °°ÀÌ ¾µ ¼ö ÀÖ´Ù. sparc% sccs get -c"88/07/22 12:00:00" program.c * repairing a writable copy: sccs get -k -G »õ·Î¿î ¹öÁ¯À» ±â·ÏÇÏÁö ¾Ê°í sccs get -k -GfilenameÀº ¾µ ¼ö ÀÖ´Â »çº»À» °¡Á®¿À°í ±×°ÍÀ» '-G'·Î ÁöÁ¤µÈ ÈÀÏ·Î ¹Ù²Û´Ù. ÀÌ°ÍÀº diff¿Í ¿¡µðÅÍ·Î ¼Õ»óµÈ working copy¸¦ º¹±¸Çϰųª ¹Ù²Ù±â¸¦ ¿øÇÒ¶§ À¯¿ëÇÏ´Ù. - Incorporating version dependent information: ID Keyword À§¿¡ ¾ð±ÞÇÑ °Í°ú °°ÀÌ SCCS´Â ID keyword¸¦ »ç¿ëÇÏ¿© check-in version¾È¿¡ ¹öÁ¯¿¡ µ¶¸³ÀûÀÎ Á¤º¸¸¦ Æ÷ÇÕÇϵµ·Ï ÇÑ´Ù. ÀÌ keyword´Â ÈÀϾȿ¡ »ðÀÔµÇ°í ´ç½ÅÀÇ º¯È¸¦ ±â·ÏÇÒ¶§ ÀÚµ¿ÀûÀ¸·Î ´ëÀÀµÇ´Â Á¤º¸·Î ´ëüµÈ´Ù. SCCS ID keyword´Â ´ÙÀ½ÀÇ ÇüŸ¦ ÃëÇÑ´Ù. %C% ¿©±â¼ C´Â ´ë¹®ÀÚÀÌ´Ù. ¿¹·Î,%I%´Â °¡Àå ÇöÀçÀÇ SID¸¦ ³ªÅ¸³½´Ù. %W%´Â ÈÀÏÀ̸§,SID,ÈÀϾȿ¡ ´ÜÀÏÇÑ ¹®ÀÚ @(#)¸¦ Æ÷ÇÔÇÑ´Ù. ÀÌ ¹®ÀÚ´Â ÅؽºÆ®¿Í ½ÇÇà ÈÀÏ µÑ´Ù¿¡¼ what¸í·ÉÀÌ ÀÌ°ÍÀ» ã¾Æ¼ º¸¿©ÁØ´Ù. (what¸í·ÉÀº ÈÀÏÀÇ ¼Ò½º ¹öÁ¯À̳ª ¾ðÁ¦ ¸¸µé¾î Á³´ÂÁö º¼ ¼ö ÀÖ´Ù) %G% keyword´Â °¡Àå ÃÖ±Ù deltaÀÇ ³¯Â¥¸¦ ³ªÅ¸³½´Ù. ´Ù¸¥ keywordµé°ú ¹®ÀÚ´Â ÀÌÀåÀÇ ³¡¿¡ Reference Tables ¹Ø¿¡ Identification Keywords¿¡ ¸ð¾ÆÁ® ÀÖ´Ù. C program¾È¿¡ ¹öÁ¯¿¡ °ü°èµÈ Á¤º¸¸¦ Æ÷ÇÔÇϱâ À§ÇÏ¿© ÀÌ¿Í °°Àº ¶óÀÎÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. static char SccsId[] = "%W%\t%G%"; ¸¸¾à program.cÀ̶ó´Â ÈÀÏÀÌ ÀÖ´Ù¸é ÀÌ ¶óÀÎÀº ¹öÁ¯ 1.2°¡ ºÒ·ÁÁú¶§ ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³´Ù. static char SccsId[] = "@(#)program.c 1.2 08/29/80"; ÀÌ ¹®ÀÚ´Â ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥¾È¿¡ Á¤ÀÇ ÇÏ¿´±â ¶§¹®¿¡ ÀÌ°ÍÀº ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥ ³»¿¡ ¼Ò½º ÈÀÏÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. what¸í·ÉÀ¸·Î ÀÌ°ÍÀ» º¼ ¼ö ÀÖ´Ù. sparc% cd /usr/ucb sparc% what sccs sccs sccs.c 1.13 88/02/08 SMI shell script¿Í ±×¿Í À¯»çÇÑ °Í¿¡ ´ëÇؼµµ ÁÖ¼®³»¿¡ ID keyword¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. # %W% %G% ..... È®ÀåµÈ(expanded) keyword¸¦ Æ÷ÇÔÇÑ ¹öÁ¯À» ±â·Ï ÇÑ´Ù¸é ¹öÁ¯¿¡ °ü°èµÈ Á¤º¸´Â ´õ ÀÌ»ó °»½ÅµÇÁö ¾Ê´Â´Ù. ÀÌ·± »óȲÀ» °æ°íÇϱâ À§ÇÏ¿© SCCS´Â ´ÙÀ½ÀÇ °æ°í¸¦ ÁØ´Ù. get,edit³ª create°¡ ID keyword°¡ ¾ø´Ù´Â °ÍÀ» ¹ß°ßÇÒ¶§ ¹ß»ýÇÑ´Ù. No Id Keywords (cm7) - Making Inquiries ´ÙÀ½ÀÇ subcommand´Â ÈÀÏÀÇ »óųª history¿¡ °üÇÑ ÁúÀǸ¦ À§ÇØ À¯¿ëÇÏ´Ù. * seeing which version has been retrieved: the what command SCCS´Â ÈÀÏÀÇ history¾È¿¡ ¾î¶² ¹öÁ¯ÀÌµç °¡Á®¿À±â ¶§¹®¿¡ µð·ºÅ丮¾È¿¡ ³ªÅ¸³ working copy°¡ ¿øÇÏ´Â ¹öÁ¯À» ¹Ý¿µÇÏ´Â °ÍÀÎÁö º¸ÁõÇÏÁö ¸øÇÑ´Ù. what¸í·ÉÀº SCCS ID keyeord¸¦ ã´Â´Ù. ÀÌ°ÍÀº ¶ÇÇÑ ½ÇÇà ÈÀÏ¿¡¼ keyeord¸¦ ã°í ÄÄÆÄÀÏ ÇÒ¶§ÀÇ ¼Ò½º ¹öÁ¯À» º¸¿©ÁØ´Ù. sparc% what program.c program program.c: program.c 1.1 88/07/05 SMI; program: program.c 1.1 88/07/05 SMI; ÀÌ·± °æ¿ì¿¡ ÀÌ ÈÀÏÀÇ working copyÀÇ ¹öÁ¯Àº 1.1ÀÌ´Ù. * determine the most recent version: sccs get -g °¡Àå ÃÖ±ÙÀÇ deltaÀÇ SID¸¦ º¸±â À§ÇÏ¿© sccs get -g¸¦ »ç¿ëÇÑ´Ù. sparc% sccs get -g program.c 1.2 ÀÌ °æ¿ì´Â °¡Àå ÃÖ±ÙÀÇ delta´Â 1.2ÀÌ´Ù. ÀÌ°ÍÀº À§ÀÇ º¸±â¿¡¼ what¿¡ ÀÇÇØ ¹Ý¿µµÈ °Íº¸´Ù ÃÖ±Ù ¹öÁ¯À̱⠶§¹®¿¡ ¾Æ¸¶ getÀº »õ ¹öÁ¯À» ¿øÇÒ °ÍÀÌ´Ù. * determining who has a file checked out: sccs info ÆíÁýµÉ ÈÀÏÀÌ ¹«¾ùÀÎÁö ¹ß°ßÇϱâ À§ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. sccs info ÀÌ subcommandÀº ÆíÁýµÉ ¸ðµç ÈÀÏÀÇ ¸ñ·ÏÀ» º¸¿©ÁØ´Ù. ¾Æ¿ï·¯ ±× ÈÀÏÀ» ±â·ÏÇÑ »ç¿ëÀÚ¿Í °°Àº ´Ù¸¥ Á¤º¸µµ Æ÷ÇԵǾî ÀÖ´Ù. ºñ½ÁÇÏ°Ô ´ÙÀ½ÀÇ ¸í·Éµµ »ç¿ëÇÑ´Ù. sccs check ¾î¶² °ÍÀÌ ÆíÁýµÇ¸é Á¶¿ëÈ÷ non-zero exit status°ªÀ» µ¹·ÁÁØ´Ù. ÀÌ°ÍÀº ¼Ò½º ÈÀÏÀÌ ±â·ÏÇÑ »óŸé make(1)°¡ ¸ØÃç Áöµµ·Ï makefile¾È¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¸¸¾à ´ç½ÅÀÌ °¡Á®¿Â ¸ðµç ÈÀϵéÀÌ ±â·ÏÇÒ Áغñ°¡ µÇ¾î ÀÖ´Ù´Â °ÍÀ» ¾È´Ù¸é ´ÙÀ½À» »ç¿ë ÇÒ ¼ö ÀÖ´Ù. sccs delta `sccs tell -u` ÀÌ°ÍÀº ±×µé ¸ðµÎ¿¡ ÀÛµ¿ÇÑ´Ù. tellÀº ÇÑ ÁÙ¿¡ ÆíÁýµÇ¾îÁú ÈÀÏÀÇ À̸§¸¸ ³ªÅ¸³½´Ù. -u option°ú ÇÔ²² tellÀº ´ç½ÅÀÌ ±â·ÏÇÒ ÈÀϵ鸸 ³ªÅ¸³½´Ù. ¸¸¾à -uÀÇ argument·Î »ç¿ëÀÚ À̸§À» ÁÖ¸é sccs tellÀº ±× »ç¿ëÀÚ°¡ ±â·ÏÇÒ ÈÀϵ鸸 ³ªÅ¸³½´Ù. * Display delta comments: sccs prt sccs prt´Â delta table·Î ¾Ë·ÁÁø version log¸¦ º¸¿©ÁØ´Ù. ÀÌ°Í¿¡´Â SID,¸¸µé¾îÁø ½Ã°£°ú ³¯Â¥,°¢ ¹öÁ¯À» ±â·ÏÇÑ »ç¶÷ÀÇ À̸§,»ðÀԵǰí Áö¿öÁö°í º¯ÇÏÁö ¾ÊÀº ÁÙÀÇ ¼ö,ÁÖ¼®µîÀÌ Æ÷ÇԵȴÙ. sparc% sccs prt program.c D 1.2 80/08/29 12:35:31 pers 2 1 00005/00003/00084 corrected typo in widget(), null pointer in n_crunch() D 1.1 79/02/05 00:19:31 zeno 1 0 00087/00000/00000 date and time created 80/06/10 00:19:31 by zeno ´ÜÁö ÃÖ±ÙÀÇ °ÍÀ» º¸±â À§Çؼ´Â -y optionÀ» »ç¿ëÇ϶ó. * updating a delta comment: sccs cdc ¸¸¾à ÁÖ¼®¿¡ ¾î¶² Áß¿äÇÑ °ÍÀ» Æ÷ÇÔÇÏ´Â °ÍÀ» ÀØ¾î ¹ö·È´Ù¸é ´ÙÀ½À» »ç¿ëÇÏ¿© Á¤º¸¸¦ Ãß°¡Èú ¼ö ÀÖ´Ù. sccs cdc -rsid delta´Â °¡Àå ÃÖ±ÙÀÇ °ÍÀÌ µÇ¾î¾ß¸¸ ÇÏ°í delta¸¦ °¡Á®¿Â »ç¶÷À̳ª ¾²±â Çã°¡°¡ ÀÖ´Â »ç¶÷À̾î¾ß¸¸ ÇÑ´Ù. cdc¸¦ »ç¿ëÇÒ¶§ SCCS´Â ÁÖ¼®À» ³ÖÀ¸¶ó°í ÇÏ°í ±×°ÍÀ» ÁÖ¼®¿¡ ÷°¡ÇÑ´Ù. sparc% sccs cdc -r1.2 program.c comment? also taught get_in() to handle control chars »õ ÁÖ¼®À» prt·Î º¸¸é ´ÙÀ½°ú °°´Ù. sparc% sccs prt program.c D 1.2 80/08/29 12:35:31 pers 2 1 00005/00003/00084 also taught get_in() to handle control chars *** CHANGED *** 88/08/02 14:54:45 pers corrected typo in widget(), null pointer in n_crunch() D 1.1 79/02/05 00:19:31 zeno 1 0 00087/00000/00000 date and time created 80/06/10 00:19:31 by zeno * comparing cheched-in versions: sccs sccsdiff µÎ°³ÀÇ ±â·ÏÇÑ ¹öÁ¯(check-in version)À» ºñ±³Çϱâ À§ÇÏ¿© ´ÙÀ½À» »ç¿ëÇÑ´Ù. sparc% sccs sccsdiff -r1.1 -r1.2 program.c delta 1.1°ú 1.2»çÀÌÀÇ Â÷À̸¦ º¸±â À§ÇÏ¿© diffÀÇ ´ëºÎºÐÀÇ ¿É¼ÇÀÌ »ç¿ëµÈ´Ù. diffÀÇ -c ¿É¼ÇÀ» ºÎ¸£±â À§ÇÏ¿© 'sccsdiff'ÀÇ '-C' argument¸¦ »ç¿ëÇ϶ó. -r ´ë½Å¿¡ -cdate-timeÀ» sccsÀÇ ¿É¼ÇÀ¸·Î »ç¿ëÇÑ´Ù. * displaying the entire history: sccs get -m -p ¸¸¾à ¸¸µé¾îÁø delta¿Í ÈÀÏÀÇ ¸ðµç º¯ÈÀÇ ¸ñ·ÏÀ» º¸±â À§ÇÏ¿© getÀÇ -m°ú -p ¿É¼ÇÀ» »ç¿ë ÇÒ ¼ö ÀÖ´Ù. sparc% sccs get -m -p program.c 1.2 84 lines 1.2 $define L_LEN 256 1.1 1.1 #include1.1 ...... Ưº°ÇÑ delta¿¡ °ü°èµÈ ÁÙÀ» º¸±â À§ÇÏ¿© grep(1V)·Î Ãâ·ÂÀ» º¸³¾ ¼ö ÀÖ´Ù. sparc% sccs get -m -p program.c | grep '^1.2' * creating report: sccs prs -d SCCS controlÇÏ¿¡¼ ÈÀÏ¿¡ °üÇÑ º¸°í¸¦ À̲ø¾î ³»±â À§ÇÏ¿© -ddataspec°ú ÇÔ²² prs subcommand¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. datspecÀº historyÈÀÏÀÇ ºÎºÐ¿¡ ´ëÀÀÇÑ ¸¹Àº i'datakeyword'¸¦ Á¦°øÇÑ´Ù. Data KeywordÀÇ ÇüÅ´ ´ÙÀ½°ú °°´Ù. :X: Data KeywordÀÇ ¸ñ·ÏÀº ÀÌÀå ³¡¿¡ Reference table¿¡ ¼³¸íÇÑ´Ù. data keyword°¡ dataspec argument¿¡ ³ªÅ¸³ª´Â ¼ö´Â Á¦ÇÑÀÌ ¾ø´Ù. ºÐ¸íÇÑ dataspec argument´Â data keyword¿Í ÅؽºÆ®·Î ±¸¼ºµÈ ¹®ÀÚÀÌ´Ù. prs´Â °¢ ÀÎ½ÄµÈ keyword¸¦ historyÈÀÏ¿¡¼ Àû´çÇÑ °ªÀ¸·Î ¹Ù²Û´Ù. data keywordÀÇ ÇüÅ´ °£´ÜÇÏ´Ù. ÀÌ°ÍÀº °£´ÜÇÑ ¹®ÀÚ³ª ¿©·¯ÁÙÀÌ µÉ ¼ö ÀÖ´Ù. tabÀº '\t'·Î,returnÀº '\n'À¸·Î ³ªÅ¸³½´Ù. ¿©±â¿¡ ¿¹°¡ ÀÖ´Ù. sparc% sccs prs -d"Users and/or user IDs for :F: are:\n:UN:" program.c User and/or user ID for s.program.c are: zeno pers sparc% sccs prs -d"Newest delta for :M: :I:. Created :D: by :P:." program.c Newest delta for program.c 1.3. Created 88/07/22 by zeno - Deleting committed changes * replacing a delta: sccs fix delta´Â ÀÛÀº bug¸¦ Æ÷ÇÔÇÏ°í,typos¿Í °°ÀÌ,ÈÀÏÀÇ ÃßÀû(audit trail)ÀÇ ÈçÀû(entry)¸¦ ¿ä±¸ÇÏÁö ¾Ê°í ¼öÁ¤ÇÒ ÇÊ¿ä°¡ Àְųª deltaÀÇ ÁÖ¼®ÀÌ ºÒ¿ÏÀüÇϰųª ¿¡·¯°¡ ÀÖÀ» ¼ö ÀÖ´Ù. ÀÌ·± °æ¿ì¿¡ ´ç½ÅÀº ºÎ°¡ÀûÀÎ °»½ÅÀ» ÇÏ°í sccs fix¸¦ »ç¿ëÇÏ¿© version log¸¦ °¡Àå ÃÖ±ÙÀÇ delta·Î ¹Ù²Ü ¼ö ÀÖ´Ù. sparc% sccs fix -r1.2 program.c ÀÌ°ÍÀº program.cÀÇ ¹öÁ¯ 1.2¸¦ ±â·ÏÇÑ´Ù. ´ç½ÅÀÌ ÀÌ ÈÀÏÀ» ´Ù½Ã °¡Á®¿Ã¶§ ÇöÀçÀÇ º¯È´ÂhistoryÈÀÏÀÇ delta 1.2·Î ¹Ù²Ù°í SCCS´Â (»õ·Î¿î)ÁÖ¼®À» ¿ä±¸ÇÏ´Â ÇÁ·ÒÇÁÆ®¸¦ ³ªÅ¸³½´Ù. ´ç½ÅÀº -r°ú ÇÔ²² SID¸¦ ½á¾ß¸¸ ÇÑ´Ù. ¶ÇÇÑ ÁöÁ¤ÇÑ delta´Â leaf(most recent) deltaÀ̾î¾ß¸¸ ÇÑ´Ù. ¾Õ¿¡ ±â·ÏÇÑ delta°¡ È¿°úÀûÀ¸·Î Áö¿öÁ³À½¿¡µµ ºÒ±¸ÇÏ°í SCCS´Â ±×°Í¿¡ ´ëÇÑ ±â·ÏÀ» °¡Áø historyÈÀÏ¿¡ Áö¿öÁ³´Ù°í Ç¥½ÃÇÑ´Ù. sccs fix¸¦ »ç¿ëÇϱâ Àü¿¡ ÇöÀç ¹öÁ¯ÀÇ º¹»çº»À» ¸¸µå´Â °ÍÀÌ ÁÁÀº »ý°¢ÀÌ´Ù. * removing a delta: sccs rmdel °¡Àå ÃÖ±Ù deltaÀÇ ÇàÀûÀ» ¸ðµÎ Áö¿ì±â À§ÇÏ¿© rmdelÀ̶ó´Â °ÍÀ» »ç¿ëÇÑ´Ù. ´ç½ÅÀº -rÀ» »ç¿ëÇÏ¿© SID¸¦ ÁöÁ¤ÇÏ¿©¾ß¸¸ ÇÑ´Ù. ´ëºÎºÐÀÇ °æ¿ì¿¡ fix°¡ rmdelÀ» »ç¿ëÇÏ´Â °Íº¸´Ù ÁÁ´Ù. ¿Ö³ÄÇϸé fix´Â Áö¿øÁø deltaÀÇ ±â·ÏÀ» ³²±â³ª rmdelÀº ±×·¸Áö ¸øÇÏ´Ù. * reverting to an earlier version Ãʱ⠹öÁ¯ÀÇ ¾µ ¼ö ÀÖ´Â º¹»çº»(writable copy)À» °¡Á®¿À±â À§ÇÏ¿© 'get -k'¸¦ »ç¿ëÇÑ´Ù. ÀÌ°ÍÀº °ú°ÅÀÇ ¸î¸î delta¸¦ ÃßÀûÇÒ ÇÊ¿ä°¡ ÀÖÀ»¶§ Æí¸®ÇÏ´Ù. »õ·Î¿î °ÍÀ» ¸¸µå´Â ±âÃÊ·Î ÃʱâÀÇ delta¸¦ »ç¿ëÇÑ´Ù¸é: * ÀϹÝÀûÀ¸·Î ÇÏ´Â °Í°ú °°ÀÌ ÈÀÏÀ» ±â·ÏÇ϶ó. * ÃʱâÀÇ ÁÁÀº ¹öÁ¯ÀÇ ¾µ¼ö ÀÖ´Â º¹»çº»À» get -k¸¦ »ç¿ëÇÏ¿© °¡Á®¿À¶ó. sccs get -k -rsid -Goldname filename -G¿É¼ÇÀº »õ·ÎÀÌ °¡Á®¿Ã ¹öÁ¯ÀÇ À̸§À» ³ªÅ¸³½´Ù. * ÇöÀçÀÇ ¹öÁ¯À» ±×ÀüÀÇ ÁÁÀº ¹öÁ¯À¸·Î ¹Ù²ã¶ó. mv oldname filename * ¸¶Áö¸·À¸·Î ÈÀÏÀ» ´Ù½Ã ±â·Ï(check in)Ç϶ó. ¾î¶² °æ¿ì¿¡´Â ¾î¶² delta¸¦ Á¦¿Ü½ÃÅ°´Â °ÍÀÌ ´õ °£´ÜÇÏ´Ù. ±×·¸Ä¡ ¾ÊÀ¸¸é,°»½ÅÇÑ ÈÀÏ·Î SCCS¸¦ »ç¿ëÇÏ¿© ºÐ±â(divergent)¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇؼ´Â ¾Æ·¡ÀÇ Branch Deltas¸¦ ÂüÁ¶Ç϶ó. * excluding deltas from a retrieved version delta 1.3¿¡¼ ¸¸µé¾îÁø º¯È¸¦ ´ÙÀ½ÀÇ 1.4¿¡¼ Àû¿ëÇÒ ¼ö ¾ø´Ù°í °¡Á¤ÇÏÀÚ. ´ç½ÅÀÌ ÆíÁýÇϱâ À§ÇÏ¿© ÈÀÏÀ» °¡Á®¿Ã¶§ working copy·ÎºÎÅÍ delta 1.3À» Á¦¿Ü ½ÃÅ°±â À§ÇÏ¿© -x¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. sparc% sccs edit -x1.3 program.c Áö±Ý,´ç½ÅÀÌ delta 1.5¸¦ ±â·ÏÇÒ¶§ ±× delta´Â delta 1.4¿¡¼ ¸¸µé¾îÁø º¯È´Â Æ÷ÇÔÇϳª 1.3Àº Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. »ç½Ç -x¿¡ ÄÞ¸¶·Î ºÐ¸®ÇØ,deltaÀÇ ¸ñ·ÏÀ» Á¦¿ÜÇϰųª dash·Î ±¸ºÐÇØ deltaÀÇ ¹üÀ§¸¦ Á¤ÇÒ ¼ö ÀÖ´Ù. ¿¹·Î,¸¸¾à 1.3°ú 1.4¸¦ Á¦¿Ü ½ÃÅ°·Á¸é ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù. sparc% sccs edit -x1.3,1.4 program.c ȤÀº sparc% sccs edit -x1.3-1.4 program.c ÀÌ ¿¹¿¡¼ sparc% sccs edit -x1.3-1 program.c À§´Â SCCS°¡ release 1¿¡¼ 1.3ºÎÅÍ °¡Àå ³ôÀº ÇöÀçÀÇ delta±îÁö Á¦¿ÜÇÑ´Ù. * combining versions: sccs comb comb¸í·ÉÀº ½ÇÇàÇÒ¶§ ¼±ÅÃµÈ deltaµéÀÌ °áÇյǰųª Á¦°ÅµÇ´Â °ÍÀ» ±â·ÏÇÏ´Â »õ·Î¿î historyÈÀÏÀ» ¸¸µå´Â Bourne Shell script¸¦ ¸¸µç´Ù. ÀÌ°ÍÀº µð½ºÅ© °ø°£ÀÇ ¼ö¿ä°¡ ¸¹À»¶§ À¯¿ëÇÏ´Ù. °æ°í : ¸î¸î delta¸¦ °áÇÕÇϴµ¥ comb-generated script´Â ÁÖ¼®À» Æ÷ÇÔÇÑ ÈÀÏÀÇ version log¸¦ Æı«ÇÑ´Ù. -pSID¿É¼ÇÀº ´Ù½Ã ¸¸µé¾î Áö±â À§ÇÏ¿© º¸Á¸µÉ °¡Àå ¿À·¡µÈ delta¸¦ °¡¸£Å²´Ù. ¶Ç ´Ù¸¥ ¿É¼Ç -c sid-list À§´Â Æ÷Ç﵃ deltaÀÇ ¸ñ·ÏÀ» ÁöÁ¤ÇÑ´Ù. sid-list´Â ÄÞ¸¶·Î ºÐ¸®µÈ ¸ñ·Ï(list)ÀÌ´Ù. ´ç½ÅÀº µÎ SID»çÀ̸¦ dash(-)·Î ¹üÀ§¸¦ ÁÙ ¼ö ÀÖ´Ù. -p¿Í -c´Â ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù. -o¿É¼ÇÀº ´Ù½Ã ¸¸µå´Âµ¥ deltaÀÇ ¼ö¸¦ ÃÖ¼ÒÈ ÇÏ·Á°í ÇÑ´Ù. -s¿É¼ÇÀº ´Ù½Ã ¸¸µç °Í°ú ¿øº»°úÀÇ Å©±â¸¦ ºñ±³ÇÏ´Â script¸¦ ¼öÇàÇÑ´Ù. ÀÌ ºñ±³´Â °¢°¢ÀÇ ºí·°ÀÇ ¼ö¿¡ ±âÃÊÇÏ¿© ´Ù½Ã ¸¸µç °ÍÀÌ Â÷ÁöÇÏ´Â ¿øº»ÀÇ ÆÛ¼¾Æ®·Î ÁÖ¾îÁø´Ù. ¸¸¾à ¿É¼ÇÀÌ ¾øÀ¸¸é comb´Â ¸¸µé¾îÁø º¯È¸¦ °£Á÷Çϴµ¥ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ Á¶»ó (ancestor)À» °£Á÷ÇÑ´Ù. 1.3 Version control for binary files SCCS°¡ ÀüÇüÀûÀ¸·Î ASCII text¸¦ Æ÷ÇÔÇÑ ¼Ò½º ÈÀÏ¿¡ »ç¿ëÇÏÁö¸¸ SCCSÀÇ SunOS versionÀº binaryÈÀÏÀÇ ¹öÁ¯µµ ¶ÇÇÑ Àû¿ëÇÑ´Ù.(NEWLINEÀ¸·Î ³¡³ªÁö ¾Ê°Å³ª control±ÛÀÚ³ª NULLÀ» Æ÷ÇÔÇÏ´Â ÈÀϵé) ÀÌ binaryÈÀÏÀº ±â·ÏÇÒ¶§ ACIIÀÇ ÇüÅ·ΠÄÚµåÈ(encode) µÈ´Ù. working copyµéÀº °¡Á®¿Ã¶§ ´Ù½Ã º¹±¸(decode)ÇÑ´Ù. ´ç½ÅÀº icons,raster images,screen font°°Àº ÈÀÏÀÇ º¯Èµµ ÃßÀûÇϱâ À§ÇÏ¿© SCCS¸¦ »ç¿ëÇÑ´Ù. ´ç½ÅÀº binaryÈÀÏÀ» ÈÀÏ·Î Ãë±ÞÇϱâ À§ÇÏ¿© sccs create -b¸¦ »ç¿ëÇÑ´Ù. delta³ª create¸¦ binaryÈÀÏ¿¡ »ç¿ëÇÒ¶§ ´ÙÀ½ÀÇ ¸Þ¼¼Áö¸¦ °®´Â´Ù. Not a text file (ad31) ¶ÇÇÑ ´ÙÀ½ÀÇ ¸Þ¼¼Áö¸¦ °¡Áú ¼ö ÀÖ´Ù. No id keywords (cm7) ÀÌ ¸Þ¼¼Áö´Â ¹«½ÃÇصµ »ó°ü¾ø´Ù. sparc% sccs create special.font special.font: Not a text file (ad31) No id keywords (cm7) 1.1 20 lines No id keyword (cm7) sparc% sccs get special.font 1.1 20 lines sparc% file special.font SCCS/s.special.font special.font: vfont definition SCCS/s.special.font: SCCS ÄÚµåÈµÈ binaryÈÀÏÀº ¹öÁ¯ »çÀÌ¿¡ ¸¹ÀÌ º¯ÇÒ ¼ö Àֱ⠶§¹®¿¡ binary¼Ò½º¿¡ ´ëÇÑ historyÈÀÏÀº ASCII¼Ò½º¿¡ ºñÇØ ¸Å¿ì ºü¸£°Ô Ä¿Áú ¼ö ÀÖ´Ù. ±×·¯³ª ¸ðµç ¼Ò½º ÈÀÏ¿¡ ´ëÇÑ °°Àº version control systemÀ» »ç¿ëÇÏ´Â °ÍÀº ±×µéÀ» ´Ù·ç´Âµ¥ ´õ ½±´Ù. 4.4 Maintaining source directories SCCS¸¦ »ç¿ëÇÒ¶§ ½ÇÁ¦ ¼Ò½º ÈÀÏÀº working fileÀÌ ¾Æ´Ï¶ó history fileÀÌ´Ù. * duplicate source directories ¸¸¾à ÇÁ·ÎÁ§Æ®·Î ÀÏÇÏ¸é¼ °³ÀÎÀûÀÎ ½ÃÇè°ú debuggingÀ» À§ÇÑ Áߺ¹µÈ ¼Ò½º¸¦ °®±â ¿øÇÑ´Ù¸é °³°³ÀÇ ÀÏÇÏ´Â µð·ºÅ丮¸¦ SCCS subdirectory¿¡ symbolic linkÀ» ÇÒ ¼ö ÀÖ´Ù. sparc% cd /private/working/cmd.dir sparc% ln -s /usr/src/cmd/SCCS SCCS ÀÌ°ÍÀº working copyÀÇ °³ÀÎÀûÀÎ °ÍÀ» °¡Á®¿À´Â °£´ÜÇÑ ¹æ¹ýÀÌ°í ´ÙÀ½À» »ç¿ëÇÑ´Ù. sccs get SCCS ±× µð·ºÅ丮¿¡¼ ÀÏÇÏ´Â µ¿¾È ¿ø·¡ µð·ºÅ丮¿¡¼ ÀÏÇÏ´Â °Í°ú °°ÀÌ °¡Á®¿À°í ÇÏ°í ±â·Ï ÇÒ ¼ö ÀÖ´Ù. * SCCS and make SCCS´Â Á¾Á¾ software project¸¦ ¼öÇàÇϱâ À§ÇÏ¿© make(1)¿Í ÇÔ²² »ç¿ëµÈ´Ù. makeÀÇ SunOS versionÀº ¼Ò½º ÈÀÏÀ» ÀÚµ¿À¸·Î °¡Á®¿Àµµ·Ï ÇÑ´Ù. (´Ù¸¥ ¹öÁ¯Àº °°Àº ÀÏÀ» ¼öÇàÇϱâ À§ÇÏ¿© Ưº°ÇÑ ¹ýÄ¢À» Á¦°øÇÑ´Ù.) ÀÌ°ÍÀº ¶ÇÇÑ ¸ðµç ¼Ò½º ÈÀÏÀÇ Ãʱ⠹öÁ¯À» °¡Á®¿Ã ¼ö ÀÖ°í ÇÁ·ÎÁ§Æ®ÀÇ Ãʱ⠹öÁ¯À» ´Ù½Ã ¸¸µé±â À§ÇÏ¿© make¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. sparc% mkdir old.release ; cd old.release sparc% ln -s ../SCCS SCCS sparc% sccs get -c"87/10/01" SCCS SCCS/s.Makefile 1.3 47 lines ..... sparc% make .... ÀϹÝÀûÀ¸·Î ¸¸µé°í ÀÖ´Â µ¿¾ÈÀº ¼Ò½º ÈÀÏÀ» ¾î´À ´©±¸µµ °¡Á® ¿Ã ¼ö ¾ø´Ù. * keeping SIDs consistent across files ¾î¶² °æ¿ì¿¡ ¿©·¯°³·Î ±¸¼ºµÈ ¼Ò½º¿¡¼ SIDµéÀ» ÀÏÁ¤ÇÏ°Ô À¯ÁöÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ¿©±â¿¡ ±â¼úÀº Çѹø¿¡ ¸ðµç ÈÀÏÀ» editÇÏ´Â °ÍÀÌ´Ù. ÈÀÏÀÌ ÇÊ¿äÇÒ¶§¸¶´Ù °íÄ¥ ¼ö ÀÖ°í ¸ðµç ÈÀÏÀ» ±â·ÏÇÑ´Ù. ÀÌ°ÍÀº ÈÀÏ À̸§¸¦ argument·Î SCCS subdirectory¸¦ ÁöÁ¤ÇÔÀ¸·Î ½±°Ô ÇÒ ¼ö ÀÖ´Ù. sparc% sccs edit SCCS .... sparc% sccs delta SCCS delta subcommand¿Í ÇÔ²² ´ÜÁö Çѹø ÁÖ¼®À» ³Öµµ·Ï ÇÁ·ÒÇÁÆ®¸¦ º¸³½´Ù. ÁÖ¼®Àº ±âÀÔÇÑ ¸ðµç ÈÀÏ¿¡ Àû¿ëµÈ´Ù. ¾î¶² ÈÀÏÀÌ ¹ö²ð °ÍÀÎÁö °áÁ¤Çϱâ À§ÇÏ¿© °¢°¢ ÈÀÏÀÇ delta table¿¡ "lines added ,deleted,unchanged"ºÎºÐÀ» ºñ±³ÇÒ ¼ö ÀÖ´Ù. * starting a new release ÇÁ·Î±×·¥ÀÇ »õ·Î¿î release¸¦ ¸¸µé±â À§ÇÏ¿© editÀÇ -rn¿É¼ÇÀ» »ç¿ëÇÏ¿© ÆíÁýÇϱâ À§ÇÏ¿© È®ÀÎÇÒ¶§ ¸¸µé±â ¿øÇÏ´Â release number¸¦ ÁöÁ¤ÇÑ´Ù. sparc% sccs edit -r2 program.c ÀÌ·± °æ¿ì¿¡ SID2.1À» °®´Â release 2ÀÇ Ã³À½ level delta°¡ µÉ °ÍÀÌ´Ù. ÀÌ µð·ºÅ丮ÀÇ ¸ðµç SCCS-fileÀÇ release number¸¦ ¹Ù²Ù±â À§ÇÏ¿© sparc% sccs edit -r2 SCCS * temporary files used by SCCS SCCS°¡ s.file(Áï,histroty file)À» ¼öÁ¤ÇßÀ»¶§ ÀÌ°ÍÀº x.fileºÒ¸®¿ì´Â Àӽà º¹»çº»¿¡ ¾¸À¸·Î ¼öÇàÇÑ´Ù. °»½ÅÀÌ ³¡³µÀ»¶§ SCCS´Â ÀüÀÇ s.fileÀ» x.file·Î ´Ù½Ã ¾´´Ù(overwrite). ÀÌ°ÍÀº history fileÀÌ °úÁ¤ÀÌ Á¤»óÀûÀ¸·Î ³¡³µÀ»¶§ ¼Õ»óÀ» ÀÔÁö ¾Êµµ·Ï ÇÑ´Ù. x.fileÀº history file·Î °°Àº µð·ºÅ丮¿¡ ¸¸µé¾î Áö°í °°Àº Çã°¡¸¦ ÁÖ°í effective user¿¡ ÀÇÇØ ¼ÒÀ¯µÈ´Ù SCCS fileÀÌ µ¿½Ã¿¡ °»½ÅµÇÁö ¾Ê°Ô Çϱâ À§ÇÏ¿© history¸¦ °»½ÅÇÏ´Â subcommand´Â z.fileÀ̶ó´Â lock fileÀ» ¸¸µé°í °»½ÅÀ» ¼öÇàÇÏ´Â ÇÁ·Î¼¼¼ÀÇ PID¸¦ Æ÷ÇÔÇÑ´Ù. °»½ÅÀÌ ³¡³ª¸é z.file´Â Á¦°ÅµÈ´Ù. z.fileÀº SCCS file¸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮¿¡ mode 444(read-only)·Î ¸¸µé¾î Áö°í effective user¿¡ ÀÇÇØ ¼ÒÀ¯µÈ´Ù. 1.5 Branches ´ç½ÅÀº SCCSÈÀÏ¿¡ Àû¿ëÇÑ delta¸¦ Æ®¸®ÀÇ node·Î »ý°¢ ÇÒ ¼ö ÀÖ´Ù. root´Â ÈÀÏÀÇ Ãʱ⠹öÁ¯À̶ó°í »ý°¢ ÇÒ ¼ö ÀÖ´Ù. root delta(node)´Â ±âº»À¸·Î '1.1'ÀÌ°í ÀڽĵéÀº '1.2','1,3'µîµîÀ¸·Î ¸Å±ä´Ù. Ãʱ⿡ ¾ð±ÞÇÑ °Í°ú °°ÀÌ SIDÀÇ Ã³À½ µÎ ºÎºÐÀº release¿Í level numberÀÌ´Ù. deltaÀÇ ÀڽĵéÀÇ À̸§Àº level number¸¦ Áõ°¡½ÃŲ´Ù. ´ç½ÅÀº ¶ÇÇÑ ±× ÈÀÏ¿¡ Áß¿äÇÑ ºÎºÐÀ» °íÄ¥¶§ »õ·Î¿î release·Î ±â·Ï ÇÏ´Â ¹ýÀ» º¸°Ô µÉ °ÍÀÌ´Ù. »õ·Î¿î release number´Â ¾ÕÀÇ releaseÀÇ »õ·Î¿î levelÀ» ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù¸é ¸ðµç ÀÚ½Ä delta¿¡ Àû¿ëµÈ´Ù. ±×·¡¼ ƯÁ¤ÇÑ ÈÀÏÀÇ Àü°³´Â ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³¾ ¼ö ÀÖ´Ù. s.file file +------+ +-------+ | | | 1.1 | | | +------+ | | | | 1.2 | | | | +------+ | | | | | 1.3 | |---+ +------+ | |--+ +------+ | | 1.4 |--+ +-------+ | | | 2.1 | <---- | | | | +------+ | | +-------+ ¿ì¸®´Â ÀÌ ±¸Á¶¸¦ SCCS delta treeÀÇ 'trunk'¶ó°í ºÎ¸¥´Ù. ÀÌ°ÍÀº SCCS fileÀÇ ÀϹÝÀûÀÎ ¹ßÀüÀ» Ç¥½ÃÇÑ´Ù. º¯È´Â ¸ðµç ¾ÕÀÇ delta¿¡ ÀÇÁ¸ÇÑ ºÎºÐÀÌ´Ù. ±×·¯³ª Æ®¸®ÀÇ ¶Ç ´Ù¸¥ °¡Áö¸¦ ¸¸µå´Â °ÍÀÌ Æí¸®ÇÑ »óȲÀÌ ¹ß»ýÇÑ´Ù. ¿¹·Î ¹öÁ¯ 1.3À» »ç¿ëÇÏ¿© ¸¸µå´Â ÇÁ·Î±×·¥°ú ÀÌ¹Ì release 2¸¦ »ç¿ëÇÏ¿© ¹ßÀü ½ÃÅ°´Â °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ±×·¡¼ release 2´Â ÀÌ¹Ì ¾î¶² delta¸¦ °®´Â´Ù. »ç¿ëÀÚ°¡ ¹öÁ¯ 1.3¿¡ ¹®Á¦¸¦ º¸°íÇÏ¿© release 2°¡ °íÃÄÁú¶§±îÁö ±â´Ù¸± ¼ö ¾ø´Ù°í °¡Á¤ÇÏÀÚ. ÀÌ ¹®Á¦¸¦ °íÄ¡´Âµ¥ ÇÊ¿äÇÑ º¯È´Â ¹öÁ¯ 1.3ÀÇ delta¿¡ Àû¿ëµÇ¾ß¸¸ ÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº »õ ¹öÁ¯À» ¸¸µé °ÍÀ» ¿ä±¸Çϳª release 2¿Í µ¶¸³ÀûÀ¸·Î ¼öÇàµÇ¾î Áø´Ù. ÀÌ »õ delta´Â Æ®¸®ÀÇ »õ °¡Áö·Î ³ëµå(node)¸¦ Çü¼ºÇÑ´Ù. ÀÌ °¡ÁödeltaÀÇ SID´Â ¼¼°³ÀÇ ºÎºÐÀ¸·Î ±¸¼ºµÈ´Ù: release,level number¿Í branch¿Í sequence number release.level.branch.sequence °¢ °¡Áö(branch)¿¡ ÇÒ´çµÈ °¡Áö ¹øÈ£(branch number)´Â Ưº°ÇÑ trunk deltaÀÇ ÀÚ½ÄÀÌ´Ù. óÀ½ °¡Áö(branch)´Â 1,±× ´ÙÀ½Àº 2 µîµî.... sequence number´Â ¼ø¼´ë·Î ƯÁ¤ °¡Áö(branch)ÀÇ °¢ delta¿¡ ÇÒ´çµÈ´Ù. ±×·¡¼ 1.3.1.1Àº ¾Æ·¡ º»°Í°ú °°ÀÌ delta 1.3,ù branchÀÇ Ã¹¹ø° delta¸¦ ³ªÅ¸³½´Ù. s.file file +------+ +-------+ | | | 1.1 | | | +------+ | | | | 1.2 | | | | +------+ | | | | | 1.3 | |---+ +------+ | |--+ +--| |---------->+-------+ | +------+ |1.3.1.1| +-------+ | 1.4 | | | | 2.1 | <---- | | | | | | +------+ +-------+ | | +-------+ °¡Áö(branch)ÀÇ °³³äÀº Æ®¸®ÀÇ ¾î¶² delta¿¡µµ È®ÀåµÉ ¼ö ÀÖ´Ù. °á°úÀÇ À̸§ ±Ô¾àÀº ¾ÕÀÇ ¼³¸íÇÑ ¹æ¹ý°ú ¶È °°´Ù. °¡Áö(branch) deltaÀÇ À̸§ÀÇ Ã³À½ µÎ°¡Áö ¿ä¼Ò´Â Á¶»ó trunk deltaÀÇ °ÍÀÌ´Ù. branch component´Â trunkÀÇ À§Ä¡¿¡ °ü°è¾øÀÌ branch¸¦ ¸¸µé±â À§ÇÏ¿© ÇÒ´çÇÑ´Ù. ±×·¡¼ branch delta´Â Ç×»ó ±×°ÍÀÇ À̸§°ú °°Àº °ÍÀ¸·Î ±¸ºÐÇÏ°í ¹Ý¸é¿¡ trunk delta´Â branch deltaÀÇ À̸§À¸·Î ±¸ºÐÇÑ´Ù. trunk delta¿¡¼ branch delta±îÁö À̾îÁö´Â Àüü path¸¦ °áÁ¤ÇÏ´Â °ÍÀº ºÒ°¡´É ÇÏ´Ù. ¿¹·Î,¸¸¾à delta 1.3ÀÌ ±×°ÍÀ¸·ÎºÎÅÍ ÆÛÁ®³ª¿Â ÇϳªÀÇ °¡Áö°¡ ÀÖ´Ù¸é ±× °¡ÁöÀÇ ¸ðµç delta´Â '1.3.1.n'À̶ó°í ÇÑ´Ù. ¸¸¾à ÀÌ °¡Áö¿¡¼ delta°¡ ¶Ç ´Ù¸¥ °¡Áö¸¦ °®´Â´Ù¸é »õ °¡ÁöÀÇ ¸ðµçdelta´Â '1.3.2.n'À̶ó´Â À̸§À» °®´Â´Ù. delta 1.3.2.2¶ó´Â À̸§¿¡¼ ¿À´Â À¯ÀÏÇÑ Á¤º¸´Â Á¶»óÀÌ delta 1.3ÀÎ µÎ¹ø° °¡ÁöÀÇ µÎ¹ø° delta¶ó´Â °ÍÀÌ´Ù. ƯÈ÷ ±×°Í°ú ±×°ÍÀÇ trunk ancestor(1.3)»çÀÌÀÇ ¸ðµç delta¸¦ delta 1.3.2.2ÀÇ À̸§À¸·Î °áÁ¤ÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù. s.file file +------+ +-------+ | | | 1.1 | | | +------+ | | | | 1.2 | | | | +------+ | | | | | 1.3 | |---+ +------+ | |--+ +--| |-----> +-------+ | +------+ |1.3.1.1| +-------+ | 1.4 | | | | 2.1 | <---- | | | +-------+ | | +------+ +-|1.3.1.2| +-------+ | | | | 2.2 | | | | | +-------+ | | | +-------+ +-------+ <--------- |1.3.2.1| | | +-------+ | |1.3.2.2|---+ | | | | +-------+ branch delta´Â ÀÓÀÇ·Î º¹ÀâÇÑ Æ®¸® ±¸Á¶¸¦ ¸¸µç´Ù. °¡ÁöÀÇ »ç¿ëÀ» ÃÖ¼ÒÈÇÏ´Â °ÍÀÌ °¡Àå ÁÁÀº ÀÏÀÌ´Ù. - Using branch bug fix¿Í °°Àº ¿©·¯°³·Î ´Ù¸¥ ¹öÁ¯À» ¸¸µé ÇÊ¿ä°¡ ÀÖÀ»¶§ °¡Áö(branch)¸¦ »ç¿ëÇÑ´Ù. °¡Áö¸¦ ¸¸µé±â Àü¿¡ sccs adminÀ» »ç¿ëÇÏ¿© historyÈÀÏ¿¡ 'branch' flag¸¦ ÇÒ ¼ö ÀÖ¾î¾ß¸¸ ÇÑ´Ù. ÀÌ°ÍÀº ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. soarc% sccs admin -fb program.c -fb¿É¼ÇÀº historyÈÀÏ¿¡ b(branch) flag¸¦ ¼³Á¤ÇÑ´Ù. * creating a branch delta program.c¿¡ ´ëÇÑ delta 1.3¿¡¼ °¡Áö¸¦ ¸¸µé±â À§ÇÏ¿© ¾Æ·¡¿Í °°Àº sccs edit¸¦ »ç¿ëÇÑ´Ù. sparc% sccs edit -r1.3 -b program.c ÆíÁýÇÒ ¹öÁ¯À» ±â·ÏÇÒ¶§ branch delta´Â SID 1.3.1.1ÀÌ µÉ °ÍÀÌ´Ù. ±× ´ÙÀ½ delta´Â 1.3.1.2 µîµîÀÌ µÈ´Ù. * retrieving versions from branch deltas branch delta´Â Á¾Á¾ getÀ¸·Î °¡Á®¿À´Â ¹öÁ¯À» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. branch versionÀ» °¡Á®¿À±â À§ÇÏ¿© Ưº°È÷ -r¿É¼ÇÀ» ±×°Í¿¡ ¿äûÇؾ߸¸ ÇÑ´Ù. ¸¸¾à ´ÙÀ½ º¸±â¿Í °°ÀÌ sequence number¸¦ »ý·«ÇÑ´Ù¸é SCCS´Â °¡ÁöÁß °¡Àå ³ôÀº delta¸¦ °¡Á®¿Â´Ù. sparc% sccs get -r1.3.1 program.c 1.6 Administering SCCS files ±Ô¾à¿¡ ÀÇÇØ historyÈÀÏ°ú Àӽà ÈÀÏÀº SCCS µð·ºÅ丮¿¡ À§Ä¡ÇÑ´Ù. ±âº» ÈÀÏ protection mechanism¿¡ ÷°¡ÇÏ¿© ¾î¶² release´Â Ç®¾îÁÖ°í ¾î¶² »ç¿ëÀÚ¿¡°Ô´Â Á¦ÇÑÇÒ ¼ö ÀÖ´Ù.(sccs-admin ÂüÁ¶) ÀϹÝÀûÀ¸·Î historyÈÀÏÀº SCCS ÀÌ¿ÜÀÇ ´Ù¸¥ À¯Æ¿¸®Æ¼¿¡ ÀÇÇØ ¼öÁ¤µÇÁö ¾Êµµ·Ï 444(¸ðµç »ç¶÷¿¡°Ô read-only)·Î µÇÀÖ´Ù. ÀϹÝÀûÀ¸·Î historyÈÀÏÀ» ÆíÁýÇÏ´Â °ÍÀº ÁÁÁö ¾Ê´Ù. historyÈÀÏÀº ²À ÇϳªÀÇ link¸¦ °®´Â´Ù. SCCS À¯Æ¿¸®Æ¼´Â ¼öÁ¤µÉ º¹»çº»(x.file)À» ¾¸À¸·Î historyÈÀÏÀ» °»½ÅÇÑ´Ù. - interpreting error messages: sccs help help´Â SCCS ¿¡·¯ ¸Þ¼¼Áö¿Í À¯Æ¿¸®Æ¼¿¡ °üÇÑ Á¤º¸¸¦ º¸¿©ÁØ´Ù. ÀϹÝÀûÀ¸·Î help´Â SCCS À¯Æ¿¸®Æ¼ÀÇ À̸§À̳ª SCCS ¿¡·¯ ¸Þ¼¼ÁöÀÇ Äڵ带 ¹Þ´Â´Ù. argument°¡ ¾ø´Ù¸é help´Â Çϳª¸¦ ³Öµµ·Ï ÇÁ·ÒÇÁÆ®¸¦ º¸³½´Ù. /usr/lib/help´Â help°¡ º¸¿©ÁÖ´Â °¢Á¾ ¸Þ¼¼ÁöÀÇ ÅؽºÆ®¸¦ Æ÷ÇÔÇÑ´Ù. - altering history file defaults: sccs admin admin¸í·ÉÀ» »ç¿ëÇϴµ¥ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ¸î°³ÀÇ ÆĶó¸ÞÅÍ°¡ ÀÖ´Ù. ÀÌ°ÍÁß Èï¹Ì·Î¿î °ÍÀº ÇÁ·¡±×(flag)ÀÌ´Ù. ÇÁ·¡±×´Â -f¿É¼ÇÀ» »ç¿ëÇÏ¿© ÷°¡ÇÒ ¼ö ÀÖ´Ù. ¿¹·Î sparc% sccs admin -fd1 program.c 'd'flagÀÇ °ªÀ» 1·Î ¼³Á¤ÇÑ´Ù. ÀÌ ÇÁ·¡±×´Â ´ÙÀ½°ú °°ÀÌ Áö¿ï ¼ö ÀÖ´Ù. sparc% sccs admin -dd program.c °¡Àå Àß »ç¿ëÇÏ´Â ÇÁ·¡±×´Â ´ÙÀ½°ú °°´Ù. b sccs editÀÇ -b¿É¼ÇÀ» »ç¿ëÇÏ¿© °¡Áö¸¦ ¸¸µé ¼ö ÀÖ´Ù. dSID sccs get°ú sccs edit¸¦ »ç¿ëÇÏ´Â ±âº» SID. ÀÌ°ÍÀÌ release number¶ó¸é ´ÜÁö ƯÁ¤ÇÑ releaseÀÇ ¹öÁ¯À» Æ÷ÇÔÇÑ´Ù. i ÈÀÏ¿¡ ID keyword°¡ ¾ø´Ù¸é fatal error¸¦ ÁØ´Ù. ÀÌ°ÍÀº ID keyword°¡ ½Ç¼ö¿¡ ÀÇÇØ ÀÒ¾î¹ö¸®°Å³ª Àü°³ µÇ¾úÀ»¶§ ¹öÁ¯ÀÌ ±â·ÏµÇÁö ¾Êµµ·Ï ÇÑ´Ù. y ÀÌ ÇÁ·¡±×ÀÇ °ªÀ» %Y% ID keyword·Î ¹Ù²Û´Ù. -tfile file·ÎºÎÅÍ s.file¿¡ ¼³¸í¹®À» ÀúÀåÇÑ´Ù. ÀÌ ¼³¸í¹®Àº document³ª design À̳ª implementation document°¡ µÉ ¼ö ÀÖ´Ù. -t¿É¼ÇÀ» »ç¿ëÇϸé s.fileÀÌ ´Ù¸¥ »ç¶÷¿¡°Ô º¸³»Áö¸é documentµµ °°ÀÌ µû¶ó °¡µµ·Ï ÇÑ´Ù. ¸¸¾à fileÀÌ »ý·«µÇ¸é ¼³¸í¹®Àº Á¦°ÅµÈ´Ù. ¼³¸í¹®À» º¸±âÀ§ÇØ prt -t¸¦ »ç¿ëÇÑ´Ù. - validating the history file historyÈÀÏÀ» È®ÀÎÇϱâ À§ÇÏ¿© val¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. val´Â Ç×»ó ´ÙÀ½ÀÇ Á¶°Ç¿¡¼ ½ÃÇèÇÑ´Ù. * ºØ±«µÈ(corrupted) history file * history fileÀÌ Àбâ À§ÇØ ¿¸± ¼ö ¾ø°Å³ª ÈÀÏÀÌ SCCS history°¡ ¾Æ´Ï´Ù. ¸¸¾à -r¿É¼ÇÀ» »ç¿ëÇϸé val´Â ÁöÀûÇÑ SID°¡ ÀÖ´ÂÁö¸¦ ½ÃÇèÇÑ´Ù. - restoring the history file Ưº°È÷ ³ª»Û ȯ°æ¿¡¼ historyÈÀÏ ±× ÀÚü°¡ ¸Á°¡ Áú ¼ö ÀÖ´Ù. ÀÌ·± ÀÏÀÌ ¹ß»ýÇÏ´Â ´ëºÎºÐÀÇ ÀÌÀ¯´Â ¾î¶² »ç¶÷ÀÌ ±×°ÍÀ» ÆíÁýÇÒ¶§ÀÌ´Ù. ÀÌ ÈÀÏÀÌ checksumÀ» °¡Áö°í Àֱ⠶§¹®¿¡ ÀÌ ºØ±«µÈ ÈÀÏÀ» ÀÐÀ»¶§¸¶´Ù ¿¡·¯¸¦ °®À» °ÍÀÌ´Ù. checksumÀ» ¿Ã¹Ù·Î Çϱâ À§ÇÏ¿© ´ÙÀ½À» »ç¿ëÇÑ´Ù. sparc% sccs admin -z program.c °æ°í: SCCS°¡ historyÈÀÏÀÌ ¸Á°¡ Á³´Ù°í ÇÒ¶§ ºÎÁ¤È®ÇÑ checksum¿¡ ½É°¢ÇÑ ¼Õ»óÀ» °¡¸£Å²´Ù. historyÈÀÏÀ» ±³Á¤Çϱâ Àü¿¡ ÇöÀçÀÇ º¯È¸¦ ¾ÈÀüÇÏ°Ô Çϵµ·Ï Á¶½ÉÇ϶ó. 1.7 Reference table table 1-1 SCCS IF keyword ------------------------------------------------------------------------ Keyword Expands to ------------------------------------------------------------------------ %Z% @(#)(search string for the what command) %M% the current module(file) name %I% the highest SID spplied %W% shorthand for: %Z%%M% tab %I% %G% the date of the delta corresponding to the %I% keyword %R% the current release number %Y% the value of the t flag(set by sccs admin) ------------------------------------------------------------------------ table 1-2 SCCS utility commands --------------------------------------- SCCS utility programs --------------------------------------- Commands | Refer to: --------------------------------------- admin sccs-admin(1) cdc sccs-cdc(1) comb sccs-comb(1) delta sccs-delta(1) get sccs-get(1) help sccs-help(1) prs sccs-prs(1) rmdel sccs-rmdel(1) sact sccs-sact(1) sccsdiff sccs-sccsdiff(1) unget sccs-unget(1) val sccs-val(1) what what(1) --------------------------------------- table 1-3 Data keywords for 'prs -d' ---------------------------------------------------------------------------------------- keyword data item file section value fotmat ---------------------------------------------------------------------------------------- :Dt: Delta information Delta table see below S :DL: Delta line statistics " :Li:/:Ld:/:Lu: S :Li: Lines inserted by delta " nnnnn S :Ld: Lines deleted by delta " nnnnn S :Lu: Lines unchanged by delta " nnnnn S :DT: delta type " D or R S :I: SCCS ID string(SID) " :R:.:L:.:B:.:S: S :R: Release number " nnnn S :L: Level number " nnnn S :B: Branch number " nnnn S :S: Sequence number " nnnn S :D: Data delta created " :Dy:/:Dm:/:Dd: S :Dy: Year delta created " nn S :Dm: Month delta created " nn S :Dd: Day delta created " nn S :T: Time delta created " :Th:::Tm:::Ts: S :Th: Hour delta created " nn S :Tm: Minutes delta created " nn S :Ts: Seconds delta created " nn S :P: Programmer who created delta " logname S :DS: Delta sequence number " nnnn S :DP: Predecessor delta seq-no " nnnn S :DI: Sequence number of deltas " nnnn S included,excluded,ignored :Dn: Delta included(seq #) " :DS: :DS:.... S :Dx: Delta excluded(seq #) " :DS: :DS:.... S :Dg: Delta ignored(seq #) " :DS: :DS:.... S :MR: MR numbers for delta " text M :C: Comments for delta " text M :UN: User names User named text M :FL: Flag list Flags text M :Y: Module type flag " text S :MF: MR validation flag " yes or no S :MP: MR validation pgm name " text S :KF: Keyword error/warning flag " yes or no S :BF: Branch flag " yes or no S :J: Joint edit flag " yes or no S :LK: Locked releases " :R:.... S :Q: User defined keyword " text S :M: Module name " text S :FB: Floor boundary " :R: S :CB: Ceiling boundary " :R: S :Ds: Default SID " :I: S :ND: Null delta flag " yes or no S :FD: File descriptive text Comments text M :BD: Body Body text M :GB: Gotten body " test M :W: A form of what(1) string N/A :Z::M:\t:I: S :A: A form of what(1) string N/A :Z::Y: :M: :I::Z: S :Z: what(1) string delimiter N/A @(#) S :F: SCCS file name N/A text S :PN: SCCS file path name N/A text S ---------------------------------------------------------------------------------------- S= single-line format,M = multi-line :Dt: = :DT: :I: :D: :T: :P: :DS: :DP: ---------------------------------------------------------------------------------------- Revision History Created on Oct 15 ,1992