Tôi nên làm gì khi 'svn dọn dẹp' thất bại?


245

Tôi có rất nhiều thay đổi trong một thư mục làm việc, và một cái gì đó đã làm hỏng việc cố gắng thực hiện cập nhật.

Bây giờ khi tôi phát hành 'svn dọn dẹp' tôi nhận được:

>svn cleanup .
svn: In directory '.'
svn: Error processing command 'modify-wcprop' in '.'
svn: 'MemPoolTests.cpp' is not under version control

MemPoolTests.cpp là một tệp mới được một nhà phát triển khác thêm vào và được đưa xuống trong bản cập nhật. Nó không tồn tại trong thư mục làm việc của tôi trước đây.

Có bất cứ điều gì tôi có thể làm để cố gắng và tiến về phía trước mà không cần phải kiểm tra một bản sao mới của kho lưu trữ không?

Làm rõ: Cảm ơn những gợi ý về việc di chuyển thư mục ra khỏi đường và đưa xuống một bản sao mới. Tôi biết đó là một tùy chọn, nhưng đó là một điều tôi muốn tránh vì có nhiều thay đổi được lồng sâu vào một số thư mục (đây phải là một nhánh ...)

Tôi hy vọng một cách tích cực hơn để dọn dẹp, có thể đôi khi buộc tập tin SVN gặp sự cố trở lại trạng thái đã biết (và tôi đã cố xóa bản sao đang hoạt động của nó ... không giúp được gì).


Re: Sử dụng một bản sao mới. Lấy một bản sao vượt quá so với các phiên bản khác nhau
Jon Winstanley

2
Có phải giải pháp của Amin không hiệu quả với bạn? Chắc chắn là một câu trả lời rõ ràng để chấp nhận khác?
Alice Purcell

2
Đảm bảo rằng bất kỳ tệp nào không được mở bởi ứng dụng, thật dễ quên. Process Explorer và tìm kiếm nhanh trên đường dẫn rất hữu ích để khám phá điều này: technet.microsoft.com/en-us/sysi
INTERNals / bb896653.aspx

4
IMHO sự tồn tại của lệnh "svn dọn dẹp" là một sự thừa nhận thất bại.
yoyo

Câu trả lời:


223

Khi bắt đầu lại tất cả không phải là một lựa chọn ...

Tôi đã xóa tệp nhật ký trong .svnthư mục (tôi cũng đã xóa tệp vi phạm trong .svn/props-base), đã dọn dẹp và tiếp tục cập nhật.


3
Tôi đã nhận được một vấn đề tương tự như câu hỏi ban đầu ở đây (do thanh toán svn bị gián đoạn). CÁi này đã sửa nó giúp tôi. Mặc dù tôi cũng phải vào thư mục mẹ và làm tương tự ở đó.
Nigel Hawkins

2
+1 Tôi không thể nói cho bạn biết tôi đã bao nhiêu lần trong tình huống này. Khi nó là một thư mục con không có vấn đề, chỉ cần xóa toàn bộ thư mục, dọn dẹp và cập nhật. Nhưng khi nó là một tập tin ở cấp độ gốc thì đây không phải là một lựa chọn rẻ tiền (vài giờ để kiểm tra lại toàn bộ dự án). Mẹo tuyệt vời - cảm ơn rất nhiều.
Hòa bình Ewan

9
Đối với tôi, việc xóa các tập tin khóa đã làm điều đó. Có thể quan tâm cho ai đó. Bạn có thể xóa chúng một cách đệ quy bằng lệnh sau: rm -rffind . -type f -name lock
H6.

1
Lệnh mã hóa hạnh phúc không hoạt động. Điều này không:sudo rm -rf | find . -type f -name lock
Zachary Schuessler

2
Tôi không thể tìm thấy .svn/prop-basetôi có.svn/[pristine|tmp|entries|format|wc.db]
bigpony

112

Mọi thứ đã thay đổi với SVN 1.7 và giải pháp phổ biến là xóa tệp nhật ký trong thư mục .svn là không khả thi khi chuyển sang triển khai bản sao cơ sở dữ liệu.

