Visual Studio TFS hiển thị các tệp không thay đổi trong danh sách các thay đổi đang chờ xử lý


94

Tôi thấy một tệp trong cửa sổ thay đổi đang chờ xử lý. Tôi cố gắng so sánh nó với phiên bản mới nhất và tôi nhận được thông báo 'Các tệp giống hệt nhau' Nếu các tệp giống nhau tại sao tệp này lại hiển thị trong cửa sổ thay đổi đang chờ xử lý? Điều gì đã thay đổi về tệp này? Tôi có thể định cấu hình TFS để không liệt kê các tệp giống nhau không?


Perchance là chương trình chống vi-rút của bạn đang cập nhật ngày sửa đổi cuối cùng của tệp? Hoặc bạn đang làm việc trên một máy tính xách tay được mã hóa?
DOK

ScottGu giải thích cách chống vi-rút có thể thay đổi những ngày này trong bài viết này (tìm kiếm "vi-rút") weblogs.asp.net/scottgu/archive/2006/09/22/…
DOK 4/11/11

58
Điều này đã là một trong những nhất TFS gây phiền nhiễu "tính năng"
Brad Thomas

Tôi cũng đang gặp sự cố này - TF hoạt động, nhưng TFPT thì không - Tôi nghĩ đó là do tôi đang sử dụng "TFPT - Team Foundation Power Tools 2012" với không gian làm việc Visual Studio 2010 ...: - /
BrainSlugs83

Có vẻ như tất cả những gì tôi phải làm là kết nối với cùng một bộ sưu tập trong Visual Studio 2012. Xem bài đăng này để biết thêm chi tiết: stackoverflow.com/questions/1758606/…
BrainSlugs83 23/12/13

Câu trả lời:


49

Điều này là bình thường nếu một tệp được kiểm xuất tự động do thay đổi và nếu cuối cùng nội dung của tệp được thay đổi trở lại trạng thái ban đầu. Tại thời điểm đó, bạn sẽ thấy thông báo về các nội dung giống hệt nhau khi so sánh.

Mục blog này mô tả một cách không trực quan để giải quyết vấn đề này; và trong các bình luận, có một gợi ý thậm chí còn tốt hơn về việc xử lý nó thông qua dòng lệnh thông qua các công cụ điện TFS.

Các thay đổi đang chờ xử lý của TFS bỏ qua các tệp giống hệt nhau ...


12
Tôi thực sự khuyên bạn nên sử dụng tfpt uucông cụ quyền lực chứ không phải giải pháp "Không cho tất cả" hacky. Chỉ những chỉnh sửa bổ sung và sửa đổi mới nhận được lời nhắc này. Ví dụ: đổi tên (chỉ là đổi tên đang chờ xử lý, không phải đổi tên + chỉnh sửa) sẽ được giao diện người dùng hoàn tác mà không cần nhắc.
Edward Thomson

8
Trong trường hợp bài đăng blog gốc bị biến mất, lệnh này tfpt uu /noget /r *phải được thực thi từ thư mục gốc của nhánh. Nói điều này, mặc dù nó chọn chính xác các thay đổi thừa, sau đó tuyên bố hoàn tác chúng, tôi vẫn thấy chúng như đã được kiểm tra trong VS và trong hộp thoại Đăng ký, vì vậy tôi có vẻ bị hỏng: /
Mike Chamberlain

2
Một khả năng khác của điều này xảy ra là nếu bạn chuyển đổi bit "chỉ đọc" của tệp mà không thực sự thay đổi nội dung của tệp. TFS đôi khi có thể gây khó chịu.
arviman,

1
Để tham khảo, giải pháp "Không với tất cả" được sao chép tại đây từ liên kết: "Một tùy chọn khác là" Hoàn tác thanh toán "tất cả các thay đổi và nhấp vào" Không với tất cả "khi được yêu cầu xác nhận hoàn tác thanh toán. Bằng cách này Visual Studio sẽ "Hoàn tác kiểm tra" tất cả các tệp không được thay đổi và tất cả các tệp đã thay đổi sẽ vẫn được kiểm tra. Tôi luôn sử dụng phương pháp này. "
PJSimon

Thủ thuật "No To All" đó rất hay, nhưng nó có một vài nhược điểm. Ví dụ - tôi sử dụng công cụ của mình, để tạo các lớp DB EntityFramework. Tôi tạo chúng trong một thư mục bên ngoài, và sau đó chỉ cần kéo chúng vào giải pháp của tôi. Đôi khi, khi không có thay đổi, nó vẫn hiển thị các thay đổi. Thủ thuật "Không cho tất cả" này loại bỏ chúng. Nhưng nếu có các lớp mới được thêm vào, chưa có trước đó, nó sẽ xóa chúng khỏi quyền kiểm soát nguồn - tôi phải thêm lại chúng bằng tay.
ước

17

Gần đây tôi vừa cập nhật VS2010 lên VS 2013 và vấn đề này thậm chí còn tồi tệ hơn. Khi bạn sử dụng so sánh, các tệp giống hệt nhau hoàn toàn không bật lên. Tôi ghét điều này vì bạn không thể tìm ra tệp nào thực sự bị thay đổi cho đến khi bạn kiểm tra các tệp so sánh cẩn thận.

Cuối cùng, tôi tìm ra một giải pháp cho điều này:
Thêm "Hoàn tác thanh toán không thay đổi" trong các công cụ bên ngoài:

  • Chỉ huy: tfpt.exe
  • Tranh luận: uu . /noget /recursive
  • Thư mục ban đầu: $(SolutionDir)

