· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Bazaar/Bazaar 5ºÐ °­ÀÇ

Bazaar/Bazaar 5ºÐ °­ÀÇ

ÀÌ ÆäÀÌÁö´Â [http] Bazaar in five minutes (2007-12-13) ¸¦ ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù.




1. ¼Ò°³


Bazaar´Â ºÐ»êÇü ¹öÀü °ü¸® ½Ã½ºÅÛ(distributed version control system)À¸·Î ¼ÒÇÁÆ®¿þ¾î ÇÁ·ÎÁ§Æ® °øµ¿ ÀÛ¾÷À» ½±°Ô ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù.

ÀÌÁ¦ºÎÅÍ 5ºÐ µ¿¾È ¾î¶»°Ô ÆÄÀϵéÀ» ¹öÀü °ü¸® ¾Æ·¡ ³Ö°í, º¯°æ »çÇ×À» ±â·ÏÇÏ°í, ÀÛ¾÷À» °Ë»çÇÏ°í, ¿Â¶óÀÎ »ó¿¡ ÃâÆÇ(publish)ÇÏ°í, ÀÚ½ÅÀÇ ÀÛ¾÷À» ÇÁ·ÎÁ§Æ®ÀÇ ÁÙ±â(trunk)¿¡ º´ÇÕ(merge)ÇÒ ¼ö ÀÖ´ÂÁö ¹è¿öº¸°Ú½À´Ï´Ù.

2. ¼³Ä¡


ÀÌ ¾È³»¼­´Â ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏÁö´Â ¾ÊÀ» °ÍÀÔ´Ï´Ù. ¼³Ä¡´Â ¾ÆÁÖ ½±½À´Ï´Ù. ¼³Ä¡¿¡ °üÇÑ ¼³¸íÀº ´ÙÀ½ ÆäÀÌÁöµéÀ» ÂüÁ¶Çϼ¼¿ä:

3. »ç¿ëÀÚ ¼³Á¤


ÀÛ¾÷À» ½ÃÀÛÇϱâ Àü¿¡ Bazaar¿¡°Ô ÀÚ½ÅÀÌ ´©±¸ÀÎÁö ¾Ë·ÁÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÌ·¸°Ô ÇØ¾ß ÀÚ½ÅÀÇ ÀÛ¾÷ÀÌ ¼öÁ¤ ÀÏÁö(revision log)¿¡¼­ ÀûÀýÇÏ°Ô ½Äº°µÉ ¼ö ÀÖ½À´Ï´Ù.

¾Æ·¡¿Í °°ÀÌ ¸í·ÉÀ» ³»¸®½Ã¸é µË´Ï´Ù. John Doe ´ë½Å¿¡ ÀÚ½ÅÀÇ À̸§°ú À̸ÞÀÏ ÁÖ¼Ò¸¦ »ç¿ëÇϼ¼¿ä.
$ bzr whoami "John Doe <john.doe@gmail.com>"
±×·¯¸é Bazaar´Â ¼³Á¤ ÆÄÀÏÀ» »õ·Î ¸¸µé°Å³ª ¶Ç´Â ±âÁ¸ÀÇ ¼³Á¤ ÆÄÀÏÀ» ¼öÁ¤Çؼ­ »õ·Î¿î À̸§°ú À̸ÞÀÏ ÁÖ¼Ò¸¦ ±â·ÏÇÕ´Ï´Ù.

ÀÌÁ¦ ÀÚ½ÅÀÇ À̸§°ú À̸ÞÀÏ ÁÖ¼Ò°¡ Á¦´ë·Î µî·ÏµÇ¾ú´ÂÁö È®ÀÎÇغ¸¼¼¿ä.
$ bzr whoami
John Doe <john.doe@gmail.com>

4. ¹öÀü °ü¸® ¾Æ·¡ ÆÄÀÏ ³Ö±â