Đây là những gì tôi đã làm mà dường như làm việc:

  1. Xóa thư mục .svn cho bản sao làm việc của bạn.
  2. Bắt đầu kiểm tra mới trong một thư mục mới, tạm thời.
  3. Hủy thanh toán (chúng tôi không muốn đợi mọi thứ bị kéo xuống).
  4. Chạy dọn dẹp trên thanh toán bị hủy này.
  5. Bây giờ chúng tôi có một thư mục .svn mới với cơ sở dữ liệu sạch (mặc dù không có / vài tệp)
  6. Sao chép .svn này vào thư mục làm việc cũ, bị hỏng của bạn.
  7. Chạy cập nhật svn và nó sẽ đưa thư mục .svn một phần mới của bạn tăng tốc với thư mục làm việc cũ của bạn.

Đó là tất cả một chút bối rối, quá trình khôn ngoan. Về cơ bản, những gì chúng tôi đang làm là xóa .svn bị hỏng sau đó tạo một .svn mới cho cùng một đường dẫn thanh toán. Sau đó chúng tôi chuyển .svn mới này vào thư mục làm việc cũ của chúng tôi và cập nhật nó vào repo.

Tôi mới làm điều này trong TSVN và nó dường như hoạt động tốt và không yêu cầu kiểm tra và tải xuống đầy đủ.

-Jody


8
Tôi dường như làm điều này ít nhất hai lần một tháng. Một nỗi đau. Nhóm svn nên thêm các bước luận án svn cleanup --force. Và tất nhiên, tất cả các thao tác thêm, xóa và (với 1.8) đều bị mất.
Martin

2
@Adgezaza Vâng. Có nó làm.
mjs

1
Điều này sửa nó cho tôi. Có một chút khác biệt: sau khi thay đổi svn, cập nhật thất bại cho 1 thư mục cụ thể. Xóa thư mục đó và mọi thứ đều ổn
Hoàng Long

@Pup, nó nên. Về cơ bản, bạn chỉ cần kéo siêu dữ liệu xuống để kiểm tra mới và sau đó điền nó vào các tệp. SVN sẽ xác định xem các tệp có khớp với siêu dữ liệu hay không. Nhưng, bạn biết đấy, zip mọi thứ lên đầu tiên chỉ trong trường hợp ...
JKoplo

1
Tôi đã cài đặt lại SVN (Rùa SVN 1.8), lấy lại mọi thư mục svn từ dự án của tôi, sau đó thực hiện các thao tác được đề cập ở đây và voila! Cảm ơn tác giả!
Dmitry

110

Hãy xem

http://www.anujvarma.com/svn-cleanup-failedpreingly-operation-has-not-finished-run-cleanup-if-it-was-interrupted/

Tóm tắt cách khắc phục từ liên kết trên (Cảm ơn Anuj Varma)

  1. Cài đặt shell dòng lệnh sqlite (sqlite-tools-win32) từ http://www.sqlite.org/doad.html

  2. sqlite3 .svn/wc.db "select * from work_queue"

CHỌN sẽ hiển thị cho bạn thư mục / tệp vi phạm của bạn như một phần của hàng đợi công việc. Những gì bạn cần làm là xóa mục này khỏi hàng đợi công việc.

  1. sqlite3 .svn/wc.db "delete from work_queue"

Đó là nó. Bây giờ, bạn có thể chạy dọn dẹp lại - và nó sẽ hoạt động. Hoặc bạn có thể tiến hành trực tiếp đến nhiệm vụ bạn đang làm trước khi được nhắc chạy dọn dẹp (thêm tệp mới, v.v.)


Lưu ý rằng các câu trả lời chỉ liên kết không được khuyến khích, các câu trả lời SO phải là điểm cuối của tìm kiếm giải pháp (so với một điểm dừng khác của tài liệu tham khảo, có xu hướng bị cũ theo thời gian). Vui lòng xem xét việc thêm một bản tóm tắt độc lập ở đây, giữ liên kết làm tài liệu tham khảo.
kleopatra

8
Firefox có phần mở rộng trình quản lý sqlite có thể mở và chỉnh sửa tệp .svn / wc.db. Cung cấp GUI thuận tiện để thực hiện các thao tác tương đương trên work_queue.
Ảo thuật gia

