วิธีใช้งาน Subversion 1.6.x กับ OSX 10.x หรือลด version จาก 1.7 เป็น 1.6
(ทดสอบแล้วกับ OSX 10.8)ผมใช้ osx 10.8 และติดตั้ง macports หรือ port เอาไว้ด้วย ติดตั้ง nmap แล้วมันลง subversion 1.7 แถมมาให้ด้วย แต่ทีนี้ projects/source codes ทั้งหลายที่ทำงานอยู่ยังคงต้องใช้ svn 1.6; (ผมจะใช้ keyword svn แทน subversion มันสั้นกว่า ^^) เนื่องจากผมใช้ svnant ด้วย, ตัว svnClientAdapter เค้ายังไม่รองรับ svn 1.7 จึงยังคงต้องใช้ svn client 1.6 อยู่
ขั้นแรก เราต้องมี svn client version 1.6 ซะก่อน ไปดาวโหลดได้จาก website ของ Wandisco เลยครับ Vanilla Subversion 1.6.20 & 1.7.8 certified by WANdisco มี certified แปะไว้ด้วย วิธีติดตั้งก็ง่ายๆ เค้าทำเป็น pkg ไว้แล้ว ทำเหมือนติดตั้ง package อื่นๆของ osx เลยครับ
พอติดตั้งเสร็จเค้าจะบอกให้เราเพิ่ม path เข้าไปที่ .profile ของเราด้วย ประมาณนี้
...
export PATH=/opt/subversion/bin:$PATH
...
ถ้าเรียก terminal ขึ้นมาอีกครั้ง, หลังจากเพิ่ม PATH เข้าไปแล้ว เมื่อสั่ง svn help เราจะได้ประมาณนี้
$ svn --version
svn, version 1.6.18 (r1303927)
compiled Nov 2 2012, 23:47:41
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
แสดงว่าเรามี svn version 1.6 ติดตั้งแล้ว ถ้าคุณเหมือนผมคือติดตั้ง nmap ผ่านทาง macports หรือใช้ macports แล้วมันดันติดตั้ง svn 1.7 ให้ หากเรียกด้วยคำสั่งก่อนหน้านี้ มันจะแสดงเลข version เป็น 1.7
ส่วนวิธีเอาออกก็ทำแบบนี้
ทดสอบดูก่อนว่ามี svn ทีถูกติดตั้งโดย port
$port installed subversion
The following ports are currently installed:
subversion @1.7.8_1
subversion @1.7.8_2 (active)
สังเกตทีี (active) แสดงว่ามันถูกใช้งานอยู่ ปิดหรือ de-active ได้ด้วยคำสั่ง
$ sudo port deactivate subversion @1.7.8_2
Password:
---> Deactivating subversion @1.7.8_2
---> Unable to deactivate subversion @1.7.8_2, the following ports depend on it:
---> nmap @6.25_1
Error: org.macports.deactivate for port subversion returned: Please uninstall the ports that depend on subversion first.
Please see the log file for port subversion for details:
/opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_subversion_1.7.8_2/subversion/main.log
Warning: Failed to execute portfile from registry for subversion @1.7.8_2
---> Deactivating subversion @1.7.8_2
---> Unable to deactivate subversion @1.7.8_2, the following ports depend on it:
---> nmap @6.25_1
Error: port deactivate failed: Please uninstall the ports that depend on subversion first.
จะเห็นว่าครั้งแรกมันจะไม่ยอมปิดให้เรา เพราะ nmap ต้องใช้ ผมเลยตัดใจไม่ใช้ nmap ด้วยสั่งใหม่ดังนี้
$ sudo port deactivate nmap @6.25_1 subversion @1.7.8_2
---> Deactivating nmap @6.25_1
---> Cleaning nmap
---> Deactivating subversion @1.7.8_2
---> Cleaning subversion
ทดสอบดูอีกว่ามี svn ทีถูกติดตั้งโดย port? จะเห็นว่ามันไม่(มี) active แล้ว
$ port installed subversion
The following ports are currently installed:
subversion @1.7.8_1
subversion @1.7.8_2
สบายใจ เมื่อสั่ง svn ทีนี้จะเป็นคำสั่งของ version 1.6 แล้วหล่ะครับ