ÀÌÁ¦ µð·ºÅ丮¸¦ Çϳª ¸¸µé°í ÆÄÀÏ ¸î °³¿Í ÇÏÀ§ µð·ºÅ丮¸¦ ¸¸µé¾î¼­ Bazaar¿Í ÇÔ²² »ç¿ëÇØ º¸µµ·Ï ÇսôÙ.
$ mkdir myproject
$ cd myproject
$ mkdir subdirectory
$ touch test1.txt test2.txt test3.txt subdirectory/test4.txt
À©µµ¿ìÁî »ç¿ëÀÚÀÇ °æ¿ì: À©µµ¿ìÁî ÀͽºÇ÷η¯¸¦ »ç¿ëÇؼ­ µð·ºÅ丮¸¦ ¸¸µå½Ã°í ±× µð·ºÅ丮·Î µé¾î°¡¼­ ¿À¸¥ÂÊ ¹öÆ°À» Ŭ¸¯Çؼ­ »õ·Î¿î ÆÄÀÏÀ» ¸¸µå¼¼¿ä.

ÀÌÁ¦ Bazaar°¡ ÇÁ·ÎÁ§Æ® µð·ºÅ丮¸¦ ÃʱâÈ­Çϵµ·Ï ¸í·ÉÀ» ³»¸®¼¼¿ä.
$ bzr init

¾Æ¹« Àϵµ ÀϾÁö ¾ÊÀº °Íó·³ º¸¿©µµ °ÆÁ¤ÇÏÁö ¸¶¼¼¿ä. Bazaar´Â °¡Áö(branch)¸¦ Çϳª ¸¸µé¾ú½À´Ï´Ù. °Å±â¿¡ ¿©·¯ºÐÀÇ ÆÄÀÏ°ú ¼öÁ¤ ¿ª»ç°¡ ±â·ÏµÉ °ÍÀÔ´Ï´Ù.

´ÙÀ½ ´Ü°è·Î Bazaar¿¡°Ô ¾î¶² ÆÄÀϵéÀ» ¹öÀü °ü¸®ÇÒ °ÍÀÎÁö ¾Ë·ÁÁÖ¼Å¾ß ÇÕ´Ï´Ù. bzr add ¸í·ÉÀ» ³»¸®¸é ÇÁ·ÎÁ§Æ® ³»¿¡ ÀÖ´Â ¸ðµç °ÍµéÀÌ Â÷·Ê´ë·Î Ãß°¡µÉ °ÍÀÔ´Ï´Ù.
$ bzr add
added subdirectory
added test1.txt
added test2.txt
added test3.txt
added subdirectory/test4.txt
´ÙÀ½À¸·Î °¡Áö(branch)¿¡ ÆÄÀϵéÀ» ³Ñ°Ü¼­(commit) ±â·ÏÇØ º¸¼¼¿ä. ¸Þ½ÃÁöµµ Ãß°¡Çϼ¼¿ä.
$ bzr commit -m "Initial import"
Bazaar´Â ºÐ»êÇü ¹öÀü °ü¸® ½Ã½ºÅÛÀ̱⠶§¹®¿¡ Áß¾Ó ¼­¹ö¿¡ ¿¬°áµÉ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. Bazaar´Â ¿©·¯ºÐÀÇ °¡Áö(branch)¿Í ¸ðµç ³Ñ±æ ÆÄÀÏ(commit)À» ÇöÀç ÀÛ¾÷ÇÏ°í ÀÖ´Â µð·ºÅ丮 ³»ºÎ¿¡ º¸°üÇÕ´Ï´Ù. ÇÁ·ÎÁ§Æ® µð·ºÅ丮 ¾Æ·¡ .bzr À̶ó´Â ÇÏÀ§ µð·ºÅ丮¸¦ ã¾Æ º¸¼¼¿ä.

5. ÆÄÀÏ º¯°æÇϱâ


ÆÄÀÏ Çϳª¸¦ °íÄ¡°í º¯°æ »çÇ×À» °¡Áö(branch)¿¡ ³Ñ°Ü(commit) º¾½Ã´Ù.

test1.txt ÆÄÀÏÀ» ÆíÁýÇÑ ÈÄ ´ÙÀ½Ã³·³ º¯°æ »çÇ×À» üũÇØ º¸¼¼¿ä.
$ bzr diff
=== modified file 'test1.txt'
--- test1.txt   2007-10-08 17:56:14 +0000
+++ test1.txt   2007-10-08 17:46:22 +0000
@@ -0,0 +1,1 @@
+test test test
Bazaar °¡Áö(branch)¿¡ ÀÛ¾÷ ³»¿ëÀ» ³Ñ±â¼¼¿ä(commit).
$ bzr commit -m "Added first line of text"
Committed revision 2.