Nếu bạn có phiên bản SVN và Firefox gần đây, addon trình quản lý sqlite sẽ xử lý vấn đề này trong 30 giây. Đừng lo lắng về việc xóa các thư mục hoặc sử dụng Repobrowser. Trong năm 2016, tôi nghĩ rằng đây sẽ là câu trả lời được chấp nhận
tùy ý

5
Đối với tôi đang chạy 'xóa từ WC_LOCK;' cũng được yêu cầu
Tristan.Liu

Làm việc hoàn hảo! Svn hút! Nhưng sau khi xóa khỏi work_queue svn, tôi gặp một lỗi khác "svn bị khóa", chỉ cần chạy với rùa (nhật thực không có tùy chọn) dọn dẹp với "phá khóa" được kiểm tra
amdev 15/03/2017

42

Nếu vẫn thất bại:

  1. Kiểm tra vào một thư mục mới.
  2. Sao chép các tập tin sửa đổi của bạn trên.
  3. Kiểm tra lại.
  4. Zip thư mục cũ lên một nơi nào đó (bạn không bao giờ biết + hoang tưởng là tốt) trước khi xóa nó và sử dụng thư mục mới.

27

Phiên bản mới nhất (Tôi đang sử dụng 1.9.5) giải quyết vấn đề này bằng cách thêm tùy chọn "Phá khóa" trên menu dọn dẹp. Chỉ cần đảm bảo hộp kiểm này được chọn khi dọn dẹp.

cửa sổ lên


Có vẻ như quá rõ ràng bây giờ! Cảm ơn
Billy Jake O'Connor

Làm việc như người ở!
Viswanath

Hoạt động tốt cho tôi.
Serge

Đã làm việc! Khi tôi thấy giải pháp này, tôi biết ngay vấn đề là gì ... (tôi nghĩ): Tôi đã có một excel vẫn mở, điều chỉnh nó. Tôi muốn thực hiện các thay đổi của mình đối với một số tệp java và thấy tệp excel và giống như "Tôi không thay đổi bất kỳ thứ gì ở đó ... hoàn nguyên". Mà không hoạt động, sau đó tôi nhận ra nó vẫn mở, đóng nó, F5, không xuất hiện trong cam kết, vì vậy hãy tiến hành cam kết. Và sau đó nó nói với tôi "làm ơn chạy dọn dẹp" và từ đó tôi bị kẹt. Vì vậy, cảm ơn! :)
BAERUS

16

Câu trả lời này chỉ áp dụng cho các phiên bản trước 1.7 (cảm ơn @ ukaszBachman) .

Subversion lưu thông tin của nó trên mỗi thư mục (trong .svn), vì vậy nếu bạn chỉ đang xử lý một thư mục con, bạn không cần kiểm tra toàn bộ kho lưu trữ - chỉ thư mục đã bị bẻ khóa:

cd dir_above_borked
mv borked_dir borked_dir.bak
svn update borked_dir

Điều này sẽ cung cấp cho bạn một bản sao hoạt động tốt của thư mục borked, nhưng bạn vẫn có các thay đổi của mình được sao lưu trong borked_dir.bak. Nguyên tắc tương tự áp dụng với Windows / TortoiseSVN.

Nếu bạn có thay đổi trong một thư mục bị cô lập, hãy xem

svn checkout -N borked_dir   # Non-recursive, but deprecated

hoặc là

svn checkout --depth=files borked_dir
# 'depth' is new territory to me, but do 'svn help checkout'

đã tiết kiệm rất nhiều thời gian bằng cách sử dụng đề xuất của bạn "nếu bạn chỉ giao dịch với thư mục con, bạn không cần kiểm tra toàn bộ kho lưu trữ"
iBabur

Điều này làm việc cho tôi - tất cả những gì tôi đã làm là svn upcùng một repo ở giữa svn upmột tab khác - tôi quên rằng tôi đã làm điều đó và để nó không hoàn thành vào đêm hôm trước.
Jon z

Không còn đúng nữa - với phiên bản mới nhất SVN hiện chỉ sử dụng một .svnthư mục.
ukaszBachman

9
$ ls -la .svn
$ rm -f .svn/lock

Sau đó

$ svn update

