ลบไฟล์แบบถาวรใน 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
Tags: svn2 Comments

#1 By JQJSbgcAxAshYLyvg (220.181.53.238) on 2009-10-17 07:16