6. ¼öÁ¤ ÀÏÁö(revision log) º¸±â


ÀÏÁö(log)¸¦ º¸¸é ¿©·¯ºÐÀÇ °¡Áö(branch)ÀÇ ¿ª»ç¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
$ bzr log
------------------------------------------------------------
revno: 2
committer: John Doe <john.doe@gmail.com>
branch nick: myproject
timestamp: Mon 2007-10-08 17:56:14 +0000
message:
  Added first line of text
------------------------------------------------------------
revno: 1
committer: John Doe <john.doe@gmail.com>
branch nick: myproject
timestamp: Mon 2006-10-08 17:46:22 +0000
message:
  Initial import

7. sftp·Î ÃâÆÇ(publish)Çϱâ


¿©·¯ºÐÀÇ °¡Áö(branch)¸¦ ÃâÆÇ(publish)ÇÏ´Â ¹æ¹ýÀº ¿©·¯°¡Áö°¡ ÀÖ½À´Ï´Ù. ¸¸¾à SFTP ¼­¹ö¸¦ Çϳª °¡Áö°í Àְųª ¾Æ´Ï¸é ½±°Ô Çϳª ¸¸µé ¼ö ÀÖ´Ù¸é ±×°ÍÀ» ÀÌ¿ëÇؼ­ ÃâÆÇ(publish)ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾Æ´Ï¸é, ´ÙÀ½ ¼½¼ÇÀ¸·Î ³Ñ¾î°¡¼­ [http]Launchpad¿¡¼­ ÃâÆÇ(publish)ÇØ º¸¼¼¿ä. Launchpad´Â Bazaar¸¦ À§ÇÑ ¹«·á È£½ºÆà ¼­ºñ½ºÀÔ´Ï´Ù.

ÀÏ´Ü ¿©·¯ºÐÀÇ °¡Áö(branch)¸¦ www.example.com/myproject¿¡ ÃâÆÇ(publish)ÇÑ´Ù°í °¡Á¤ÇØ º¾½Ã´Ù.
$ bzr push --create-prefix sftp://your.name@example.com/~/public_html/myproject
2 revision(s) pushed.
Bazaar´Â ¿ø°Ý ¼­¹ö¿¡ myproject¶ó´Â µð·ºÅ丮¸¦ ¸¸µé°í ±× ¾È¿¡ °¡Áö(branch)¸¦ Áý¾î³ÖÀ» °Ì´Ï´Ù.

ÁÖÀÇ: sftp¸¦ »ç¿ëÇϱâ À§Çؼ­ paramiko¿Í pyCrypto¸¦ ¼³Ä¡ÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº [http]http://bazaar-vcs.org/InstallationFaq¸¦ ÂüÁ¶Çϼ¼¿ä.

ÀÌÁ¦ ´©±¸µçÁö ¿©·¯ºÐÀÇ °¡Áö(branch)¸¦ ¹Þ¾Æ¼­ ÀڽŸ¸ÀÇ º¹Á¦º»À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸í·ÉÀ¸·Î¿ä:
$ bzr branch http://www.example.com/myproject

8. Launchpad¿¡¼­ ÃâÆÇ(publish)Çϱâ


Launchpad´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ °³¹ß ¹× È£½ºÆà µµ±¸ ¸ðÀ½ÀÔ´Ï´Ù. ¿©·¯ºÐµµ ÀÌ¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

¾ÆÁ÷ Launchpad °èÁ¤ÀÌ ¾øÀ¸½Ã¸é, Çϳª ¸¸µå¼¼¿ä.

¾Æ·¡Ã³·³, john.doe ´ë½Å¿¡ ÀÚ½ÅÀÇ Launchpad »ç¿ëÀÚ¸íÀ» ½á¼­, ¸í·ÉÀ» ³»¸®¼¼¿ä.
$ bzr push bzr+ssh://john.doe@bazaar.launchpad.net/~john.doe/+junk/myproject
Âü°í: +junk´Â ÀÌ °¡Áö(branch)°¡ ±âÁ¸ÀÇ Æ¯Á¤ ÇÁ·ÎÁ§Æ®¿Í ¿¬°üÀÌ ¾ø´Ù´Â ¶æÀÔ´Ï´Ù.