Hy vọng nó giúp


6

Tôi cũng có chính xác vấn đề đấy. Tôi không thể cam kết, và dọn dẹp sẽ thất bại.

Sử dụng một máy khách dòng lệnh tôi có thể thấy một thông báo lỗi cho biết rằng nó không thể di chuyển một tệp từ .svn/propsđến .svn/prop-base.

Tôi nhìn vào tập tin cụ thể và thấy rằng nó được đánh dấu chỉ đọc. Sau khi xóa thuộc tính chỉ đọc, tôi có thể dọn sạch thư mục và cam kết thay đổi của mình.


Tôi đã từ bỏ cái cây đó và cuối cùng có một cái mới. Nhưng cảm ơn cho gợi ý về một cái gì đó để kiểm tra lần sau.
Rob Walker

ha ... tôi thậm chí đã đổi tên các thư mục trong khu vực .svn \ pristine từ {name} thành {name} _old và sau đó trở lại {name} ban đầu và nó đã hoạt động
beauXjames

5

Có thể bạn gặp vấn đề với hai tên tệp chỉ khác nhau bởi chữ hoa. Nếu bạn gặp phải vấn đề này, việc tạo một thư mục sao chép làm việc khác không giải quyết được vấn đề.

Các hệ thống tập tin Windows hiện tại (tức là crappy) đơn giản là không tìm ra sự khác biệt giữa FilenameFILEname. Bạn có hai cách khắc phục:

  1. Kiểm tra tại nền tảng với một hệ thống tệp thực (dựa trên Unix), đổi tên tệp và cam kết thay đổi.
  2. Khi bạn được lưu trữ vào Windows, bạn có thể đổi tên các tệp trong trình duyệt kho lưu trữ SVN của Eclipse, nơi nhận ra sự khác biệt và đổi tên tệp ở đó.
  3. Bạn cũng có thể đổi tên các tệp có vấn đề từ bất kỳ máy khách SVN dòng lệnh nào bằng cách sử dụng svn rename -m "broken filename case" http://server/repo/FILEname http://server/repo/filename

Điều này hóa ra là vấn đề của tôi; một đồng nghiệp bằng cách nào đó đã quản lý để kiểm tra một số tệp dự án Xcode, mỗi tệp có hai bản sao khác nhau chỉ là trường hợp chữ cái. Tôi đã sử dụng TortoiseSVN để duyệt repo và xóa các tệp bổ sung. Sau đó, tôi đã xóa các thư mục cục bộ chứa các tệp trùng lặp và cập nhật svn cuối cùng đã thành công.
kgriffs

Không chỉ đơn thuần là một vấn đề Windows. Điều này cũng ảnh hưởng đến máy Mac. Theo mặc định, các hệ thống tệp HFS + của Mac cũng không phân biệt chữ hoa chữ thường, nhưng giữ nguyên tên tệp. Tôi đã thiết lập phân vùng thứ hai trên ổ cứng có tên tệp phân biệt chữ hoa chữ thường để khắc phục các sự cố này.
David W.

4

Chạy svn cleanuplệnh trong một thiết bị đầu cuối (nếu nó bị lỗi từ Eclipse, đó là trường hợp của tôi):

~/path/to/svn-folder/$ svn cleanup

Tôi đã thử các giải pháp khác nhau được giải thích ở đây, nhưng không có giải pháp nào hiệu quả .

Nhóm hành động → Cập nhật lên đầu thất bại:

svn: E155004: Có các mục công việc chưa hoàn thành trong '/ home / user / path / to / svn-thư mục'; chạy 'svn dọn dẹp' trước.

Nhóm hành động → Dọn dẹp thất bại với cùng một lỗi.

Giải pháp hiệu quả với tôi: chạy lệnh dọn dẹp svn trong một thiết bị đầu cuối .

Lệnh đã thành công.

Sau đó, ĐộiCập nhật trong Eclipse đã hoạt động trở lại.

Lưu ý: phiên bản SVN của tôi là 1.9.3.

Đồng thời kiểm tra câu trả lời của Chris nếu svn cleanupkhông hoạt động.


3

Tôi đã thử thực hiện svn cleanupthông qua bảng điều khiển và gặp lỗi như:

