开发者

Coming from svn background, what should I watch out for in Perforce?

开发者 https://www.devze.com 2023-01-22 05:30 出处:网络
What concepts etc in perforce are different from svn in ways that are likely to give me problems? (I am not interested in witch is best, as it not for m开发者_开发问答e to decide what system my new e

What concepts etc in perforce are different from svn in ways that are likely to give me problems?

(I am not interested in witch is best, as it not for m开发者_开发问答e to decide what system my new employer uses)


Few points which comes to my mind

  • svn maintains a copy in its .svn (hence a little slower) to do local operations like svn st, info, etc. but perforce would require a connecion to the server for every operation.
  • svn checkout is not the same in perforce. You might have to define a workspace and view to do a checkout.
  • You need to tell perforce that you are going to edit a file before editing it.
  • Do not edit any perforce file without network(connection to p4 server) your server might not recognize these changes when you try to commit it.
  • Perforce has better merge/branching capabilities.
  • You can have only one workspace in your perforce which is different from having multiple working copy in svn.


It's been a while since I used perforce, but one thing I remember is having to "check out" files before editing them. This may have been a config option at the company I worked at... but you have all the files in your workspace but they are read-only until you check them out.

Most IDEs have a plugin for P4 that probably does this for you when you start to edit the file... for Java, I know that the Eclipse and IntelliJ plugins did.

Perforce has a nice concept of change lists which really gives you the freedom to pick and choose what you want to check in right now.

Their command line and UI clients are awesome.

On a personal note, it was one of the more pleasant version control systems I have used.


A Perforce server can read and write arbitrary files on the client, and thus execute arbitrary code. The Perforce configuration is all server-side, so the server could simply treat the entire hard disc of the clients' computer as a repository, and do whatever it wanted to it.

Never run Perforce except in an SELinux sandbox.

Remember: The Perforce client is the server's puppet. You must use the operating system's security features to prevent it from doing something you don't want it to do. ALWAYS treat the Perforce client as hostile.

This is CVE-2007-0100. Note the score of 10.0 -- the worst possible -- for integrity, confidentiality, and availability.

0

精彩评论

暂无评论...
验证码 换一张
取 消