If you’re using Perforce for version control, and you’re using their command line tool, p4, you probably know that p4 is not a great tool. Perforce itself is a decent version control manager, it’s certainly not the worst (*cough* CVS), but the p4 tool is just not that great 😞
- p4’s output is hard to read and inconsistent
- p4’s various commands use inconsistent options and arguments
- And p4’s return codes differ from the return codes of their own APIs!
There is nothing sensible I can do about the last two problems, but the bad output. That was something I could fix.
Better P4 Output
I wrote a program called BP4O (Better P4 Output) to improve p4’s output and readability.
Without BP4O, you get a deluge of text scattered across the screen. Finding the files, their changes, and the changelists they share is difficult and nearly impossible at a glance, and keeping that information straight between changes and commands is even more difficult.
With BP4O, we turn that same output into a readable block, reasonably separated by sections, columns, and colors. Relevant information, like what files are in a changelist, and how files have been modified, is easily visible.
BP4O will also color your diffs, page long output, and provide aliased commands!
Overall, BP4O makes using p4 better without changing how you use p4.
BP4O works with Bash, Zsh*, and Fish shell, and is available for
brew tap zachwhaley/beer brew install bp4o
sudo add-apt-repository ppa:zachwhaley/ppa sudo apt update sudo apt install bp4o
sudo dnf copr enable zachwhaley/bp4o sudo dnf install bp4o
BP4O’s code is open source on GitHub
Contributions are welcome!