Question: Is there a way get the list of changelists after a particular changelist for a particular branch?

```
p4 changes (some flag ?) (CL#) //depot/project

```

Answer: 
This can be done with the following syntax (assuming you want to see all the changes submitted to this branch since changelist 12345 inclusive):

```
p4 changes //depot/project/...@12345,#head

```

---

To successfully use Perforce it is crucial to understand the intricacies of the [Perforce File Specifications](http://www.perforce.com/perforce/r12.1/manuals/cmdref/o.fspecs.html) or [filespecs](http://www.perforce.com/perforce/r12.1/manuals/cmdref/o.fspecs.html). Think of it as the query language of Perforce.

For example, if you want to do *something* with a branch between two points you would need a filespec similar to below:

* `//depot/branches/branch_name/...@12345,#head` specifies a range between changelist 12345 and head/latest.
* `//depot/branches/branch_name/...@12345,23456` specifies a range between changelist 12345 and 23456.
* `//depot/branches/branch_name/...@2012/08/01,@2012/08/21` specifies a range between two dates.
If you're into Perforce Integration, and you need to get the next CL to Integrate (the CL right after the last one you've integrated, say @12345), try this:

```
p4 changes "//depot/branches/branch_name/...@>12345" | tail -1 | cut -d ' ' -f 2

```