Thứ Tư, 13 tháng 7, 2016

Cách fix lỗi khi không thể clean up được tortoise svn

Cuối ngày hôm nay, mình hì hụi mất tới hơn 1 tiếng đồng hồ vì không thể cleanup svn.
Đang nghi ngờ do svn lỗi. Mà đúng lỗi thật. Nhưng sợ mai vẫn không ăn thua. Nhờ anh HaiCV ra xem cho, nhưng anh Hải còn bận đi uống bia :|. Hết nói.

HungNM, anh TuanTD nghi vấn có thể mạng bị lag do mấy đồng chí MinhBQ, ThangTT chiếm đường truyền. HungNM còn gợi ý có con dao Thái mới mua. Làm lại nghĩ tới bài "Vè con dao":
"......
Con dao anh dài
Dài vừa năm tấc
Khi mài đã sắc
Phả lở núi rừng hoang
....
Con dao anh quay một phát
...
Con dao tôi sắc vô cùng 
Đốn trăm cây cũng ngã 
Chặt ngàn cây cũng ngã 
Cho nên thiên hạ 
Đều rèn theo kiểu dao này 
Trước dùng việc hàng ngày 
Sau vệ quốc, bình Tây 
Chặt quân thù như chém chuối"

Không biết hai đồng chí Minh, Thắng nghĩ sao!

Mình đã hỏi expert của mình thì được expert đưa ra câu trả lời như sau:

Somehow, svn is stuck on the previous operation. We need to remove this operation from it’s ‘work queue’. 
The data is stored in the wc.db sqllite database in the offending folder.

Câu trả lời là svn bị stuck bởi 1 operation nào đó trước đấy rồi. Và điều chúng ta cần làm là remove operation đó khỏi "work_queue" của nó. Thông minh kinh.

The data is stored in the wc.db sqllite database in the offending folder.
Câu này chắc là mỗi thư mục checkout svn, nó sẽ có 1 database wc.db để quản lý các operation thực hiện đối với thư mục đó.

Và các bước để thực hiện như sau:
1. Download sqlite3.exe
2. Bỏ vào thư mục đã checkout svn
3. Chạy command line của windows
4. CD tới thư mục checkout
5. Gõ sqlite3 .svn\wc.db
6. Gõ lệnh select các operation đang bị stuck trong queue bằng câu lệnh select:
Select * from work_queue
Tại bước này, sẽ hiển thị ra operation đang bị stuck ở đây
7. Delete operation đó bằng câu lệnh delete:
Delete from work_queue.
8. Sau đó kill sqlite bằng lệnh .exit
9. Chạy lại lệnh cleanup trong svn và hoàn tất.
Hình dưới đây, work_queue của mình đã clean rồi :D.
Good job!

sqlite3.exe có thể được download tại đường dẫn http://www.sqlite.org/download.html, chú ý chọn: sqlite-tools-win32-x86-3130000.zip thì mới chứa đủ bộ tool để quản lý các file SQLite database và hệ điều hành win 32 bit.

Hi vọng sẽ không ai bị lỗi stuck svn như mình vừa gặp nữa. Đồng thời cũng giải tỏa tâm lý cho 2 đồng chí Thắng và Minh không phải nơm nớp lo sợ bị cắt mất một số thứ gì đó :))





4 nhận xét:

  1. Con dao cùn đấy thì có gì phải sợ.

    Trả lờiXóa
  2. Hôm nay 20/07/16 tự nhiên mình lại gặp cái lỗi "stupid" như trên. May mà hôm trước cũng có người cung bị mắc cái "stupid" này, đó là bạn Nhàn người sáng tạo ra cái blog này. Nên chỉ mất có 10 minutes để khắc phục cái lỗi này.

    P/S: Rất chân thành cám ơn người tạo ra Blog.

    Trả lờiXóa
  3. Hôm nay bị 'dính' lỗi Clean up giống chị Nhàn
    May có chị Nhàn đi tiên phong nên ae fix bug rứt nhanh =))
    Good job!
    Many thank chệ (kiss)

    Trả lờiXóa
  4. Sau cả tỉ năm, hôm nay mình lại dính phải cái lỗi củ chuối này. May mà cách này vẫn còn có tác dụng.
    Chỉ lưu ý là cái sqlite3 khi trước mình down là cho cái máy đời thấp, win 32 bit @@. Bây h máy mình là 64 bit rồi.
    Tìm hoài trên trang của sqlite.org mà không có cái file .exe nào.
    Hóa ra sqlite3.exe doesn't exist for 64 bit Windows OS. You can create your own by downloading the source code and building it. Otherwise 32-bit exe will also work well on 64-bit.

    Thế là mình phải down lại sqlite3.exe cho window 32 bit tại địa chỉ:
    https://www.sqlite.org/2017/sqlite-tools-win32-x86-3170000.zip

    và thật may là nó vẫn work properly.

    Trả lờiXóa