ÀÌÁ¦, ´©±¸µçÁö ¿©·¯ºÐÀÇ °¡Áö(branch)¸¦ ¹Þ¾Æ¼­ ÀڽŸ¸ÀÇ º¹Á¦º»À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
$ bzr branch http://bazaar.launchpad.net/~john.doe/+junk/myproject

±×¸®°í, ¿©·¯ºÐÀÇ °¡Áö(branch)¿¡ °üÇÑ Á¤º¸´Â ¾Æ·¡¿Í °°Àº ÁÖ¼Ò¿¡¼­ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
https://code.launchpad.net/people/+me/+junk/myproject

9. ´Ù¸¥ °¡Áö(branch)ÀÇ º¹Á¦º» ¸¸µé±â


´Ù¸§ »ç¶÷ÀÇ Äڵ带 °¡Áö°í ÀÛ¾÷Çϱâ À§ÇÑ ¸ñÀûÀ¸·Î ±×µéÀÇ °¡Áö(branch)ÀÇ º¹Á¦º»À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦ ¿¹¸¦ Çѹø º¸Áö¿ä. BazaarÀÇ GTK ÀÎÅÍÆäÀ̽º¸¦ ¿¹·Î µé¾îº¾½Ã´Ù.
$ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.john
Branched 292 revision(s).
Bazaar´Â bzr-gtk ÇÁ·ÎÁ§Æ®ÀÇ Áٱ⠰¡Áö(trunk branch)¿¡¼­ ÆÄÀϵé ÀüºÎ¿Í ¼öÁ¤ ¿ª»ç¸¦ ¿ÏÀüÈ÷ ´Ù¿î·Îµå ¹Þ¾Æ¼­ º¹Á¦º»À» ¸¸µé°í bzr-gtk.johnÀ̶ó°í À̸§ºÙÀÏ °Ì´Ï´Ù.

ÀÌÁ¦, ¿©·¯ºÐÀÇ ÀڽŸ¸ÀÇ º¹Á¦º¹À» °¡Áö°Ô µÇ¾ú½À´Ï´Ù. ³×Æ®¿öÅ© ¿¬°áÀÌ Àְųª ¾ø°Å³ª °ü°è¾øÀÌ º¯°æ »çÇ×À» ³Ñ±æ(commit) ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¿©·¯ºÐÀÇ °¡Áö(branch)¸¦ ¾ðÁ¦µçÁö ÃâÆÇ(publishing)À» ÅëÇؼ­ ´Ù¸¥ »ç¶÷µé°ú °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à¿¡ bzr-gtk ÆÀÀÌ ¿©·¯ºÐÀÇ ÀÛ¾÷À» »ç¿ëÇÏ°í ½Í¾îÇÑ´Ù¸é, Bazaar´Â ±×µéÀÌ ¿©·¯ºÐÀÇ °¡Áö(branch)¸¦ ±×µéÀÇ Áٱ⠰¡Áö(trunk branch)¿¡ º´ÇÕ(merge)ÇÏ´Â °ÍÀ» ½±°Ô ÇØÁÙ °ÍÀÔ´Ï´Ù.

10. ÁÖ °¡Áö(main branch)¿¡¼­ ÀÚ½ÅÀÇ °¡Áö(branch) °»½ÅÇϱâ


¿©·¯ºÐÀÌ ÀÚ½ÅÀÇ °¡Áö(branch)¿¡ º¯°æ »çÇ×À» ³Ñ±â´Â(commit) µ¿¾È, ´Ù¸¥ »ç¶÷µéÀÌ ºÎ¸ð °¡Áö(parent branch)¿¡ Äڵ带 ³Ñ±â´Â(commit) ÀÛ¾÷ÀÌ ÁøÇàµÉ ¼ö ÀÖ½À´Ï´Ù.

¿©·¯ºÐÀÇ °¡Áö(branch)°¡ ÃֽŠ»óÅÂÀÎ °ÍÀ» È®ÀÎÇϱâ À§Çؼ­ ºÎ¸ð¿¡°Ô¼­ º¯°æ»çÇ×À» ¹Þ¾Æ ÀÚ½ÅÀÇ °³ÀÎ °¡Áö(branch)¿¡ º´ÇÕ(merge)ÇØ¾ß ÇÕ´Ï´Ù.
$ bzr merge
Using saved location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
All changes applied successfully.

