1 / 32

형상관리 도구 Perforce 개요

형상관리 도구 Perforce 개요. Client/Server (over network) 극소 변경 작업 작업공간 관리 파일간의 브랜치 멀티 플래폼 지원 빠르다 !. Perforcec 의 특징. 구 조 The Perforce Client-Server Model. Perforce client. Perforce server. Perforce client. Perforce client. Perforce client. Depot. Depot. Database.

bonniel
Download Presentation

형상관리 도구 Perforce 개요

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 형상관리 도구 Perforce 개요 Perforce Overview

  2. Client/Server (over network) 극소 변경 작업 작업공간 관리 파일간의 브랜치 멀티 플래폼 지원 빠르다! Perforcec 의 특징 Perforce Overview

  3. 구 조 The Perforce Client-Server Model Perforce client Perforce server Perforce client Perforce client Perforce client Perforce Overview

  4. Depot Depot Database 구 조The Perforce Server Perforce server Perforce Overview

  5. p4win p4 “Joe2” Workspace “Joe1” Workspace 구 조Perforce Client Programs Perforce Overview

  6. 극소 변경 작업들Changelists Changelist 3567 src/zoo/zebra.c#23 edit src/zoo/chimp.c#1 add src/zoo/walrus.c#14 edit src/zoo/lion.c#3 delete src/zoo/hippo.c#9 edit Perforce Overview

  7. Client 작업공간 생성 Editor form Command p4 client Client: laura-ws1 Date: 1998/06/15 12:39:47 Owner: laura Description: Laura’s first client workspace. Root: c:\demo Options: nomodtime noclobber View: //depot/main/jam/... //laura-ws1/main/jam/... Perforce Overview

  8. 작업공간 등록 p4 sync //depot/main/jam/regexp.c#4 - added as c:\demo\main\jam\regexp.c //depot/main/jam/regexp.h#2 - added as c:\demo\main\jam\regexp.h //depot/main/jam/RELNOTES#77 - added as c:\demo\main\jam\RELNOTES //depot/main/jam/rules.c#5 - added as c:\demo\main\jam\rules.c and so on... Perforce Overview

  9. 작업 파일들 수정 cd c:\demo\main\jam p4 edit rules.c regexp.h //depot/main/jam/rules.c#5 - opened for edit //depot/main/jam/regexp.h#2 - opened for edit vi rules.c vi regexp.h Perforce Overview

  10. 신규 파일들 추가 vi alias.c p4 add alias.c //depot/main/jam/alias.c#1 - opened for add p4 add-t binarylogo.bmp //depot/main/graphics/logo.bmp#1 - opened for add Perforce Overview

  11. 파일들 삭제 ls lists.c mkjambase.c parse.h variable.c lists.h mkjambase.h rules.h variable.h make.c newstr.c scan.c yyacc make.h newstr.h scan.h make1.c option.c search.c p4 delete rules.h parse.h //depot/main/jam/rules.h#3 - opened for delete //depot/main/jam/parse.h#9 - opened for delete Perforce Overview

  12. 작업 파일들 복구 p4 revert regexp.h alias.c parse.h //depot/main/jam/regexp.h#2 - was edit, reverted //depot/main/jam/alias.c#1 - was add, abandoned //depot/main/jam/parse.h#9 - was delete, reverted Perforce Overview

  13. 작업공간 파일들 작업 이력 조회 p4 opened //depot/main/jam/hash.c#2 - edit default change (text) //depot/main/jam/check.c#1 - add default change (text) //depot/main/jam/execnt.c#9 - delete default change (text) Perforce Overview

  14. 변경사항 조회 p4 diff hash.c ==== //depot/main/jam/hash.c#2 - c:\demo\main\hash.c ==== 76c76 < TARGET target, t = &target; --- > TARGET target, *t = &target; Perforce Overview

  15. Depot 5489 5490 5491 rules.c#2 check.c#1 Workspace 5492 execmac.c#2 5493 5494 5495 5496 매일작업 마감변경리스트 제출 Perforce Overview

  16. 변경리스트 제출 p4 submit Change 5085 created with 3 open file(s). Submitting change 5085. add //depot/main/jam/check.c#1 delete //depot/main/jam/execmac.c#2 edit //depot/main/jam/rules.c#6 Change 5085 submitted. Change: new Description: <enter description here> Files: //depot/main/jam/check.c # add //depot/main/jam/execmac.c # delete //depot/main/jam/rules.c # edit Added “check” function. Perforce Overview

  17. 파일 병합About “resolve” • The resolve command • When to use resolve: • After a failed submit • After re-syncing opened files • When integrating between branches Perforce Overview

  18. joe-ws ann-ws depot foo.c#3 foo.c#4 sync edit submit foo.c sync edit foo.c submit foo.c resolve submit foo.c#5 제출 실패 Perforce Overview

  19. 분석 명령어 p4 resolve c:\demo\main\jam\rules.c - merging //depot/main/jam/rules.c#7 Diff chunks: 0 yours + 0 theirs + 0 both + 1 conflicting Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) [e]: Perforce Overview

  20. 파일 병합Conflict markers in the merged file theirs yours # include "jam.h" # include "option.h" # include "patchlev.h" # include "make.h" # include "jam.h" # include "option.h" # include "patchlevel.h" # include "make.h" merged result (after editing) # include "jam.h" # include "option.h" >>>> ORIGINAL foo.c#3 ==== THEIRS foo.c#4 # include "patchlev.h" ==== YOURS # include "patchlevel.h" <<<< # include "make.h" # include "jam.h" # include "option.h" # ifdef FATFS # include "patchlev.h" # else # include "patchlevel.h" # endif # include "make.h" Perforce Overview

  21. Inter-File Branching • Branching a codeline • Propagating changes from one codeline branch into another Perforce Overview

  22. //depot/rel1/... //depot/main/... rel1 main 브랜치 와 통합Branching a Codeline Perforce Overview

  23. rel2 rel1 main 브랜치 와 통합브랜치를 통한 변경 전개 Perforce Overview

  24. 대상 브랜치 를 위한 Client 점검 p4 client Client: jim-ws Description: Jim’s Release 1.0 workspace. Root: c:\demo View: //depot/main/... //jim-ws/main/... //depot/rel1/... //jim-ws/rel1/... Is the target branch in this list? Perforce Overview

  25. 새 브랜치 작성 p4 integ //depot/main/... //depot/rel1/... //depot/rel1/regexp.h#1 - branch/sync from //depot/main/regexp.h#3 //depot/rel1/rules.c#1 - branch/sync from //depot/main/rules.c#7 //depot/rel1/rules.h#1 - branch/sync from //depot/main/rules.h#4 …and so on p4 submit ... Perforce Overview

  26. workspace depot sync //depot/main/... rel1/foo.c#3 resolve main/foo.c#9 submit foo.c editor “base” “yours” rel1/foo.c#4 foo.c “theirs” “merged” main/foo.c#10 foo.c “result” integrate //depot/rel1/... //depot/main/... Perforce Overview

  27. 브랜치 들 간의 변경 전달 p4 sync //depot/main/... //depot/main/... - files up-to-date. p4 integ //depot/rel1/... //depot/main/... //depot/main/make.c#4 - integrate from //depot/rel1/make.c#2,#3 //depot/main/make1.c#7 - integrate from //depot/rel1/make1.c#2 p4 resolve ... p4 submit ... Perforce Overview

  28. 브랜치 와 병합Integrating by Branch View • A way to store and reuse source/target branch relationships • To use branch views: • create branch view spec • use branch view name with integrate command Perforce Overview

  29. 브랜치 뷰 명세 작성 branch view name p4 branch r1 Branch: r1 Description: Release 1 branch for Server & API View: //depot/main/svr/... //depot/rel1/svr/... //depot/main/api/... //depot/rel1/api/... target paths source paths Perforce Overview

  30. 브랜치 명세 이용 p4 integ -b r1 …instead of: p4 integ //depot/main/svr/… //depot/rel1/svr/… p4 integ //depot/main/api/… //depot/rel1/api/… And: p4 integ-r -b r1 …instead of: p4 integ //depot/rel1/svr/… //depot/main/svr/… p4 integ //depot/rel1/api/… //depot/main/api/… Perforce Overview

  31. Multi-platform Support • Runs on zillions of platforms! • If we don't run on yours, let us know and we'll port it! Perforce Overview

  32. Summary • Fast • Scalable • Intuitive • Highly portable • Low administration • Excellent technical support Perforce Overview

More Related