Emacs With Kldp Dot Net
Emacs¿¡¼ KLDP.net ¼ºñ½ºÀÇ Subversion(SVN)ÀÌ¿ëÇϱâ
1. ÀÌ ¹®¼´Â ¶EmacsÀÇ subversion È®ÀåÀ» ÀÌ¿ëÇÏ¿© kldp.net ¼ºñ½º¿¡ µî·ÏµÈ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå/¼öÁ¤/¾÷·Îµå Çϴµ¥ µµ¿òÀÌ µÇ±â À§ÇÑ ¸ñÀûÀ¸·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù.
2. KLDP.net ¶KLDP.net ´Â Open Source °³¹ßÀÚ¿¡°Ô Á¦°øµÇ´Â ¹«·á ¼ºñ½º·Î¼, Subversion, ¸ÞÀϸµ ¸®½ºÆ®, ¹ö±× Æ®·¡Å·, °ø°³ °Ô½ÃÆÇ, ÀÓ¹« °ü¸®, À¥»çÀÌÆ® È£½ºÆÃ, ¿µ±¸ÀûÀÎ ÆÄÀÏ ¾ÆÄ«À̺ê, ¹é¾÷ ¼ºñ½º¸¦ Æ÷ÇÔÇÑ ¿ÏÀüÇÑ À¥±â¹Ý °ü¸® ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù.
3.1. ¼³Ä¡ ¹× ¼³Á¤ ¶Emacs ¿Í SubversionÀ» ¿¬µ¿Çؼ kldp.netÀÇ ÇÁ·ÎÁ§Æ®¸¦ ¼öÁ¤Çϱâ À§Çؼ´Â ´ÙÀ½ ÇÁ·Î±×·¥µéÀ» ¼³Ä¡ÇØ¾ß ÇÑ´Ù.
3.1.1. Debian/Ubuntu ȯ°æ¿¡¼ ¼³Ä¡ ¶´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î °£ÆíÇÏ°Ô ¼³Ä¡°¡ °¡´ÉÇÏ´Ù. emacs22´Â ¾ÈÁ¤¹öÀüÀº ¾Æ´ÏÁö¸¸ ÃÖ½ÅÀÇ ¿©·¯ ±â´ÉÀ» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç Å« ¹®Á¦ ¾øÀÌ »ç¿ë°¡´ÉÇϹǷΠÁ÷Á¢ ¼³Ä¡Çغ¸´Â°Íµµ ÁÁ´Ù. ssh-askpass´Â ssh·Î±×ÀÎÀ» Çϴµ¥ ²À ÇÊ¿äÇϹǷΠ¼³Ä¡ÇØÁÖ¾î¾ß ÇÑ´Ù. ´Ù¿î·Îµå ¹ÞÀº psvn.elÀ» ·ÎµåÇÏ´Â °ÍÀº EmacsInstallScript¸¦ Âü°íÇÑ´Ù.
shell > apt-get install emacs21 emacs21-bin-common emacs21-common emacs21-el shell > apt-get install subversion subversion-tools shell > apt-get install ssh openssh-client ssh-askpass shell > wget http://www.xsteve.at/prg/emacs/psvn.el; mv psvn.el Emacs_¶óÀ̺귯¸®_µð·ºÅ丮 3.2. CheckoutÇϱ⠶Emacs¸¦ ½ÇÇàÇÏ°í, *Messages* âÀ» ÅëÇØ psvnÀÌ Á¤»óÀûÀ¸·Î ·ÎµåµÈ°ÍÀ» È®ÀÎÇÑ´Ù. Emacs½ÇÇàÀÌ Á¤»óÀûÀ¸·Î ¿Ï·áµÇ¾úÀ¸¸é ´ÙÀ½ ¸í·ÉÀ» ÅëÇØ Subversion¿¡ üũ¾Æ¿ôÇÑ´Ù. °¢ ÇÁ·ÎÁ§Æ®ÀÇ subversion ¼¹ö ÁÖ¼Ò´Â ÇÁ·ÎÁ§Æ® ȨÆäÀÌÁöÀÇ SCM(Source Code Management) µð·ºÅ丮¿¡¼ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
Emacs > M-x svn-checkout Emacs - Checkout from repository Url: svn+ssh://»ç¿ëÀÚ¸í@kldp.net/svnroot/ÇÁ·ÎÁ§Æ®¸í Emacs - Checkout to directory: ¼Ò½ºÆÄÀÏÀ» ´Ù¿î·ÎµåÇÒ µð·ºÅ丮 À§¿Í °°ÀÌ ¸í·ÉÀ» ³»¸®¸é Emacs »óÅÂÇ¥½ÃâÀÌ "EShell running checkout" À¸·Î ¹Ù²î°í °ð ÀÛÀº À©µµ¿ì âÀÌ »ý±â¸é¼ ºñ¹Ð¹øÈ£¸¦ ¹°¾î¿Â´Ù. À̶§ Á¤»óÀûÀ¸·Î ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇÏ¿©µµ ´Ù½Ã ºñ¹Ð¹øÈ£ ÀÔ·ÂâÀÌ ¶ß´Âµ¥ ´çȲÇÏÁö ¸»°í ºñ¹Ð¹øÈ£¸¦ ´Ù½Ã ÀÔ·ÂÇÑ´Ù. ºñ¹Ð¹øÈ£´Â ÃÑ 3¹ø ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ºñ¹Ð¹øÈ£ ÀԷ°úÁ¤ÀÌ ¹ø°Å·Î¿ì¸é ¼¹ö¿¡ sshÅ°¸¦ ³Ö¾îµÎ°í ssh-agent¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù. ÀÚ¼¼ÇÑ ¹æ¹ýÀº UsingSshAgent ¶Ç´Â DocbookSgml/SSH-KLDP¸¦ Âü°íÇϱ⠹ٶõ´Ù.
4.1. óÀ½ ½ÃµµÇÏ¿´À¸³ª ½ÇÆÐÇÑ ¹æ¹ý ¶°¡´ÉÇÑ ¸®´ª½º¿Í À¯»çÇÑ È¯°æ¿¡¼ Emacs+SubversionÀ» »ç¿ëÇϱâ À§ÇØ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» ½ÃµµÇÏ¿´À¸³ª ½ÇÆÐÇÏ¿´´Ù.
4.1.1. ¼³Ä¡ ¹× ¼³Á¤ ¶
¼³Ä¡µÈ ssh¸¦ ÀÌ¿ëÇÏ¿© Å°¸¦ »ý¼ºÇÏ°í ¼¹ö¿¡ ¾÷·ÎµåÇÏ¿© ÀÚµ¿À¸·Î ·Î±×ÀÎÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ssh Å°¸¦ ÀÌ¿ëÇÏ¿© ºñ¹Ð¹øÈ£ ÀÔ·Â ¾øÀÌ ¼¹ö¿¡ Á¢¼ÓÇÏ´Â ÀÚ¼¼ÇÑ ¹æ¹ýÀº UsingSshAgent ¶Ç´Â DocbookSgml/SSH-KLDP¿¡ ¼³¸íµÇ¾î ÀÖ´Ù.
# ½ÃÀÛ¹öÆ° > ½ÇÇà > cmdÀ» ÀÌ¿ëÇØ ¿Àº ÄܼÖâ¿¡¼ ´ÙÀ½À» ½ÇÇàÇÑ´Ù. shell > ssh-keygen -t rsa shell > cd .shell shell > scp id_rsa.pub user@kldp.net:.ssh/authorized_keys 4.1.2. ½ÇÇà ¹× °á°úºÐ¼® ¶À©µµ¿ìÀÇ ÄܼÖâ¿¡¼ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¿© Subversion + ssh°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ´Â °ÍÀ» È®ÀÎÇØ º»´Ù. ¸¶Áö¸·¿¡ svn¸í·ÉÀ» ³»·ÈÀ»¶§ ¼¹ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ºñ¹Ð¹øÈ£¸¦ ¼¼¹ø ¹¯´Âµ¥, À̴ óÀ½ ÀÔ·ÂÇÑ ºñ¹Ð¹øÈ£°¡ À߸øµÇ¾î¼ ´Ù½Ã ¹¯´Â°ÍÀÌ ¾Æ´Ï¹Ç·Î ´çȲÇÏÁö ¸»°í ºñ¹Ð¹øÈ£¸¦ ´Ù½Ã ÀÔ·ÂÇϵµ·Ï ÇÑ´Ù.
shell > cd c:\testdir shell > svn checkout svn+ssh://»ç¿ëÀÚ¸í@kldp.net/svnroot/ÇÁ·ÎÁ§Æ®¸í Emacs¿¡¼ psvnÀ» »ç¿ëÇÏ¿© svn¼¹ö¿¡ Á¢¼ÓÇÏ´Â °ÍÀ» ½ÃÇèÇØ º»´Ù. psvn.elÀº ÀÌ¹Ì ·ÎµåµÇ¾î ÀÖ´Â »óÅ¿©¾ß ÇÑ´Ù.
Emacs > M-x svn-checkout svn://»ç¿ëÀÚ¸í@kldp.net/svnroot/ÇÁ·ÎÁ§Æ®¸í À§ÀÇ ½ÃÇèÀ» ÅëÇØ Emacs + psvn, ssh + subversionÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÔÀ» È®ÀÎÇÏ¿´´Ù. ±×·¯³ª ´ÙÀ½ ¸í·ÉÀ» ÅëÇØ Emacs + psvn => ssh + subversionÀÇ ¿¬µ¿À» ½ÃÇèÇغ¸¸é Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. È®ÀÎÇØ º¸¸é "Pseudo-terminal will not be allocated because stdin is not a terminal" ¶ó´Â ¿¡·¯¸Þ¼¼Áö¿Í ÇÔ²² sshÁ¢¼Ó¿¡ ½ÇÆÐÇÏ°í ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. Emacs¿¡¼ ssh¿Í °°Àº ¿ÜºÎÇÁ·Î±×·¥À» ½ÇÇàÇϴµ¥ Àå¾Ö°¡ ÀÖ´Â °ÍÀ¸·Î »ý°¢µÈ´Ù.
Emacs > M-x svn-checkout svn+ssh://»ç¿ëÀÚ¸í@kldp.net/svnroot/ÇÁ·ÎÁ§Æ®¸í 4.2. ´ë¾ÈÃ¥ ¶sshwindows + subversion Win32¸¦ Emacs¿Í ¿¬µ¿ÇÏÁö ¾Ê°í, º°µµÀÇ Subversion ÇÁ·Î±×·¥À» »ç¿ëÇÑ´Ù.
°¡Àå ³Î¸® ¾Ë·ÁÁö°í »ç¿ëÀÌ ½¬¿î °ÍÀº tortoisesvn( http://tortoisesvn.tigris.org ) À¸·Î, ÇÑ±Û È®ÀåÆѱîÁö ÀÖ´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾îÀÌ´Ù. ÀÚ¼¼ÇÑ »ç¿ë ¿¹´Â ´ÙÀ½ ¸µÅ©¿¡¼ º¼ ¼ö ÀÖ´Ù.
|
Nobody expects the Spanish Inquisition! |