Skip to main content

Standalone GUI to check out a file to a pending changelist in Perforce

Project description

p4checkout

p4checkout acts as a standalone GUI utility offering Perforce users the ability to check out a file to a specific pending changelist. While this ability is available out of the box by directly using the official Perforce visual client (p4v), it's convenient to integrate it into the user's IDE. Most popular IDEs have an official Perforce plugin, but those that don't can use p4checkout to easily check out files before editing them.

Screenshots

For reference, the official pop-up box from p4v:

Usage

$ p4checkout -h
usage: p4checkout [-h] [--version] [-v] [-p PORT] [-c CLIENT] [-s HOST] [-u USER] path

positional arguments:
  path                  Path to file to check out

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         Verbosity (-v, -vv, etc.)
  -p PORT, --port PORT  P4 port (e.g. 'ssl:localhost:1666')
  -c CLIENT, --client CLIENT
                        P4 client
  -s HOST, --host HOST  P4 host
  -u USER, --user USER  P4 user

Note: Perforce can usually correctly infer some input parameters such as the host or user. It's only required to provide them if for some reason Perforce won't pick them up correctly.

IDE Integration

Most popular IDEs have a fully-featured Perforce plugin which includes this functionality and more.
However, if you're using an IDE / editor which doesn't have a Perforce plugin, it might be possible to integrate this basic check-out functionality using a custom "run" feature, if your IDE offers it. Here are a few examples:

Prerequisites

  • Python 3.9+ with Tkinter (sudo apt-get install python3-tk)
  • The p4python package (pip install p4python)
  • A working Perforce setup

Background

I originally developed this utility around 2013. The original version was written in C# and was used for integration with Source Insight. The code in this repository is a recent Python port (2023) inspired by the original C# code. However, as I (unfortunately) don't work on any Perforce-based projects anymore, it was only tested on a non-production basic home-setup created for this purpose only.

(One last thing, since it has to be said: p4v probably has the best UX/UI that I've ever encountered).

Limitations

  • p4checkout doesn't handle logging in to Perforce. Use p4v or p4 login to renew your session if it has expired.

License

p4checkout is released under MIT license.

p4checkout is an independent software tool. It is not an official product of Perforce Software, Inc., and is in no way affiliated with or endorsed by Perforce Software, Inc. Perforce® is a registered trademark of Perforce Software, Inc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

p4checkout-0.1.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

p4checkout-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file p4checkout-0.1.0.tar.gz.

File metadata

  • Download URL: p4checkout-0.1.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for p4checkout-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ab71a7a158e3fd3d2734ebaf887e558dd8830fecec522aade059dbe09aa2299d
MD5 ffc27fb077d2bac0d45a8ba8a41ea810
BLAKE2b-256 716186c3fd850b931cf26716719b50c9a701968d33f52ca819a0cd28f54f58ce

See more details on using hashes here.

File details

Details for the file p4checkout-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: p4checkout-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for p4checkout-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aca99c0609e3438132f207139175457609705ca79560eebcc3c6735571d7a305
MD5 e85904398fe9dc0def2e9b187ae12dda
BLAKE2b-256 5e0109feb12b3e9dce96e1f57a211057637dd0f9a4ac698744ecc93b98bb7d61

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page