2012-09-25 31 views
13

Tôi biết điều này đã được yêu cầu trước đó, nhưng vì không có câu trả lời, tôi hỏi lại.TFPT Unshelve di chuyển không hoạt động

Tôi đang cố di chuyển một kệ sách từ một nhánh này sang nhánh khác. Tôi đang chạy lệnh sau, từ bên trong DIR workspace:

tfpt unshelve changes;myusername /migrate /source:$/main /target:$/new-branch 

khi tôi chạy mà tôi nhận được lệnh cửa sổ 'chi tiết shelveset' lên, với những thay đổi, và thư mục (trỏ đến $/Main)

Nhấp vào dấu gạch ngang mang lại cho tôi hộp thoại xung đột, một lần nữa với thư mục trỏ đến $/main. Nếu tôi nhấp quyết tâm, tôi nhận được các tùy chọn sau:

  • Giữ thay đổi địa phương của tôi Hoàn tác thay đổi địa phương của tôi, và lấy hoãn
  • Hoàn tác thay đổi địa phương của tôi, và chịu những thay đổi xếp vào tủ.
  • Giữ thay đổi địa phương của tôi, và hợp nhất các địa phương và gác lại nội dung

trong đó bao giờ lựa chọn tôi chọn, tôi không bao giờ nhận được bất kỳ sự thay đổi đang chờ xử lý 'mới ngành'. Những thay đổi duy nhất tôi đang chờ xử lý là dành cho chi nhánh chính.

bất kỳ ý tưởng nào?

Trả lời

9

Bạn cần chạy lệnh này từ thư mục được ánh xạ tới chi tiết mục tiêu chi nhánh ($/new-branch, trong ví dụ của bạn).

Ví dụ, nếu chi nhánh hiện tại của bạn là => Main được ánh xạ trong không gian làm việc của bạn tại C:\Workspace\TeamProject\Main\...

Và bạn muốn di chuyển những thay đổi Dev mà là ánh xạ tại D:\Workspace\TeamProject\Dev

Sau đó, bạn cần phải chạy lệnh sau đây, từ thư mục sau:

C:\Workspace\TeamProject\Main> tfpt unshelve "changes;muusername" /migrate /source:$/TeamProject/Main /target:$/TeamProject/Dev 

bài đăng blog Xem Tarun để biết thêm chi tiết: http://geekswithblogs.net/TarunArora/archive/2011/06/06/unshelve-shelveset-created-from-one-branch-to-another.aspx

+1

FWIW, đây không phải là một hạn chế đối với tôi. Đối với tôi, tôi đã có thể chạy nó từ thư mục cha của cả hai nhánh. Vì vậy, trong ví dụ trên, nó sẽ là 'C: \ Workspace \ TeamProject \'. Tôi tự hỏi nếu yêu cầu là bạn chạy nó từ một thư mục được ánh xạ như một phần của không gian làm việc w.r.t. các chi nhánh được đề cập. – JoeBrockhaus

+12

@Grant Holliday: Vì vậy ... bạn nói để chạy từ một thư mục được ánh xạ tới "đích" ... nhưng bạn thực sự cho thấy rằng bạn chạy nó từ "C: \ Workspace \ TeamProject \ Main" ... đó là "nguồn "... câu trả lời rất khó hiểu! – woohoo

+0

Có thể chỉ định hành động mặc định được thực hiện khi tìm thấy xung đột, thay vì chỉ định xung đột theo cách thủ công cho từng xung đột không? Tôi có hơn 700 tệp và không thể chỉ định thủ công trong trường hợp của tôi. –

0

Tôi đã có kinh nghiệm giống như người hỏi sử dụng TFPT - Team Foundation Power Tools 2013. Tôi sẽ chạy lệnh và nhận được thông báo "Tự động hợp nhất thành công", nghĩ rằng nó đang hoạt động, nhưng không thấy thay đổi đối với các tệp trong mục tiêu chi nhánh.
Lệnh của tôi là như sau:

C: \ Users \ dev \ TFS_TEST \ rel1.1> "C: \ Program Files (x86) \ Microsoft Team Foundation Server 2013 Power Tools \ tfpt.exe" unshelve cbbss02 ; [email protected]/migrate/source: $/E Pluribus Unum/SourceCode/rel1.2/target: $/E Pluribus Unum/SourceCode/rel1.1

Như những người khác đã đề cập, tôi đặt dấu ngoặc kép xung quanh đường dẫn nguồn và đích:

"C: \ Program Files (x86) \ Microsoft Team Foundation Server 2013 Power Tools \ tfpt.exe" unshelve cbbss02; [email protected]/migrate/source: "$/E Pluribus Unum /SourceCode/rel1.2 "/ target:" $/E Pluribus Unum/SourceCode/rel1.1 "

làm cho nó thực sự thúc đẩy các thay đổi đối với nhánh mục tiêu.(Tôi cũng đảm bảo rằng Visual Stuido đã bị đóng)

2

Tôi cũng gặp vấn đề này và không có giải pháp nào được đăng có vẻ hoạt động.

Hóa ra đó là lỗi người dùng và tôi đã sử dụng dấu gạch chéo ngược thay vì chuyển tiếp dấu gạch chéo trong thông số /target của mình. Điều này là do tôi đã sao chép các đường dẫn cục bộ của dự án chứ không phải là đường dẫn TFS và sau đó thay thế đường dẫn gốc bằng $ khi tôi nhận thấy lỗi của mình - nhưng tôi đã bỏ lỡ sự thay đổi về hướng cắt - dường như điều này quan trọng và có ý nghĩa rằng kệ sách của bạn sẽ không tồn tại ở nhánh nguồn.

+0

Tôi đã có một con đường không chính xác (typo), câu trả lời này làm cho tôi kiểm tra lại nó để bắt nó. – lko

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