p4 integrate, take three

10
Integrate and Resolve in 2011.1 Sam Stafford Developer

Upload: perforce

Post on 05-Jul-2015

872 views

Category:

Technology


0 download

DESCRIPTION

Perforce's 2011.1 release features our second full rewrite of the "p4 integrate" algorithm, driven by the need for further improved performance, semantics, and new functionality. This session will provide an overview of the major changes to "p4 integrate" and "p4 resolve" that users and client developers are likely to be interested in.

TRANSCRIPT

Page 1: P4 Integrate, Take Three

Integrate and Resolve in 2011.1 Sam Stafford Developer

Page 2: P4 Integrate, Take Three

P4 INTEGRATE, TAKE THREE

Page 3: P4 Integrate, Take Three

BASE SCORING AS IT WAS

#1 + #3 = 4

#2 + #3 = 5

Selected base

Page 4: P4 Integrate, Take Three

BASE SCORING AS IT WILL BE

1

1

1 1

2 4

4 Selected base

+1

+1 +1

+1

Page 5: P4 Integrate, Take Three

AVOIDING RE-INTEGRATION

Page 6: P4 Integrate, Take Three

INTEGRATING INTO MOVED FILES

Page 7: P4 Integrate, Take Three

INTEGRATING BETWEEN MOVED FILES

?

c:\client\B\C\F - resolving move to //depot/B/D/E Filename resolve: at: //depot/B/D/E ay: //depot/B/C/F am: //depot/B/D/F Accept(a) Skip(s) Help(?) am: a //depot/B/D/F - moved from //depot/B/C/F

Page 8: P4 Integrate, Take Three

OTHER NEW TYPES OF RESOLVE

Delete resolve: at: delete ay: ignore Accept(at/ay) Skip(s) Help(?) s:

Filetype resolve: at: (text+x) ay: (text+k) am: (text+kx) Accept(a) Skip(s) Help(?) am:

Branch resolve: at: branch ay: ignore Accept(at/ay) Skip(s) Help(?) s:

Page 9: P4 Integrate, Take Three

NEW C++ CLIENT API FUNCTIONALITY

ClientUser::Resolve( ClientResolveA *r, int preview, Error *e );

To perform a non-content resolve interactively:

•  Build with 2011.1+ client libraries •  Leave “api” protocol at 70+ •  Use the new ClientResolveA class to implement this method:

The server will avoid scheduling resolves that the client does not know how to support, and under that circumstance it will error gracefully if asked to perform an already-scheduled resolve.

Page 10: P4 Integrate, Take Three

Q&A