svn: E720002: Can't open file '..\.svn\pristine\40\40d53d69871f4ff622a3fbb939b6a79932dc7cd4.svn-base':
The system cannot find the file specified.

Vì vậy, tôi đã tạo tập tin này bằng tay (trống) và làm svn cleanuplại. Lần này nó đã được thực hiện OK.


3

Tôi đã từng gặp vấn đề tương tự. Đối với tôi nguyên nhân là một cuộc xung đột với EasySVN và (TortoiseSVN hoặc chỉ SVN). Tôi đã tự động cập nhật và cam kết với EasySVN (không hoạt động).

Khi tôi tắt cái này, tôi không thể dọn dẹp, cam kết hoặc cập nhật. Không có giải pháp nào ở trên hoạt động, nhưng việc khởi động lại đã làm :)


Yaaaaay jimi, bạn là anh hùng của tôi (trong).
TRoa

2

Tôi chỉ gặp vấn đề tương tự trên Windows 7 64-bit. Tôi đã chạy console với tư cách quản trị viên và xóa thư mục .svn khỏi thư mục sự cố (gặp lỗi về nhật ký hoặc nội dung nào đó, nhưng bỏ qua nó). Sau đó, trong explorer, tôi đã xóa thư mục sự cố không còn hiển thị dưới dạng kiểm soát phiên bản. Sau đó, tôi chạy một bản cập nhật và mọi thứ diễn ra như mong đợi.


2

Nếu vấn đề là phân biệt chữ hoa chữ thường (có thể là vấn đề khi kiểm tra máy Mac, cũng như Windows) và bạn không có tùy chọn kiểm tra trên hệ thống * nix, thì những điều sau đây sẽ hoạt động. Đây là quá trình từ đầu:

% svn co http://[domain]/svn/mortgages mortgages

