{{{#!html
Emacs¿¡¼ KLDP.net ¼ºñ½ºÀÇ Subversion(SVN)ÀÌ¿ëÇϱâ
}}}
[[TableOfContents]]
== ÀÌ ¹®¼´Â ==
[Emacs]ÀÇ subversion È®ÀåÀ» ÀÌ¿ëÇÏ¿© kldp.net ¼ºñ½º¿¡ µî·ÏµÈ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå/¼öÁ¤/¾÷·Îµå Çϴµ¥ µµ¿òÀÌ µÇ±â À§ÇÑ ¸ñÀûÀ¸·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù.
== [http://kldp.net KLDP.net ] ==
KLDP.net ´Â Open Source °³¹ßÀÚ¿¡°Ô Á¦°øµÇ´Â ¹«·á ¼ºñ½º·Î¼, Subversion, ¸ÞÀϸµ ¸®½ºÆ®, ¹ö±× Æ®·¡Å·, °ø°³ °Ô½ÃÆÇ, ÀÓ¹« °ü¸®, À¥»çÀÌÆ® È£½ºÆÃ, ¿µ±¸ÀûÀÎ ÆÄÀÏ ¾ÆÄ«À̺ê, ¹é¾÷ ¼ºñ½º¸¦ Æ÷ÇÔÇÑ ¿ÏÀüÇÑ À¥±â¹Ý °ü¸® ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù.
== Linux ȯ°æ¿¡¼ Emacs + Subversion »ç¿ëÇϱâ ==
=== ¼³Ä¡ ¹× ¼³Á¤ ===
Emacs ¿Í SubversionÀ» ¿¬µ¿Çؼ kldp.netÀÇ ÇÁ·ÎÁ§Æ®¸¦ ¼öÁ¤Çϱâ À§Çؼ´Â ´ÙÀ½ ÇÁ·Î±×·¥µéÀ» ¼³Ä¡ÇØ¾ß ÇÑ´Ù.
* Emacs
* Emacs Extension - [http://www.xsteve.at/prg/emacs/psvn.el psvn.el]
* subversion
* ssh
==== 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_¶óÀ̺귯¸®_µð·ºÅ丮
}}}
==== Gentoo ȯ°æ¿¡¼ ¼³Ä¡ ====
==== Redhat / Fedora ȯ°æ¿¡¼ ¼³Ä¡ ====
=== 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]¸¦ Âü°íÇϱ⠹ٶõ´Ù.
== Win32 ȯ°æ¿¡¼ Emacs + Subversion »ç¿ëÇϱâ ==
=== óÀ½ ½ÃµµÇÏ¿´À¸³ª ½ÇÆÐÇÑ ¹æ¹ý ===
°¡´ÉÇÑ ¸®´ª½º¿Í À¯»çÇÑ È¯°æ¿¡¼ Emacs+SubversionÀ» »ç¿ëÇϱâ À§ÇØ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» ½ÃµµÇÏ¿´À¸³ª ½ÇÆÐÇÏ¿´´Ù.
==== ¼³Ä¡ ¹× ¼³Á¤ ====
* Emacs Win32
[EmacsWin32Install]
* psvn - Emacs Subversion È®Àå
´Ù¿î·Îµå : http://www.xsteve.at/prg/emacs/psvn.el
* Subversion Win32
ȨÆäÀÌÁö : http://subversion.tigris.org/
* ssh Win32
ȨÆäÀÌÁö : http://sshwindows.sourceforge.net/
À§ÀÇ ÇÁ·Î±×·¥À» °¢°¢ÀÇ ¸µÅ©¿¡¼ ´Ù¿î·ÎµåÇÏ¿© ¼³Ä¡ÇÑ´Ù. ´Ù¿î·ÎµåÇÑ psvn.elÀº emacs°¡ ÀÐÀ» ¼ö ÀÖ´Â µð·ºÅ丮¿¡ ³Ö°í M-x load-lib¸í·ÉÀ» ÅëÇØ emacs¿¡¼ ºÒ·¯µéÀδÙ. emacs¿¡¼ .elÆÄÀÏÀ» ·ÎµåÇÏ´Â °Í¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº [EmacsInstallScript]¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
¼³Ä¡µÈ 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
}}}
==== ½ÇÇà ¹× °á°úºÐ¼® ====
À©µµ¿ìÀÇ ÄܼÖâ¿¡¼ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¿© 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/ÇÁ·ÎÁ§Æ®¸í
}}}
=== ´ë¾ÈÃ¥ ===
sshwindows + subversion Win32¸¦ Emacs¿Í ¿¬µ¿ÇÏÁö ¾Ê°í, º°µµÀÇ Subversion ÇÁ·Î±×·¥À» »ç¿ëÇÑ´Ù.
°¡Àå ³Î¸® ¾Ë·ÁÁö°í »ç¿ëÀÌ ½¬¿î °ÍÀº tortoisesvn( http://tortoisesvn.tigris.org ) À¸·Î, ÇÑ±Û È®ÀåÆѱîÁö ÀÖ´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾îÀÌ´Ù. ÀÚ¼¼ÇÑ »ç¿ë ¿¹´Â ´ÙÀ½ ¸µÅ©¿¡¼ º¼ ¼ö ÀÖ´Ù.
i. [TortoiseSVN]
i. [TortoiseSVN-USE]
== Âü°í ÀÚ·á ==
* http://www.emacswiki.org/cgi-bin/wiki/SubVersion
* http://sshwindows.sourceforge.net/
* [UsingSshAgent]
* [DocbookSgml/SSH-KLDP]
* http://tortoisesvn.tigris.org/
----
'''¹®¼ º¯°æ»çÇ×'''
* óÀ½ ¸¸µê: ¾Æºü°õ 20070522
----
See also:
* EmacsTinyTips
----
CategoryEmacs