º¯°æ »çÇ×ÀÌ ¹«¾ùÀÌ ÀÖ´ÂÁö È®ÀÎÇØ º¸¼¼¿ä.
$ bzr diff

º¯°æ »çÇ׿¡ ºÒ¸¸ÀÌ ¾ø´Ù¸é, ±× ³»¿ëÀ» ¿©·¯ºÐÀÇ °³ÀÎ °¡Áö(branch)¿¡ ³Ñ±æ(commit) ¼ö ÀÖ½À´Ï´Ù.
$ bzr commit -m "Merge from main branch"
Committed revision 295.

11. ÀÚ½ÅÀÇ ÀÛ¾÷À» ºÎ¸ð °¡Áö(parent branch)¿¡ º´ÇÕ(merge)Çϱâ


¿©·¯¤²¤¤ÀÌ bzr-gtkÀÇ °³ÀÎ °¡Áö(branch)¿¡¼­ ÀÛ¾÷À» ÇÑ ÈÄ¿¡ ÀÚ½ÅÀÌ º¯°æÇÑ ³»¿ëÀ» ÇÁ·ÎÁ§Æ®¿¡ ¿Ã·Áº¸³»°í ½ÍÀ» ¼ö ÀÖ½À´Ï´Ù. °¡Àå °£´ÜÇÑ ¹æ¹ýÀº º´ÇÕ(merge) ¸í·ÉÀ» ÀÌ¿ëÇÑ °ÍÀÔ´Ï´Ù.

º´ÇÕ(merge) ¸í·ÉÀº ±â°è°¡µ¶Çü ¿äûÀ¸·Î ƯÁ¤ÇÑ º´ÇÕ(merge)À» ¼öÇàÇÕ´Ï´Ù. º¸ÅëÀº º´ÇÕ(merge)ÀÇ ÆÐÄ¡ ÇÁ¸®ºä (patch preview)¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ±×¸®°í ÇÊ¿äÇÑ ¼öÁ¤ÆÇ(revision)µéÀÌ Æ÷ÇԵǰųª ¶Ç´Â ÇØ´ç ¼öÁ¤ÆǵéÀ» ´ã°í ÀÖ´Â °¡Áö(branch)°¡ Á¦°øµÉ ¼ö ÀÖ½À´Ï´Ù.

mycode.patch¿¡ ¿©·¯ºÐÀÇ º´ÇÕ ¸í·É(merege directive)¸¦ ¸¸µé·Á¸é:
$ bzr send -o mycode.patch
Using saved location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk

ÀÌÁ¦ º´ÇÕ ¸í·ÉÀ» À̸ÞÀÏ·Î bzr-gtk ÇÁ·ÎÁ§Æ®¿¡ º¸³»¼¼¿ä. ±×µéÀÇ ¼±Åÿ¡ µû¶ó ¿©·¯ºÐÀÇ ÀÛ¾÷ÀÌ ºÎ¸ð °¡Áö¿¡ º´ÇÕµÉ ¼ö ÀÖ½À´Ï´Ù.

12. ´õ ¹è¿ì±â


Bazaar¿¡ °üÇؼ­ ´õ ¹è¿ì°í ½ÍÀ¸½Ã¸é [http]Bazaar user guide¸¦ µÑ·¯º¸¼¼¿ä.

¸í·ÉÇà¿¡¼­ Bazaar¿¡ °üÇØ ¹è¿ì°í ½ÍÀ¸½Ã¸é:
$bzr help

Bazaar ¸í·Éµé¿¡ ´ëÇØ ¾Ë°í ½ÍÀ¸½Ã¸é:
$ bzr help commands

ƯÁ¤ÇÑ "foo" ¶ó´Â ÁÖÁ¦³ª ¸í·É¿¡ ´ëÇØ ¾Ë°í ½ÍÀ¸½Ã¸é:
$ bzr help foo










ID
Password
Join
You have a will that can be influenced by all with whom you come in contact.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-04-03 01:18:49
Processing time 0.0086 sec