Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

TFS - Warning - Unable to refresh ... because you have a pending edit.

TFS 서버로부터 모든 파일을 받아오라는 명령어를 다음과 같이 내릴 수 있습니다.

tf get . /version:T /force /overwrite /recursive /all

그런데 이런 경고가 발생하는군요. ^^

Warning - Unable to refresh D:\TestApp\bin\Debug\plugin.exe because you have a pending edit.

해당 파일을 그냥 서버 버전으로부터 받길 원한다면 pending 상태를 undo 해버리면 됩니다. 따라서 다음과 같이 명령어를 내리면 해결됩니다.

D:\TestApp> tf undo D:\TestApp\bin\Debug\plugin.exe
Undo your changes to bin\Debug\plugin.exe? (Yes/No) y
UnitTest\AgentDiagTool\bin\Debug:
Undoing edit: AgentDiagTool.exe




참고로, tfs undo를 하기 전 다음의 글을 보게 되었습니다.

TFS 2010 Get Specific Version doesn't overwrite local files 
; https://social.msdn.microsoft.com/Forums/vstudio/en-US/a8fc6e0c-be6c-4cbb-9d2f-7931be465cf9/tfs-2010-get-specific-version-doesnt-overwrite-local-files?forum=tfsversioncontrol

답변에 보면 이런 글이 있는데요.

Secondly, clear the client-side cache on the local machines:
 1. Exit Visual Studio
 2. Open a command window and navigate to the folder: "%localappdata%\Microsoft\Team Foundation\" (Note: For Windows Server 2003 navigate to \Documents and Settings\<user>\Local Settings\Application Data\Microsoft\Team Foundation folder)
 3. For Visual Studio 2010 clients navigate to the sub folder: "3.0" and delete the sub folder "cache" and its contents
 4. Restart Visual Studio and connect to TFS.
 5. Test the Get Latest Version. 

저 답변에 따라 cache를 지워봤습니다.

%localappdata%\Microsoft\Team Foundation\7.0\Cache

그런데 이후 tf 실행시 되려 workspace 문제가 발생합니다.

D:\TestApp>tf get . /version:T /force /overwrite /recursive /all
Unable to determine the workspace. You may be able to correct this by running 'tf workspaces /collection:TeamProjectCollectionUrl'.

D:\TestApp>tf workspace
Unable to determine the workspace. You may be able to correct this by running 'tf workspaces /collection:TeamProjectCollectionUrl'.

지정된 명령에 따라 tf workspaces...를 실행해 주면,

tf workspaces /collection:https://testpc.testad.com/tfs/defaultcollection

다행히 복구는 됩니다.

tf workspaces /collection:https://testpc.testad.com/tfs/defaultcollection
Collection: https://testpc.testad.com/tfs/defaultcollection
Workspace Owner          Computer  Comment
--------- -------------- --------- ------------------------------------------------------------------------
TESTWORK TestUser        TESTPC

하지만 "tf get .. /version:T /force /overwrite /recursive /all" 명령어를 실행하면 다시 pending changes 문제가 발생합니다. 즉, 전혀 해결되지 않은 것입니다. "tf undo"를 해야 합니다.





[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 8/23/2017]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2017-11-01 06시16분
Yes/No 물음없이 모든 항목을 undo하고 싶다면?

tf undo /recursive /noprompt *
정성태

... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12245정성태6/24/202020647.NET Framework: 916. C# - Task.Yield 사용법 (2) [2]파일 다운로드1
12244정성태6/24/202020603.NET Framework: 915. ETW(Event Tracing for Windows)를 이용한 닷넷 프로그램의 내부 이벤트 활용 [1]파일 다운로드1
12243정성태6/23/202016976VS.NET IDE: 147. Visual C++ 프로젝트 - .NET Core EXE를 "Debugger Type"으로 지원하는 기능 추가
12242정성태6/23/202018628오류 유형: 623. AADSTS90072 - User account '...' from identity provider 'live.com' does not exist in tenant 'Microsoft Services'
12241정성태6/23/202021301.NET Framework: 914. C# - Task.Yield 사용법파일 다운로드1
12240정성태6/23/202022597오류 유형: 622. 소켓 바인딩 시 "System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions" 오류 발생
12239정성태6/21/202021659Linux: 30. (윈도우라면 DLL에 속하는) .so 파일이 텍스트로 구성된 사례 [1]
12238정성태6/21/202019583.NET Framework: 913. C# - SharpDX + DXGI를 이용한 윈도우 화면 캡처 라이브러리
12237정성태6/20/202019274.NET Framework: 912. 리눅스 환경의 .NET Core에서 "test".IndexOf("\0")가 0을 반환
12236정성태6/19/202020098오류 유형: 621. .NET Standard 대상으로 빌드 시 dynamic 예약어에서 컴파일 오류 - error CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
12235정성태6/19/202018354오류 유형: 620. Windows 10 - Inaccessible boot device 블루 스크린
12234정성태6/19/202017905개발 환경 구성: 494. NuGet - nuspec의 패키지 스키마 버전(네임스페이스) 업데이트 방법
12233정성태6/19/202019075오류 유형: 619. SQL 서버 - The transaction log for database '...' is full due to 'LOG_BACKUP'. - 두 번째 이야기
12232정성태6/19/202017389오류 유형: 618. SharePoint - StoreBusyRetryLater 오류
12231정성태6/15/202020981.NET Framework: 911. Console/Service Application을 위한 SynchronizationContext - AsyncContext
12230정성태6/15/202019678오류 유형: 617. IMetaDataImport::GetMethodProps가 반환하는 IL 코드 주소(RVA) 문제
12229정성태6/13/202021772.NET Framework: 910. USB/IP PROJECT를 이용해 C#으로 USB Keyboard + Mouse 가상 장치 만들기 [1]
12228정성태6/12/202020336.NET Framework: 909. C# - Source Generator를 적용한 XmlCodeGenerator파일 다운로드1
12227정성태6/12/202024426오류 유형: 616. Visual Studio의 느린 업데이트 속도에 대한 원인 분석 [5]
12226정성태6/11/202023120개발 환경 구성: 493. OpenVPN의 네트워크 구성 [4]파일 다운로드1
12225정성태6/11/202020824개발 환경 구성: 492. 윈도우에 OpenVPN 설치 - 클라이언트 측 구성
12224정성태6/11/202029718개발 환경 구성: 491. 윈도우에 OpenVPN 설치 - 서버 측 구성 [1]
12223정성태6/9/202026225.NET Framework: 908. C# - Source Generator 소개 [10]파일 다운로드2
12222정성태6/3/202018683VS.NET IDE: 146. error information: "CryptQueryObject" (-2147024893/0x80070003)
12221정성태6/3/202018521Windows: 170. 비어 있지 않은 디렉터리로 symbolic link(junction) 연결하는 방법
12220정성태6/3/202022537.NET Framework: 907. C# DLL로부터 TLB 및 C/C++ 헤더 파일(TLH)을 생성하는 방법
... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...