SVN vẫn mâu thuẫn?


284

Làm thế nào để tôi có được thư mục này ra khỏi xung đột? Tôi không quan tâm nếu nó được giải quyết bằng cách sử dụng "của họ" hoặc "của tôi" hoặc bất cứ điều gì ...

PS C:\Users\Mark\Desktop\myproject> svn ci -m "gr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

PS C:\Users\Mark\Desktop\myproject> svn resolve --accept working C:\Users\Mark\Desktop\myproject\addons
Resolved conflicted state of 'C:\Users\Mark\Desktop\myproject\addons'

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grr"
svn: Commit failed (details follow):
svn: Commit item 'addons' has copy flag but an invalid revision

PS C:\Users\Mark\Desktop\myproject> svn update
   C addons
svn: Can't move 'addons\debug_toolbar\templates\debug_toolbar\.svn\tmp\entries' to 'addons\debug_toolbar\templates\debug
_toolbar\.svn\entries': The file or directory is corrupted and unreadable.

PS C:\Users\Mark\Desktop\myproject> svn cleanup

PS C:\Users\Mark\Desktop\myproject> svn update
Skipped 'addons'
At revision 51.
Summary of conflicts:
  Skipped paths: 1

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grrr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

93
câu trả lời là: [svn đã giải quyết tên tệp] làm điều này thay vì giải pháp được chấp nhận.
Travis Schneeberger

1
@TravisSchneeberger giải pháp được chấp nhận là ổn
Hi-Angel

svn resolved * tên tệp * không sửa nó cho tôi.
Revierpost

Câu trả lời:


447

Đưa ra lệnh sau:

svn resolved <filename or directory that gives trouble>

(Cảm ơn @Jeremy Leipzig vì câu trả lời này trong một bình luận)


35
Nghiêm túc mà nói, nếu bạn không quan tâm đến việc nó được giải quyết như thế nào (có thể bạn sẽ xóa nó đi) thì đây là câu trả lời đúng.
đảo ngượcSpear

1
Điều này không giải quyết được gì. Lỗi có thể sẽ phát sinh lại ở lần xác nhận tiếp theo.
Tadej

Cảm ơn rất nhiều, nó làm việc cho tôi! Bạn phải trong repo gốc svn của bạn, bạn có thể sử dụng lệnh này!
GeekHades

276

Ok đây là cách khắc phục:

svn remove --force filename
svn resolve --accept=working  filename
svn commit

biết thêm chi tiết tại: http://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.html


Nếu bạn đang làm việc với IDE Eclipse, bạn cũng có thể áp dụng giải pháp "dòng lệnh không" của tôi, mà tôi đã mô tả trong một câu trả lời riêng bên dưới.
Peter Wippermann

3
bằng cách sử dụng svn 1.7.4, svn giúp giải quyết trạng thái rằng nó "đã không được hỗ trợ khi chạy 'svn giải quyết - chấp nhận làm việc'."
xác tàu23

35

Đối với tôi chỉ có tùy chọn hoàn nguyên --depth infinite cố định thư mục của Svn vẫn còn trong vấn đề confict:

svn revert --depth infinity "<directory name>"
svn update "<directory name>"

1
để hoàn nguyên toàn bộ thư mục của các tệp hoặc một tệp không còn tồn tại nữa
biology.info 10/07/2015

Để giải quyết xung đột của các tệp bị xóa cục bộ tồn tại trên máy chủ, tùy chọn này đã hoạt động ..
Neo

1
Cảm ơn rất nhiều. "svn hoàn nguyên - vô hạn." làm việc cho tôi và khôi phục các tệp đã bị xóa, không xuất hiện lại chỉ với "svn up"
Rauli Rajande

16
  1. svn giải quyết
  2. dọn dẹp svn
  3. cập nhật svn

.. đó là ba lệnh CLI svn trong chuỗi này trong khi cd-ed vào thư mục chính xác làm việc cho tôi.


@Elad Tabak: Trong trường hợp của tôi, tôi đã phải làm điều đó vào thư mục mẹ của tập tin gây rắc rối cho tôi, đây có thể là những gì bạn gặp phải
Jay Sullivan

11

Nếu bạn đang sử dụng IDE Eclipse và vấp phải lỗi này khi cam kết, đây là một giải pháp trong công cụ dành cho bạn. Tôi đang sử dụng Subclipse, nhưng giải pháp cho Subversive có thể tương tự.

Điều bạn có thể không nhận thấy là có một biểu tượng bổ sung trên tệp xung đột, đánh dấu tệp thực sự là "xung đột".

