ลบไฟล์แบบถาวรใน Subversion

posted on 06 Oct 2009 17:42 by pongtawat  in development

ความสามารถอันนึงที่ Subversion ไม่ยอมใส่มาก็คือการลบไฟล์หรือโฟลเดอร์ทิ้งแบบถาวร ชนิดที่ไม่เหลือประวัติไว้ใน repository เลย ดูเผินๆ เหมือนเรื่องนี้ไม่จำเป็น แต่เอาเข้าจริงจะมีกรณีที่เรา commit ไฟล์ผิดเข้าไปยัง svn และจำเป็นจริงๆ ที่จะต้องลบออกแบบไม่ให้เหลือซาก เช่นเผลอ commit ไฟล์ที่มีลิขสิทธิ์เข้าไปในโครงการ open source เป็นต้น

ทางออกทางเดียวที่มีตอนนี้ ก็คือการ dump repository ออกมา แล้ว filter ข้อมูลที่ต้องการลบออก แล้วค่อย load กลับเข้าไปใหม่อีกที

วิธีการก็ตามนี้เลย

Windows Version

svnadmin dump svn_repos > .\dump
type .\dump | svndumpfilter exclude somefolder > .\dump2
STOP SVN Services
Backup svn_repos/conf folder
Delete svn_repos folder
svnadmin create svn_repos
Restore svn_repos/conf folder
svnadmin load svn_repos < dump2

Linux Version
svnadmin dump /path/to/repos > proj.dump
cat proj.dump | svndumpfilter exclude somefolder > cleanproj.dump
STOP SVN services
BACKUP /path/to/repos/conf /path/to/repos/hooks (all custom configuration for this repository)
DELETE /path/to/repos
svnadmin create /path/to/repos
RESTORE /path/to/repos/conf /path/to/repos/hooks
svnadmin load /path/to/repos < cleanproj.dump
RESTART SVN services

 ที่มา: http://www.robgonda.com/blog/index.cfm/2005/7/10/SVN-Obliterate

Ubuntu Tomcat กับ catalina.out

posted on 23 Sep 2009 12:46 by pongtawat  in linux-unix

ใครที่ใช้ Tomcat ที่มากับ Ubuntu ถ้าสังเกตุจะเห็นว่าไม่มีไฟล์ catalina.out ใน /var/log/tomcat

แล้วไฟล์นี้หายไปไหน ทำไมถึงไม่มี?

ผมหาอยู่นานทีเดียว ก่อนที่จะอึ้งในความอ่อนหัดของตัวเอง

ไฟล์นี้ไม่จำเป็น เพราะว่าบน Ubuntu / Debian นั้น stdout ของ Tomcat ถูก log ไว้ใน /var/log/daemon.log

It's Debian way จริงๆ ข้าน้อยอ่อนหัดยิ่งนัก

Maven กับ Proxy

posted on 16 Sep 2009 10:46 by pongtawat  in development

ไม่จดทีไรเป็นอันลืมทุกที :/

 วิธีตั้ง proxy สำหรับ Apache Maven 2 ทำได้ 2 วิธี

วิธีแรก ตั้งแบบ global ไปเลย ให้ไปแก้ที่ /etc/maven2/settings.xmlจะเห็นว่ามี section ของ proxy ที่ comment ไว้ ก็ไป uncomment แล้วแก้ให้เป็นค่า proxy ของเรา หลักๆ ก็ใช้แค่นี้ก็พอ

  
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.host.net</host>
      <port>80</port>
    </proxy>

 วิธีที่สอง คือตั้งแบบของใครของมัน ก็ไปแก้ในไฟล์ ~/.m2/settings.xml ของตัวเอง ถ้าไฟล์นี้ไม่มีอยู่ก็สร้างขึ้นมา และใส่ section proxy เข้าไป ซึ่งจะได้ไฟล์ประมาณนี้

<settings>
<proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.host.net</host>
      <port>80</port>
    </proxy>
</settings> 

ที่มา: http://maven.apache.org/guides/mini/guide-proxies.html

หมายเหตุ: ใครที่ตั้ง proxy ช้าไปแล้ว จะทำให้ maven มัน black list repoistory ที่ติดต่อไม่ได้ไปแล้ว วิธีแก้ก็คือให้เพิ่ม -U เค้าไปเวลาสั่ง mvn (เช่น mvn -U build) ซึ่งจะเป็นการบอกให้ maven refresh list (เค้าเรียก snapshots) ของ repositories

edit @ 16 Sep 2009 11:01:00 by pongtawat