Question

What is the main difference between a changelist and submitting changes to individual files? I am used to SVN/GIT idea of submitting changes constantly and reverting if needed on individual files, however this new concept of Changelists is new to me. It looks like so far when I make edits to indiviual files P4 is creating a new change list every time I submit the changes but I also see it as a holder of multiple files that can be submitted (commited/pushed) at once but how do I keep the history of individual file changes?

Pointing me to documentation is acceptable.

Was it helpful?

Solution

A changelist collects a group of changes that belong together as a unit.

Perforce still retains the history of each individual file, but it also tracks a set of related changes into a larger unit, called a changelist.

A changelist is used to move you from one consistent state of your files, to the next consistent state.

If you are making related changes to multiple files, for example:

  1. You change the signature for some method in a .h header file
  2. You change the implementation of that method in the .cc file for that class
  3. You change all the callers of that method to call using the new arguments

Then it's very nice to be able to gather all of that work into a single changelist, so that the other people on your team receive all of those changes at once.

Most modern version control systems have this concept, nowadays, but 20 years ago Perforce was rather unusual for featuring it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top