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 #include
1.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