2012-09-04 30 views
54

Chúng tôi vừa chuyển sang sử dụng TFS 2012 mà có vẻ là một nâng cấp lớn cho năm 2008 về khả năng sử dụng với VS2012.Cách tắt trạng thái tự động hoàn thành nhiệm vụ trong checkin

Tuy nhiên, có một tính năng rất khó chịu với tính năng "Công việc của tôi" nếu bạn kết nối công việc của mình với một tác vụ nhất định. Sau khi bạn đã kết nối tác vụ với mục công việc của mình, mọi kiểm tra đối với bất kỳ chi nhánh nào sẽ đánh dấu công việc là trạng thái "đã hoàn tất". Làm thế nào tôi có thể vô hiệu hóa điều này? Tôi muốn có chi nhánh phát triển để tôi có thể thực hiện các cam kết nhỏ trong quá trình phát triển nhưng với tính năng này, tôi không thể kết nối tác vụ với công việc hiện tại của mình nếu tôi làm như vậy. Cách duy nhất để làm điều này (mà tôi biết) là chọn nhiệm vụ cho công việc hiện tại của tôi ngay trước khi tôi hợp nhất tất cả các cam kết nhỏ từ nhánh cá nhân của tôi thành thạo. Có điều này là doable nhưng nó không phải là công việc tốt đẹp vì nó có thể được.

Với tính năng bảng tính trong các tác vụ di chuyển mẫu scrum được thực hiện sau khi công việc được thực hiện, dù sao cũng là một phần nhỏ nhặt và phổ biến của quy trình làm việc. Tự động thực hiện chuyển động là khá tự động gây phiền nhiễu mà không nên có.

Vì vậy, câu hỏi của tôi là: Cách tắt tính năng này? Phần này có phải là một phần của mẫu hoặc một số tích hợp sâu hơn với quản lý mục công việc của TFS không?

Chúng tôi đang sử dụng mẫu Scrum 2.0 từ Microsoft.

Trả lời

73

Khi bạn ở trong bảng điều khiển Thay đổi đang chờ xử lý sẵn sàng để kiểm tra và bạn kết hợp mục công việc với changeset, bạn nên thay đổi "Giải quyết" thành "Liên kết" (hoặc bao giờ trong Scrum).

Pending Changes


Để làm điều này mặc định là phức tạp hơn.

Bạn cần phải edit the Work Item Template definition cho các loại mục công việc bạn đang sử dụng (Bug, Task, v.v.).

Một lựa chọn là để loại bỏ các "giải quyết" tùy chọn hoàn toàn, bạn có thể làm điều này như sau:

Mở XML cho bạn Work Item Loại (hoặc GUI trong Đồ chơi điện nếu bạn thích): Tìm và loại bỏ các:

  • <ACTION> <ACTION value="Microsoft.VSTS.Actions.Checkin" /> </ACTION>

đoạn từ mẫu của bạn - nó sẽ nằm trong <TRANSITIONS> chống lại một pa chuyển đổi rticular giữa 2 trạng thái.

Làm điều này có nghĩa là TFS sẽ không bao giờ chuyển đổi mục công việc của bạn như là một phần của việc đăng ký, bạn sẽ phải thực hiện nó mọi lúc.

Tùy chọn khác là thêm mục công việc mới "Tiểu bang" (ví dụ: "Đang phát triển") không có ACTION của Checkin. Sau đó, bạn có thể chuyển đổi các mục công việc của bạn sang trạng thái này, sau đó quay lại "Đã gán" (hoặc bất kỳ thứ gì) trước khi kiểm tra chúng và "Giải quyết" chúng.

Professional Team Foundation Server 2010 book from Wrox sẽ giúp chỉnh sửa WIT.

Có thể có nhiều cách để thực hiện việc này, tất cả phụ thuộc vào nhóm và môi trường bạn làm việc trong :).


Ngoài ra còn có một cách khác to do this mà chỉ ảnh hưởng đến máy client của bạn:

Để làm cho “Associate” hành động mặc định (thay vì “giải quyết”), thiết lập registry key

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinAction đến False.

N.B. Thay 12.0 (đối với VS2013) với 14.0 cho VS2015, 11.0 cho VS 2012 hoặc 10.0 cho VS 2010.

+0

@DaveShaw: Tuy nhiên, mục nhập (mặc dù hiện tại) không có hiệu lực trong VS2012. Điều này hiện đang mở dưới dạng đề xuất: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3418758-in-the-team-explorer-change-default-state-value-o –

+0

@ JensNeubauer bạn phải thay đổi 10,0 đến 11,0 hoặc 12,0 (2012/2013) –

+0

@AndyDangerGagne Tôi đã cập nhật câu trả lời của mình để đề cập đến điều đó. – DaveShaw

31

Bây giờ bạn có thể nâng cấp lên VS2015 (nếu đã không làm như vậy) và bỏ chọn new checkbox Tools> Options> Nguồn Control> Visual Studio Team Foundation> "Giải quyết các mục công việc liên quan khi đăng ký". Sau đó, "Liên kết" sẽ trở thành tùy chọn mặc định và bạn sẽ không cần thay đổi theo cách thủ công trên cam kết

+0

Câu trả lời có thẻ vs2012, nhưng cũng có ngày từ 2012 –

+0

@BorisCallens: Câu trả lời trên SO không có thẻ, có thể bạn có nghĩa là "câu hỏi" thay vì "trả lời"? – avitenberg

+0

Có. Câu hỏi. My bad –

Các vấn đề liên quan