Sau khi chạy lệnh này, TFS sẽ tự động hoàn tác tất cả các thay đổi thừa trong tệp.
Nhưng các tệp này vẫn giữ trạng thái kiểm tra, thực sự chúng đã được hoàn tác và giống như phiên bản mới nhất. Tôi nghĩ đó là một lỗi trong TFS. Bạn chỉ cần nhấp vào biểu tượng Làm mới trên thanh công cụ dưới trình khám phá giải pháp, các tệp này sẽ được làm mới và hiển thị đúng trạng thái!


2
Tôi đã chạy "tfpt uu. / Noget / recursive" và nó khẳng định không có thay đổi thừa đang chờ xử lý nào trong không gian làm việc. VS2015, TFPT 2015. Tất cả các thay đổi của tôi đều là các thay đổi [hợp nhất] trống.
fastmultiplication

Tôi đã thử điều này nhưng không thành công. Loại bỏ các điểm của lập luận dường như để làm cho nó hoạt động đúng: uu / noget / đệ quy
dperez

10

Để giải thích trên rõ ràng hơn:

  1. Cài đặt TFS Power Tools bằng trình quản lý gói NuGet trong VS.
  2. Mở Visual Studio Command Prompt (còn được gọi là Developer Command Prompt cho VS 2013/2015) từ Windows Start.
  3. Điều hướng đến vị trí gốc của không gian làm việc cục bộ của bạn thông qua dấu nhắc lệnh.
  4. Thực hiện lệnh này: tfpt uu. / đệ quy / noget
  5. Chọn loại bỏ các thay đổi thừa nếu được nhắc.

Đã làm cho tôi.

Thêm nữa:

Đôi khi tôi nhận thấy mình cần chạy lệnh trên dấu nhắc mở của Dấu nhắc lệnh dành cho nhà phát triển (và gặp lỗi không tìm thấy vùng làm việc), trước khi điều hướng đến thư mục không gian làm việc và thực thi ở đó. Nếu tôi đi thẳng đến đúng thư mục, lệnh không được tìm thấy. (Tôi sẽ không bận tâm đến một giải pháp cho vấn đề đó.)


Cảm ơn tôi-from-11-11-2015. Tôi tiếp tục nhận được cùng một vấn đề hết lần này đến lần khác và câu trả lời của bạn là hoàn hảo. Tôi đã cố gắng bỏ phiếu cho bạn, nhưng đã gặp một số lỗi 'liên tục không-thời gian'. Điều gì đó liên quan đến ngày 30 tháng 11 năm 1955 và "không tìm thấy 1,21 gigawatt yêu cầu".
Phil

Thật không may là không làm việc cho tôi. Unable to determine the workspace. Đã thử cập nhật bộ đệm ẩn không gian làm việc, không thành công. Sau 2 giờ, tôi sẽ từ bỏ và kiểm tra các tệp không thay đổi để loại bỏ chúng.
C4d

@ C4u Tôi có thể đã bắt đầu tự mình gặp phải vấn đề đó, kể từ khi chuyển sang VS 2015. Tuy nhiên, sự cố xảy ra với các tệp đã đăng xuất đã biến mất. Tôi sẽ xem những gì tôi có thể tìm hiểu.
Phil

1
Tôi không thể tìm thấy PowerTools bằng NuGet, nhưng có thể tìm và cài đặt nó thông qua tìm kiếm trên google "Microsoft Visual Studio Team Foundation Server 2013 Power Tools"
Colin

@Versatile Nhìn vào Visual Studio 2017, bạn sẽ cần phải đi tới 'Công cụ'> 'Tiện ích mở rộng và Cập nhật ...' Tôi không nhớ cấu trúc menu trong 2013/15. Có lẽ câu trả lời của tôi cần phải chỉnh sửa. Nếu bạn có VS 2013/15 và có thể kiểm tra cấu trúc menu, vui lòng chỉnh sửa câu trả lời của tôi. :)
Phil

1

Tôi đã giải quyết vấn đề này bằng cách nhấp vào Stage Allnút trong Thay đổi, sau đó hủy liên kết chúng với Unstage All.

Nó đã giải quyết tệp không thay đổi mà tôi có trong Changesphần của mình . Đẹp và đơn giản.


0

Visual Studio 2012 đã giới thiệu một khái niệm mới được gọi là Local Workspace .

Khi Vị trí không gian làm việc được định cấu hình là Cục bộ, thì nó sẽ đặt một bản sao cục bộ của tệp gốc (Giống như SVN / CVS).

Sau đó nó sẽ tự động ẩn các tệp không thay đổi khỏi các thay đổi đang chờ xử lý.

Sử dụng Trình khám phá điều khiển nguồn TFS để "Chỉnh sửa ..." Không gian làm việc TFS và thay đổi cài đặt "Nâng cao ..." - Vị trí từ Máy chủ thành Cục bộ.


Không gian làm việc của tôi là địa phương, nhưng các tập tin unchaged vẫn xuất hiện trong khi chờ thay đổi ... Nó không tự động khôi phục trở lại trả phòng cấp tốc ...
Ozkan

0

Đối với tôi, việc điều chỉnh không gian làm việc sẽ giải quyết những thay đổi đang chờ xử lý không hợp lệ này:

  1. Team Explorer -> Công trình
  2. Nhấp chuột phải vào bản dựng mới nhất với các thay đổi của bạn -> "Hòa hợp không gian làm việc ..."
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.