NiftyP4Win

NiftyP4Win

April 21, 2017 (330 words)

So a while back now (2014) perforce finally opensourced the old windows client p4win. I've been giving them shit^H^H^H^H[honest feedback](https://www.tilander.org/aurora2/p4win_for_the_win/index.html) for years about them [pulling a Netscape](https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/) with their p4v client. I've also been one of the voices who quietly been encouraging them to open source the p4win client since it was pretty much abandonded in favor of p4v development.

I had pretty much given up, but then it suddenly happened. Perforce open sourced p4win (source is here).

So naturally, the first thing I did was to import it into mercurial. And then fix all the stupid build stuff. And then finally fix some really insane stuff, like the fact that it was this easy to enable streams for p4win.

Finally I announced it to the world that there was a sane version of p4win that worked with streams:

NiftyP4Win -- the classic p4win with support for connecting to streams depots. https://bitbucket.org/jtilander/niftyp4win… #p4thewin (yes, in a hg repository)
— Jim Tilander March 15, 2015

Features

Here are some of the fixes and features that were added to niftyp4win as opposed to the stock p4win:

  • Fixed building of code from visual studio with dependencies
  • Support for stream depots
  • Fixed the default focus on the “submit spec” dialog for newer servers
  • Fixed the User spec dialog

In closing

It’s been a while since I coded on this project, I do use it regularly at work though since I can’t stand p4v and still have to use perforce every now and then. It might not even compile properly anymore, which is a shame that projects tend to decay on their own after a while as the rest of the world moves on.

Oh, I also initially had this hosted on bitbucket, but since moved to github to be more inline with the rest of the opensource world.

Resources