(Thanh toán tiếp theo

svn: In directory 'mortgages/trunk/images/rates'
svn: Can't open file 'mortgages/trunk/images/rates/.svn/tmp/text-base/Header_3_nobookmark.gif.svn-base': No such file or directory

Ở đây SVN đang cố gắng kiểm tra hai tệp có tên giống nhau chỉ khác nhau theo từng trường hợp - Header_3_noBookmark.gifHeader_3_nobookmark.gif. Các hệ thống tập tin Mac mặc định cho trường hợp không nhạy cảm theo cách khiến SVN bị nghẹt thở trong các tình huống như thế này. Vì thế...

% cd mortgages/trunk/images/rates/
% svn up
svn: Working copy '.' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

Tuy nhiên, chạy svn cleanupkhông hoạt động, như chúng ta biết.

% svn cleanup
svn: In directory '.'
svn: Error processing command 'modify-wcprop' in '.'
svn: 'spacer.gif' is not under version control

spacer.gifkhông phải là vấn đề ở đây. Nó không thể chuyển qua lỗi trước sang tệp tiếp theo. Vì vậy, tôi đã xóa tất cả các tệp khỏi thư mục khác .svnvà xóa nhật ký SVN. Điều này làm cho công việc dọn dẹp, để tôi có thể kiểm tra và đổi tên các tập tin vi phạm.

% rm *; rm -rf .svn/log; svn cleanup
% svn up Header_3_nobookmark.gif
A    Header_3_nobookmark.gif
Updated to revision 1087.
% svn mv Header_3_nobookmark.gif foo
A         foo
D         Header_3_nobookmark.gif
% svn up
A    spacer.gif
A    Header_3_noBookmark.gif

Sau đó, tôi có thể quay lại thư mục gốc của dự án và chạy svn upđể kiểm tra phần còn lại của dự án .


2

Bất cứ khi nào tôi gặp vấn đề tương tự, tôi sử dụng rsync (NB: Tôi sử dụng Linux hoặc Mac OS X) để giúp đỡ như vậy:

# Go to the parent directory
cd dir_above_borked

# Rename corrupted directory
mv borked_dir borked_dir.bak

# Checkout a fresh copy
svn checkout svn://... borked_dir

# Copy the modified files to the fresh checkout
# - test rsync
#   (possibly use -c to verify all content and show only actually changed files)
rsync -nav --exclude=.svn borked_dir.bak/ borked_dir/

# - If all ok, run rsync for real
#   (possibly using -c again, possibly not using -v)
rsync -av --exclude=.svn borked_dir.bak/ borked_dir/

Bằng cách đó, bạn có một kiểm tra mới, nhưng với các tệp làm việc tương tự. Đối với tôi điều này luôn hoạt động như một nét duyên dáng.


2

Tôi chạy vào đó quá gần đây. Thủ thuật cho tôi là sau khi chọn "Dọn dẹp", trong hộp thoại tùy chọn bật lên, kiểm tra "Phá khóa" và sau đó "OK". Nó làm sạch thành công cho tôi.


1
SVN không có hộp thoại bật lên mỗi se; có lẽ bạn đang sử dụng Rùa. OP đang sử dụng máy khách dòng lệnh, do đó lời khuyên của bạn không hữu ích lắm.
Robert

1

Subclipse bị nhầm lẫn bởi hành vi khóa thực sự độc ác của Windows. Unlocker là bạn của bạn. Điều này có thể tìm thấy các tập tin bị khóa và buộc phải giải phóng các khóa.


1

(Trước khi bạn thử di chuyển các thư mục và thực hiện kiểm tra mới.)

Xóa thư mục (các) tệp vi phạm đang ở trong - có, ngay cả .svnthư mục, sau đó thực hiện một svn cleanupthư mục trên cùng / thư mục gốc.


1

Tôi phải đối mặt với cùng một vấn đề. Sau một số tìm kiếm trên Internet tìm thấy bài viết dưới đây . Sau đó nhận ra rằng tôi đã đăng nhập với tư cách là người dùng khác với người dùng mà tôi đã sử dụng để thiết lập SVN theo, về cơ bản là vấn đề cấp phép.


1

Khi tôi gặp vấn đề này với TortoiseSVN (Windows), tôi đến Cygwin và chạy ' svn dọn dẹp ' từ đó; nó dọn dẹp chính xác cho tôi, sau đó mọi thứ hoạt động từ TortoiseSVN.


Điều này cũng hoạt động với một cửa sổ cmd. Tôi không biết tại sao nó hoạt động khi Rùa thất bại, nhưng đôi khi nó lại xảy ra.
Watusimoto

0

Câu trả lời ở đây không giúp tôi, nhưng trước khi kiểm tra lại dự án, tôi đã đóng và mở Eclipse (Subversive là máy khách SVN của tôi) và vấn đề đã biến mất.


0

Nó có thể không áp dụng trong mọi tình huống, nhưng khi gần đây tôi gặp phải sự cố này, "cách khắc phục" của tôi là nâng cấp gói Subversion trên hệ thống của tôi. Tôi đã chạy 1.4. Một cái gì đó và khi tôi nâng cấp lên bản mới nhất (1.6.6 trong trường hợp của tôi), thanh toán đã hoạt động.

(Tôi đã thử tải xuống lại, nhưng thanh toán vào một thư mục sạch sẽ luôn được treo tại cùng một vị trí.)


0

Khóa chỉ đọc đôi khi xảy ra trên các ổ đĩa mạng với Windows. Cố gắng ngắt kết nối và kết nối lại. Sau đó dọn dẹp và cập nhật.


0

Sau khi trải qua hầu hết các giải pháp được trích dẫn ở đây, tôi vẫn nhận được lỗi.

Vấn đề là OS X không nhạy cảm . Kiểm tra một thư mục có hai tệp có cùng tên, nhưng viết hoa khác nhau gây ra một vấn đề. Ví dụ: không phải là xấp xỉTest.jest và Appro xấpationtest.java trong cùng một thư mục. Ngay sau khi chúng tôi thoát khỏi một trong các tập tin, vấn đề sẽ biến mất.


0

Tôi gặp phải một vấn đề trong đó sau khi cập nhật, SVN cho thấy một thư mục bị xung đột. Kỳ lạ thay, điều này chỉ được nhìn thấy qua dòng lệnh - TortoiseSVN nghĩ rằng tất cả đều ổn.

#>svn st
!       my_dir
!       my_dir\sub_dir

svn cleanup, svn revert, svn updatesvn resolvetất cả đều không thành công tại sửa chữa này.

Cuối cùng tôi đã giải quyết vấn đề như sau:

  • Tìm trong thư mục .svn cho "sub_dir"
  • Sử dụng RC -> Thuộc tính để bỏ chọn cờ 'chỉ đọc' trên tệp mục nhập
  • Mở tệp mục nhập và xóa dòng "chưa hoàn thành ..." và tổng kiểm tra tương ứng
  • Lưu và bật lại cờ chỉ đọc
  • Lặp lại cho thư mục my_dir

Sau đó, mọi thứ đều ổn.

Lưu ý Tôi không có bất kỳ thay đổi cục bộ nào, vì vậy tôi không biết liệu bạn có gặp rủi ro không nếu bạn làm vậy. Tôi đã không sử dụng phương pháp xóa / cập nhật do người khác đề xuất - Tôi đã vào trạng thái này bằng cách thử nó trên thư mục my_dir / sub_dir / sub_sub_dir (bắt đầu với các triệu chứng tương tự) - vì vậy tôi không muốn mạo hiểm làm mọi thứ tồi tệ hơn lần nữa!

Không hoàn toàn về chủ đề, nhưng có thể hữu ích nếu ai đó đi qua bài đăng này như tôi đã làm.


0

Không không không! Nếu bạn đang sử dụng SVN 1.7 trở lên, lệnh dọn dẹp sẽ thực hiện công việc!

Tôi cũng đã thực hiện một số thử nghiệm và phát hiện ra rằng giải pháp (ít nhất là trong Eclipse ) đang thực hiện việc dọn dẹp chỉ dành cho thư mục được chỉ định trong thông báo lỗi chứ không phải toàn bộ dự án!


Điều này làm việc cho tôi ngày hôm nay, vì vậy tôi sẽ +1. Mặt khác, một lần khác tôi vào một vòng lặp thì ngược lại - tôi đã nhấp chuột phải vào một thư mục và chọn "dọn dẹp" khi tôi cần nhấp chuột phải vào một khoảng trống thay thế. Vì vậy, nó phụ thuộc rất nhiều vào tình hình cụ thể.
Daphne B

downvote bởi vì câu trả lời cho "làm thế nào để tôi sửa chữa mọi thứ khi svn dọn dẹp thất bại" không phải là "nó nên hoạt động"
mjs

0

Tôi đã làm sudo chmod 777 -R .để có thể thay đổi các quyền. Nếu không sudo, nó sẽ không hoạt động, gây ra lỗi tương tự như khi chạy các lệnh khác.

Bây giờ bạn có thể làm svn updatehoặc bất cứ điều gì, mà không phải loại bỏ toàn bộ thư mục của bạn và tạo lại nó. Điều này đặc biệt hữu ích, vì IDE hoặc trình soạn thảo văn bản của bạn có thể đã mở một số tab nhất định hoặc có vấn đề về đồng bộ hóa. Bạn không cần phải loại bỏ và thay thế thư mục làm việc của bạn bằng phương pháp này.


0

Tôi đã giải quyết vấn đề này bằng cách sao chép thư mục .svn của một số đồng nghiệp vào tài khoản của tôi và sau đó cập nhật bản sao làm việc của tôi. Đó là một giải pháp tốt đẹp, nhanh chóng và sạch sẽ.


0

Có một số gợi ý rất hay trong câu trả lời trước, nhưng nếu bạn gặp sự cố với TortoiseSVN trên Windows (một sản phẩm tốt, nhưng ...) luôn dự phòng dòng lệnh và thực hiện "dọn dẹp svn" đơn giản trước tiên.

Trong nhiều trường hợp, máy khách Windows sẽ không chạy lệnh dọn dẹp, nhưng dọn dẹp hoạt động tốt bằng cách sử dụng tiện ích dòng lệnh SVN.


0

Trong khi đối mặt với một vấn đề tương tự, hợp nhất thủ công trong chế độ xem đồng bộ hóa kho lưu trữ đã giúp giải quyết vấn đề.

Một tên tập tin đã xung đột với nhau và nó đề cập rõ ràng vấn đề. Đổi tên tập tin mới hơn thành một tên khác đã giải quyết nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.