Subversion/ja
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
2006幎4æ1æ¥ä»¥éãSourceForgeã®éçºè çšã®CVSãµãŒãã¹ã®äŸçµŠåæ¢ã«ãã£ãŠæã (MediaWikiã®éçºè )ã¯ç¬èªã«ãœãŒã¹ã³ãŒããªããžããªãã»ããã¢ããããªããã°ãªããªããªããŸããã
æ°ãããªããžããªã¯Subversionã䜿çšããŠããŸããSubversionã¯CVSãããæµè¡ããŠããŠããšãŠããã䌌ãã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŠããŸãã
2006幎4æ1æ¥ãã2007幎5æ31æ¥ãŸã§ã®éããªããžããªã¯Brion(ããªãªã³)ã®ãªããµã€ããµãŒã( http://www.leuksman.com )ã§ãã¹ããããŠããŸããã2007幎5æ31æ¥ä»¥éãã¢ã ã¹ãã«ãã ã®Wikimediaã®ãµãŒã(mayflower
)ã§ãã¹ããããŠããŸãã
Subversionã䜿çšããããã«ã¯ãå ¬åŒã®ã³ãã³ãã©ã€ã³Subversionã¯ã©ã€ã¢ã³ããããŠã³ããŒãããªããã°ãªããŸãããWindowsçšã®TortoiseSVNã®ãããªä»£æ¿çãªã°ã©ãã£ã«ã«ã¯ã©ã€ã¢ã³ãã䜿çšããããšãåºæ¥ãŸãã
Subversionã®ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¯äžè¬çã«CVSã«ãã䌌ãŠããŸãããã®èšäºã¯å€ãã®äŸ¿å©ãªã³ãã³ãã©ã€ã³ã®åºæ¬çã§éšåçãªã¬ã€ãã§ããå®å šãªã¬ã€ãã«ã€ããŠã¯Subversionã«ããããŒãžã§ã³ç®¡çãã芧äžããããµãŒããžã®æžã蟌ã¿æš©éãæã£ãŠããã®ã§ããã°ãSubversionã®å é²çãªæ©èœã«ã€ããŠèªãããšããå§ãããŸãããªããªãé ããæ©ãã䜿ãããšã«ãªãããã§ãã
ãªããžããª[edit]
MediaWikiã®ãªããžããªã¯ããªãªã³ã®å人çãªãµãŒãã§ãã¹ããããhttp://svn.wikimedia.org/svnroot/mediawiki/ããã¢ã¯ã»ã¹å¯èœã§ãããããžã§ã¯ãã¯ããããæšæºçãªéå±€ã䜿çšããŠããŸã:
branches
tags
trunk
è©Šäœåã®äœæ¥ã¯trunk
ããªãŒã§äœæãããŸããWikimediaãµãŒãã¯è£œåå©çšã®ããã«ãã®ããªãŒã«ããã³ãŒããåäœãããŸãããã®ããªãŒã§äœæããããããã¯ã³ãŒããå£ããŠã¯ãªããŸãããtrunkã®æ¡åŒµçãªéšåãæžãæããããšãåæ§ã«é¿ããã¹ãã§ããMediaWikiæ¬äœã¯trunkã®phase3
ãµããã£ã¬ã¯ããªã«ãããŸãã
Branches
ã¯äž»èŠãªã³ãŒãã£ã³ã°äœæ¥ã巚倧ãªãããããã¹ããããäžå®å®ãªãããããã¹ããããªã©ã®ããã«äœ¿çšãããŸããéçºè
ã®äžã«ã¯ãã®ã³ãŒãã«ç¬èªã®ãã©ã³ããæã£ãŠãã人ãããŸããæ°ããå®å®çãªãªãŒã¹ãæºåããããã«ã䜿çšãããŸã(ããç¥ãããããŒã¿ â ãªãªãŒã¹åè£ â ã»ãã¥ãªã㣠& ã¡ã³ããã³ã¹ä¿®æ£ã®ãµã€ã¯ã«)ãããããã®äž»èŠãªå®å®çã·ãªãŒãºã¯REL<major_version>_<minor_version>ãšããç¬èªã®ãã£ã¬ã¯ããªã䜿ããŸããäŸãã°MediaWiki1.9ã¯REL1_9
ã§å
¬éãããŸãã
Tags
ã¯ãã®æç¹ã§ã®ãœãããŠã§ã¢ã®ç¶æ
ãä¿åããããã«äœ¿çšãããç¹å¥ãªéå±€ã§ããããã¯ãã£ããŠå€æŽãã¹ãã§ã¯ãããŸãããæ°ããããŒãžã§ã³ããªãªãŒã¹ãããšãã®ã¿äœ¿çšããŸãããã®äœæ¥ã¯MediaWikiãªãªãŒã¹ãããŒãžã£äžäºº(2007幎2ææç¹ã§ã¯Brion Vibber)ã«ãã£ãŠåãæ±ãããŸãã
wikimedia-web
ãšããååã®è¿œå ã®ãµããããžã§ã¯ãããããŸããhttp://www.wikimedia.org/ ã§èšçœ®ãããWikimediaã®ããŒã¿ã«ãã¡ã€ã«ããã¹ãããŠããŸããWikimedia財å£ãã€/ãããã¯Wikimediaã®ã·ã¹ãã ã¢ãããã¹ãã¬ãŒã¿ã«é¢é£ããªãã®ã§ããã°ãéåžžã¯ä¿®æ£ããŸããã
å¿åã«ããå©çš[edit]
ãªããžããªã«å¯Ÿããæžã蟌ã¿æš©éãæããªãå Žåã§ãéåžžã®HTTPçµç±ã§å¿åã«ããã¢ã¯ã»ã¹ããªãã°ãªããŸãããããããªãããããã§ç€ºãããå€ãã®æè¡ã¯éçºè ã®ããã®å©çšã«ã䟿å©ãªã®ã§ãå¿åã§ãµãŒãã«ã¢ã¯ã»ã¹ããå¿ èŠããªãå Žåã§ãã©ããã芧äžããã
ãã§ãã¯ã¢ãŠã[edit]
æåã«ãMediaWikiã®ã³ãŒãããã§ãã¯ã¢ãŠãããªããã°ãªããŸããã次ã®æ§æã䜿çšããŸã:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/folders_to_download sub_folder_name
ãŠã§ãã€ã³ã¿ãŒãã§ã€ã¹ (ViewVC)ã䜿çšããŠã³ãŒãæ§é ããã©ãŠãºããããšãåºæ¥ãŸããç°ãªã£ãç®çã®ããã«ããã«ãã3ã€ã®ãã©ã«ãã䜿çšããŠäžãã:
- Trunkã¯ã¡ã€ã³éçºãã©ã³ãã§ãã
- branchesã¯å®å®ããŒãžã§ã³ãšè€éãªæ©èœã®éçºã®ããã«äœ¿çšãããŸãã
- tagsã¯ãªãªãŒã¹ãããããŒãžã§ã³ã远跡ããããã«äœ¿çšãããŸãã
URLæ§é ã¯ä»¥äžã®éãã§ã:
- transport
- http://svn.wikimedia.org
- repository
- /svnroot/mediawiki
- branch/tag
- /trunk, or /branches/REL1_9, or /tags/REL1_9_0
- files
- /phase3
å€ãCVSãšã¯ç°ãªããURLã¯brachãããã¯tagãæå®ããããã«äœ¿çšãããŸãã
MediaWikiã®éçºçšã®trunkã"wiki"ãã©ã«ãã«ãã§ãã¯ã¢ãŠãããŸã:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 wiki
ãšã¯ã¹ãã³ã·ã§ã³ã»ããã"extensions"ãã©ã«ãã«ãã§ãã¯ã¢ãŠãããŸã:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions extensions
ç¹å®ã®ãªãªãŒã¹ãã©ã³ãã§ææ°ã®ã³ãŒãããã§ãã¯ã¢ãŠãããŸã:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/branches/REL1_9/phase3 REL1_9
ãœãããŠã§ã¢ã®ç¹å®ã®ããŒãžã§ã³ããã§ãã¯ã¢ãŠãããŸã:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/tags/REL1_9_0/phase3 REL1_9_0
å€ãCVSãšã¯ç°ãªããå¿åã¢ã¯ã»ã¹ã¯å®å šã«ææ°ãªã®ã§ãã³ããããããåŸã§å³åº§ã«ä¿®æ£ãããã³ãŒããå ¥æåºæ¥ãŸãã
"trunk"ãããã¯ãã©ã³ãéšåãäžæ¢ãããªãã§äžãã! ãªããžããªã«ãããã¹ãŠã®ãã¡ã€ã«ã®ãã¹ãŠã®ãªããžã§ã³ããã§ãã¯ã¢ãŠãããããšãäžæ¢ããã®ã¯ãšãŠã銬鹿ããŠããŸãã
ã¯ãŒãã³ã°ã³ããŒãã¢ããããŒããã[edit]
ã¯ãŒãã³ã°ã³ããŒãã¢ããããŒãããŠææ°ã®ãã¡ã€ã«ãååŸããããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸã:
svn update
CVSãšã¯ç°ãªããSVNã¯åé€ããããã¡ã€ã«ãé€å»ãããããã¯æ°ãããã£ã¬ã¯ããªãäœãå¿ èŠã¯ãããŸãããèªåçã«ãã®äœæ¥ãè¡ãããŸãã
å·®åãäœæãã[edit]
å·®åããããã¯ãããã¯ã¯ãŒãã³ã°ã³ããŒã§å€æŽããããã¹ãŠã®å 容ãå«ãããã¹ããã¡ã€ã«ã§ããBugzillaã§æ°ããæ©èœãææ¡ãããããã¯ã©ã®éšåãä¿®æ£ããã®ããææ¡ããå Žåãããããã¢ããããŒãããŠäžããã
çŸåšã®ãªããžããªããå·®åãäœæããããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŠäžãã:
svn diff
éåžžãCVSãšã¯ç°ãªããã©ã®ãã¡ã€ã«ãå€æŽããã®ãSVNã«äŒããå¿ èŠã¯ãããŸãã; ããããªããããªããžããªã®éšåã®å·®åãååŸãããå Žåãå·®åãååŸãããã¡ã€ã«ãæå®ããŸã:
svn diff includes/SpecialMyAwesomePage.php
SVNã¯"unified"ã®å·®åãã©ãŒããããããã©ã«ãã§äœ¿çšããã®ã§ã"-u"ãªãã·ã§ã³ã¯æž¡ãããªãããšã«æ³šæããŠäžããã
å·®åãé©çšãã[edit]
Subversionã¯å·®åãçŸåšã®ã¯ãŒãã³ã°ã³ããŒã«é©å¿ããçµã¿èŸŒã¿ã®ã³ãã³ããå«ãã§ããŸãã(äŸãã°ãBugzillaã§å ¬éãããå·®åãã¬ãã¥ãŒãããã¯ã³ããããããã); 代ããã«ãéåžžã®patch UNIXãŠãŒãã£ãªãã£ã䜿çšããããšãåºæ¥ãŸã:
patch -p0 < patch_file
TortoiseSVNã¯å·®åãé©çšããããã®çµã¿èŸŒã¿ã®ãµããŒããæã¡ãŸãã
ãã¡ã€ã«æ§é ãå€æŽãã[edit]
次ã®å·®åãããã¯ã³ãããã«å«ããããã«ã次ã®ã³ãã³ãã䜿çšããŠãã¡ã€ã«ãããã¯ãã©ã«ããã¯ãŒãã³ã°ã³ããŒã«è¿œå ããããšãåºæ¥ãŸã:
svn add file.name
ãã©ã«ããè¿œå ããå Žåãç¡èŠããããªã¹ãã«ãããã¡ã€ã«ä»¥å€ããã©ã«ãã«å«ãŸãããã¹ãŠã®ãã¡ã€ã«ãè¿œå ããŸãã
次ã®ã³ããããããã¯æ¬¡ã®å·®åã§ããŒã¯ãããã¯ãŒãã³ã°ã³ããŒãããã¡ã€ã«ãããã¯ãã©ã«ããåé€ããããšãåºæ¥ãŸã(èªåçã«ã¯ãŒãã³ã°ã³ããŒãããã¡ã€ã«ãåé€ãããããã®ãããªæ¹æ³ã§ãã©ã«ãã¯åé€ããªã):
svn delete file.name
ãã¡ã€ã«ãããã¯ãã©ã«ããããŒã«ã«ä¿®æ£ãå«ãŸãªãããšã確èªããŠäžããããããªããã°åŒ·å¶ããªãéãããããã¯åé€ãããŸããã
å€æŽããªããŒããã[edit]
ã¯ãŒãã³ã°ã³ããŒã§å€æŽããããšã䟿å©ã¯ãªããšæãã®ã§ããã°ã次ã®ã³ãã³ãã䜿çšããŠãªããŒãããããšãåºæ¥ãŸã:
svn revert
ã³ãã³ãçšã®ãã©ã¡ãŒã¿ã䜿çšããªããã°ãªããŸãããã¯ãŒãã³ã°ã³ããŒã§ã®ãã¹ãŠã®å€æŽããªããŒãããããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸã:
svn revert -R .
ç¹å®ã®ãã¡ã€ã«ã®å€æŽããªããŒãããããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸã:
svn revert file.name
ãªããŒãã¯è¿œå ããããã¡ã€ã«(svn add
ãåé€ã«äœ¿ããªãã£ãããã«ããããã¯åé€ããããé€å»ãã"unknown files"ãšèŠãªãããŸã)ãé€å»ããããšãåé€ããããã¡ã€ã«ã埩å
ããããšãåºæ¥ãŸã(äž¡æ¹ãšãæäœæ¥ã§ãããã¯svn delete
ã§åé€ããŸã)ã
ã¯ãŒãã³ã°ã³ããŒã®ç¶æ ããã§ãã¯ãã[edit]
次ã®ã³ãã³ãã䜿çšããŠã¯ãŒãã³ã°ã³ããŒã®ç¶æ ããã§ãã¯ããããšãåºæ¥ãŸã:
svn status
é ç®ã®æåã®ã«ã©ã ã«ããã€ãã®éèŠãªæåããããŸããããã¯æ¬¡ã®ãããªã¹ããŒã¿ã¹ã衚瀺ããŸã:
- M = ããªãã«ãã£ãŠä¿®æ£ãããé ç®
- A = ããªãã«ãã£ãŠè¿œå ãããé
ç®(
svn add
ã䜿çš) - D = ããªãã«ãã£ãŠåé€ãããé
ç®(
svn delete
ã䜿çš) - ? = ååšãããããŒãžã§ã³ã³ã³ãããŒã«ã®ç®¡çäžã«ãªãé ç®
- ! = èŠå€±ã£ãŠãããããã¯äžå®å
šãªé
ç®(ããŒãžã§ã³ã³ã³ãããŒã«ã®ç®¡çäžã«ãããååšããªã - ããããã¯
svn delete
ç¡ãã§åé€ããããã®)
éçºè ã®ããã®äœ¿çšæ¹æ³[edit]
ãµãŒããžã®æžã蟌ã¿æš©éãæã€å ŽåãHTTPã¢ã¯ã»ã¹ã®ä»£ããã«SSHã¢ã¯ã»ã¹ãå©çšããããšãåºæ¥ãŸããããã¯åŸã§å€æŽããããšããããããããŸããã
SSHããŒãäœæãã[edit]
SSHããŒãäœæããããã«Sourceforgeã«ããæåŒãã«åŸããŸãããã¹ã¯ãŒãå¥ãèŠããç§å¯éµ(id_dsa
ãããã¯id_rsa
)ãä¿åããŠãããå
¬ééµãéããŸã(id_dsa.pub
ãããã¯id_rsa.pub
)ã
URLs[edit]
ãµãŒãå http://svn.wikimedia.org
ã ãã¹ãŠã®ã³ãã³ãã§svn+ssh://your_user_name@svn.wikimedia.org
ã«çœ®ãæãããš(äŸãã°ã svn checkout
)
ãŠã§ãã¢ã¯ã»ã¹ãèŠæ±ããæ©èœã®ããã«ãã¹ã¯ãŒããå
¥åããªããã°ãªããªãæã«ãéåžžã®æ©èœãå©çšããããšãåºæ¥ãŸããæã«ã¯ãã¹ã¯ãŒããè€æ°åèŠæ±ãããããšããããŸãããã¹ã¯ãŒããééãããšãåã³å
¥åããããã«æ±ããããŸãã
äŸãã°ãææ°ã®trunkãå¿åãšããŠãã§ãã¯ã¢ãŠãããããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸã:
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 wiki
éçºè ãšããŠãã§ãã¯ã¢ãŠãããããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸã:
svn checkout svn+ssh://your_user_name@svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 wiki
ãããåäœãããããã«ã¯ãããªãã®èº«å
確èªãsshèªèšŒãšãŒãžã§ã³ãã«è¿œå ããªããã°ãªããŸãããäŸãã°ãç§å¯éµãçŸåš/home/tux/.ssh/tux.key
ã«èšçœ®ãããŠããå Žåã次ã®ã³ãã³ãã䜿çšããŠè¿œå ããªããã°ãªããŸãã:
ssh-add /home/tux/.ssh/tux.key
WindowsãŠãŒã¶[edit]
Subversionã¯ã©ã€ã¢ã³ãã®WindowsãŠãŒã¶ã¯SSHç§å¯éµãå©çšã§ããããã«ããããã«ããã§èšåãããŠãã次ã®æåŒããå¿ èŠã«ãªãããšããããããããŸããã
ãªãŒãããããã£[edit]
è¿œå ãããã¡ã€ã«ã®ããã«åã®æåŸã®èªåå€æãã©ã®ããã«æå¹ã«ããã®ãã«ã€ããŠã¯Subversion/auto-propsãã芧äžããããã¹ãŠã®éçºè ã¯ããã䜿çšãã¹ãã§ãã
ã³ããã[edit]
ã³ããããããã¯ãã§ãã¯ã€ã³ã¯ã¯ãŒãã³ã°ã³ããŒãããŠã§ããªããžããªãžã®å€æŽãé©çšã¢ã¯ã·ã§ã³ã§ãããã®ããã«ã¯æ¬¡ã®ã³ãã³ãã䜿çšããŠäžãã:
svn commit
ãšãã£ã¿ãèšå®ããªãéãããã©ã¡ãŒã¿ç¡ãã§ã³ãã³ãã䜿çšãããšå€±æããŸãããã¡ã€ã«ãã°ã®ããã®ã³ã¡ã³ããå ¥åããªããã°ãªããªãããã§ãã次ã®åœ¢åŒã®äžã€ã䜿ãããšãåºæ¥ãŸã:
svn commit --message="This is the log comment." svn commit --file=file_with_log_comment
ãã°ã¡ãã»ãŒãžã«ãããŠãPHPã®'$'è¡šèšæ³ã䜿çšããå€æ°ã«åç §ããŠãã·ã§ã«ãããããããšã¹ã±ãŒãããããšãèŠããŠäžããã
CVSãã§ãã¯ã¢ãŠããSVNã«å€æãã[edit]
ãªããžããªã§ãã¡ã€ã«ãžã®ããŒã«ã«ãªå€æŽãç¶ããããªãå Žåãæ°ãããã§ãã¯ã¢ãŠãã§ãã¹ãŠãäžæžãããããšã¯ç°¡åã§ããLocalSettings.phpãã«ã¹ã¿ã å€è£ ãšãã£ããã®ã¯ãã®ãŸãŸã«ããŸãã
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 temp-checkout rsync -a temp-checkout/ /path/to/phase3/
次ã®ã³ãã³ãã¯ã©ã®ãã£ã¬ã¯ããªãåé€ããããªãå Žåã§ã:
svn revert -R /path/to/phase3
次ã¯å€ãCVSã®ãã£ã¬ã¯ããªãé€å€ãããå Žåã§ã:
find . -type d -name CVS -print0 | xargs -0r rm -rf
ããã«æ³šæããŠäžãã ;)
See also[edit]
External links[edit]
- Subversion Web access
- Version Control with Subversion book (SVN version 1.2)