Nhấp chuột phải vào tệp, chọn "Nhóm" và "Chỉnh sửa xung đột ...". Chọn hành động thích hợp. Tôi đã hợp nhất tệp theo cách thủ công ở cấp độ văn bản trước đó, vì vậy tôi đã chọn tùy chọn đầu tiên, sẽ lấy trạng thái hiện tại của bản sao cục bộ của bạn làm "giải pháp được giải quyết". Bây giờ nhấn "OK" và đó là nó.

Biểu tượng xung đột lẽ ra đã biến mất và bạn sẽ có thể cam kết lại.


2
Ngoài ra, trong trường hợp có xung đột thư mục, bạn có thể thực hiện "Nhóm-> Hiển thị xung đột cây" và sau đó xem lại tất cả các xung đột đó và đánh dấu chúng là Đã giải quyết (trong cửa sổ "Xung đột cây SVN" riêng biệt)
altumano

6

Thêm một giải pháp dưới đây,

Nếu toàn bộ thư mục bị xóa và SVN đang ném lỗi "tệp quản trị .svn bị thiếu", phần sau đây sẽ được sử dụng để giải quyết xung đột về trạng thái làm việc.

svn resolve --accept working "file / directory name "

3

Hướng dẫn cho Rùa SVN

Điều hướng đến thư mục mà bạn thấy lỗi này. Nếu bạn không có bất kỳ thay đổi nào, hãy thực hiện như sau

a. Nhấp chuột phải và thực hiện 'Hoàn nguyên'
b. Chọn tất cả các tập tin
c. Sau đó cập nhật lại thư mục


3

Tôi sử dụng lệnh sau để xóa xung đột bằng dòng lệnh

svn revert "location of conflict folder" -R
svn cleanup
svn update

để hoàn nguyên thư mục hiện tại

svn revert . -R

Hahahaha, không làm điều này. Nó sẽ làm điều xấu.

Nó rõ ràng sẽ hoàn nguyên các thay đổi của bạn
Ujjwal Roy

nó thực sự hoạt động đối với một số vấn đề như xung đột và chỉ có thể giải quyết thông qua cli
zero8

2

Nếu bạn gặp khó khăn khi giải quyết (như tôi) và bạn không thể xóa và cập nhật tài nguyên vì bạn đã thực hiện nhiều thay đổi trên chúng, cộng với việc bạn đang sử dụng lật đổ nhật thực thay vì máy khách gốc, hãy làm theo các bước sau:

  1. tạo một bản sao của toàn bộ dự án của bạn
  2. thực hiện nhóm> ngắt kết nối trong nhật thực và chọn xóa siêu dữ liệu svn
  3. sau đó chọn nhóm> chia sẻ dự án và trỏ đến cùng một thư mục mà dự án của bạn nằm trong
  4. chọn có và cam kết mọi thứ (bạn có thể muốn loại trừ một số tài nguyên rất cục bộ, như tệp cấu hình)
  5. nếu bạn đã xóa hoặc di chuyển một số tài nguyên trước khi dùng thử cam kết đầu tiên, hãy xóa các tài nguyên cũ đó (chúng nên tăng gấp đôi, một ở vị trí cũ, một ở vị trí mới) và xóa các tài nguyên đó.

Bạn đã hoàn tất.


2

Tôi đoán giải pháp thích hợp là:

(1) backup your-file/your-directory
(2) svn revert your-file/your-directory
(3) svn update your-file/your-directory
(4) Merge the backup your-file/your-directory to the updated one.
(5) svn ci -m "My work here is done"

0

Tôi đã có vấn đề tương tự, đây là cách nó đã được giải quyết

xyz @ ip: ~ / FormsProject_SVN $ svn đã giải quyết FormsProj / samples / search

Đã giải quyết trạng thái xung đột của 'FormsProj / samples / search'

Bây giờ cập nhật dự án của bạn

xyz @ ip: ~ / FormsProject_SVN $ svn cập nhật

Đang cập nhật '.':

Chọn: (mc) giữ các di chuyển cục bộ bị ảnh hưởng, (r) đánh dấu đã giải quyết (ngắt di chuyển), (p) hoãn lại, (q) bỏ độ phân giải, (h) trợ giúp: r (chọn tùy chọn "r" để giải quyết)

Đã giải quyết trạng thái xung đột của 'FormsProj / samples / search'

Tóm tắt các xung đột: Xung đột cây: 0 còn lại (và 1 đã được giải quyết)


0

Tôi gặp vấn đề tương tự trên linux, nhưng tôi không thể sửa nó với câu trả lời được chấp nhận. Tôi đã có thể giải quyết nó bằng cách sử dụng cdđể đi đến thư mục chính xác và sau đó thực hiện:

svn remove --force filename  
syn resolve --accept=working filename  
svn up

Đó là tất cả.


Trong dòng thứ hai, nó svnkhông phải làsyn
Diego Romero Rodriguez
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.