Friday, March 16, 2012

Perforce sync is slow - Checklist for debugging

Is your Perforce performance is slow while doing sync or some other operations ?


1) Check you client spec’s view (if the repository is large) and if your client has a view of the entire repository, performance will be impacted (or you may have exceeded a maxRowCount error)
2) Modify your client spec (or create a new one) with a very narrow view (for testing, maybe down a single folder)
3) Do you have a firewall setup and preventing this kind of activity?
4) Can you try sync from another machine?
5)Try and play with "p4 ping" by progressively increasing the  message count, receive and transmit lengths (one at a time). If you hit the same wall repeatedly, then this could very well be indicative of some   throttling taking place somewhere
6) p4 -z tag info
7)  p4 -vN sync //depot/path/to/file      where N = 1,2,..9
8)  Network problems  http://kb.perforce.com/article/40/isolating-network-problems

 

Friday, March 9, 2012

Difference between centralized version control (CVCS) and distributed version control systems (DVCS)


1) Repository
    CVCS: Have a single server that contains all the versioned files and metadata 
    DVCS: Each users working copy of the codebase is a bona-fide repository.

2) Checkout
   CVCS: A number of clients check out files from central repository 
   DVCS: Clients don’t just check out the latest snapshot of the files: they fully mirror the repository

3) Tracking latest revision
   CVCS: Everyone knows to a certain degree what everyone else on the project is doing. The trunk usually has the latest revision.
   DVCS: It is not plainly obvious.

Comparison of several SCM tools

Here is a link which compares many SCM tools inlcuding Distributed and Central version control tools.
It compares for few use cases, anyways take a look at http://better-scm.shlomifish.org/comparison/comparison.html