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

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet

It is the coolest site, keep so!

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

I just found your blog and am enjoying it. ,

#2 By BwdFoJWfxX (85.131.67.9) on 2009-10-23 01:53