Change | User | Description | Committed |
---|---|---|---|
23700 | Sven Erik Knop | Completed test cases for Stream Transfer, including rename. Good to go, no further chan...ges required from my point of view. « |
7 years ago |
23699 | Sven Erik Knop | Always create test cases. Found a couple of nasty bugs already. Direct and indirect tra...nsfers are tested and seem to work fine. I am going to add a few more tests, specifically but not exclusive to renames. « |
7 years ago |
23692 | Sven Erik Knop | Simple trigger that logs sizes of submitted changelists. Invoke with python3 SizeLo...gger.py <config> <change> where config is the filename of a config file containing the following two sections: -------------- [P4] port=1666 user=tom password=A154ABF11F094B5D288CA0BE9F6F1086 [Log] logfile=mylogfile.log -------------- The P4 connection will use the standard defaults for any parameters not defined (such P4PORT, P4USER) The default log file is called 'sizes.log' Since this trigger is based on the standard P4Triggers.py, it will also create a separate log file (p4triggers.log) for any errors that occur from a connection failure or other exception thrown. Install this trigger like this in the triggers table: SizeLogger change-commit //depot/path/... "python3 SizeLogger.py configfile.name %change%" You need to have P4Triggers.py in the same path as the SizeLogger.py file. --------- This trigger uses 'p4 describe' to collect all files in the change, filters out any files that do not have 'add' or 'edit' action, and then sums up the remaining file sizes - so branches and renames are ignored. The output in the log file is in JSON format for easy parsing. --------- I also updated P4Triggers.py to add size and digest to the internal stored change « |
7 years ago |
23630 | Sven Erik Knop | Beginning of a GUI tool to check and set configurables. | 7 years ago |
23623 | Sven Erik Knop | Updated to enable renaming of target streams | 7 years ago |
23587 | Sven Erik Knop | Renamed to Transfer | 7 years ago |
23586 | Sven Erik Knop | Little tool to transfer stream hierarchies | 7 years ago |
23208 | Sven Erik Knop | Use decorator to surround tests for simplication. | 7 years ago |
23188 | Sven Erik Knop | Add another two test cases that are expected to fail for now. Need to rethink how these... issues can be addressed, might need an additional check. « |
7 years ago |
23177 | Sven Erik Knop | Removed all old P4Python executables. pip install p4python has superceeded the old way... of installing P4Python on Windows. We also publish the executables on the ftp site now, so there is no need to keep these releases around anymore. « |
7 years ago |
23176 | Sven Erik Knop | New test case checking the exception itself. | 7 years ago |
23175 | Sven Erik Knop | Additional test case checking multiple directories in the same change. | 7 years ago |
23174 | Sven Erik Knop | New test case verifying that a conflict in the same change is caught. | 7 years ago |
23173 | Sven Erik Knop | Fixed one problem - move/add now recognised | 7 years ago |
23172 | Sven Erik Knop | Added two test cases expected to fail for now: Renaming a file to a filename conflictin...g with an existing file. Creating a directory that conflicts with an existing file with different spelling. « |
7 years ago |
23171 | Sven Erik Knop | Added simple directory fail test | 7 years ago |
23169 | Sven Erik Knop | Added test for foo != FOO/bar | 7 years ago |
23168 | Sven Erik Knop | Simple test to proof that the basic premise of the CheckCaseTrigger works. | 7 years ago |
23167 | Sven Erik Knop | Fix bug where a keyword argument contained '=' itself. The trigger accepts keyword argu...ments in the form key=value, for example port=server:1666 In the test case, I am passing in port as "rsh:p4d -r /path/to/root -vserver=3 -i", which gets split into three and not two strings. Fortunately, Python's string.split() has an optional argument limiting the number of splits. « |
7 years ago |
23154 | Sven Erik Knop |
Adding further test cases. Testing can only be done on Linux (case sensitive file system) |
7 years ago |
23145 | Sven Erik Knop | example for client default trigger | 7 years ago |
23144 | Sven Erik Knop | Beginning of TestCase for CheckCaseTrigger | 7 years ago |
22579 | Sven Erik Knop | Updated copyright notice | 8 years ago |
22578 | Sven Erik Knop | Little example tool to identify which changes have been completely integrated via copy. &...nbsp; The tool will collect the respective change descriptions and append them to the existing change description. Note that this script only prints out the resulting change description. A trigger might run 'p4 change -f' to update the integration description. « |
8 years ago |
21316 | Sven Erik Knop | Enhanced error output to print the actual exception. Should make debugging a bit easier.... « |
8 years ago |
21258 | Sven Erik Knop |
Fixed crashing on changes that have no add or branches. Improved reporting. |
8 years ago |
21202 | Sven Erik Knop | Completed the trigger for now, subject to unit tests This trigger is supposed to preven...t a submit of a new file (or a branch) that would create a conflict between a filename and a directory name. In Perforce, it is currently possible to submit a filename that exists already as a directory name, because the server does not recognise directory names as independent entities. When this happens, clients cannot sync files anymore from the path: files and directories cannot live in the same file system with the same name. This trigger will analyse a submit (as a change-submit trigger *only*): - extract all "add" and "branch" operations - extract all unique directories out of the above list - extract all file names out the above list - check that there is no file already submitted that matches the directories - check that there is no directory already submitted that matches the files This trigger will run 3 Perforce queries: extract the change, list matching files and list matching directories. This trigger should run as a user who has list permissions for all possible files under the path specified in the trigger table. The user needs to have a permanent ticket available on the server for the trigger to run. Output is a list of all violating files: Your submission has been rejected because the following files or directories already exist as a directory or file. Your file: //depot/file1 « |
8 years ago |
21201 | Sven Erik Knop | Now with case-sensitive protection | 8 years ago |
21200 | Sven Erik Knop | Beginning of FileDirectoryProtector. This trigger is supposed to protect from the situa...tion where a user submits a file that has the same name as a directory. The Perforce server cannot detect this, causing all kinds of problems along the line. Step one: break a submit down into its directories and files. « |
8 years ago |
19873 | Pascal Soccard | Replaced iteritems() method by compatible Python 3 items() method | 9 years ago |
19872 | Pascal Soccard | Fixed missing tabulations for previous fix | 9 years ago |
19871 | kwirth | 'user' is a reserved argument name in P4Python. Need to use 'mysuser' &nb...sp; instead when testing if the current user is 'git-fusion-user'. As 'mysuser' is not a valid P4Python argument need to remove it after test and before other arguments are parsed. « |
9 years ago |
19621 | Sven Erik Knop | Little Tuturial for SDK tutorials | 9 years ago |
18662 | Sven Erik Knop | P4Python 2015.2 for Python 3.5 32 and 64bit Windows installer | 9 years ago |
17347 | Sven Erik Knop | P4Python 2015.2 Patch 1 binaries | 9 years ago |
17262 | Sven Erik Knop | Added binary installers for P4Python 2015.2, by popular demand | 9 years ago |
15864 | Karl Wirth |
- Incorrect version shelved in update. This version includes Typo fix. |
9 years ago |
15860 | Karl Wirth | Adding an example of how the 'git-fusion-user' can be excluded from the trigger. @sve...n_erik_knop « |
9 years ago |
15832 | Sven Erik Knop | Updated with comment about Python 2 | 9 years ago |
15831 | Sven Erik Knop | Little tool to create test files | 9 years ago |
15653 | Sven Erik Knop | Simple tool to populate a config file. Usage: CreateP4Conf...ig [var=value]* Example: CreateP4Config P4PORT=1666 P4USER=sknop P4CLIENT=my-client In addition, two special keywords are supported P4CONFIG (default .p4) P4ROOT (default .) « |
10 years ago |
15141 | Sven Erik Knop | P4Python for Python 2.6 32 bit incl SSL | 10 years ago |
12221 | kwirth | Adding usage example text. Example Usage: CheckCaseTrigger change-submit //... "...python CheckCaseTrigger.py %changelist%" Sample output: Submit validation failed -- fix problems then use 'p4 submit -c 1234'. 'CheckCaseTrigger' validation failed: Your submission has been rejected because the following files are inconsistent in their use of case with respect to existing directories Your file: '//depot/dir/test' existing file/dir: '//depot/DIR' « |
10 years ago |
11086 | Sven Erik Knop | Builds for P4Python 2014.2 32bit and 64bit | 10 years ago |
8768 | Sven Erik Knop | 32bit version of P4Python 2014.1, Python 3.4 | 11 years ago |
8767 | Sven Erik Knop | Installer for P4Python 2014.1 for Python 3.4 64bit. | 11 years ago |
8554 | Sven Erik Knop | Added debug output for failed filelog retrieval. | 11 years ago |
8463 | Sven Erik Knop | Fixed further problem with files that have an illegal file name containing @,#,* or %. No...w it is possible to re-edit the file again as well. Added test case to prove the point. « |
11 years ago |
8461 | Sven Erik Knop |
Fixed adding files with illegal chars like '@'. Also added test case. |
11 years ago |
8452 | Sven Erik Knop | CountUsers, a simple script that allows me to count all unique users on a range of server...s. Useful if you have an enterprise wide license and want to ensure compliance. Needs a config file with the servers, the user to log on with and a password. Format: # P4PORT, P4USER, P4PASSWD localhost:1666, countUsers, userpass ssl:localhost:20101, countUsers, userpass localhost:1667, countUsers, userpass Usage help: usage: CountUsers.py [-h] [-c CONFIG] [-v] CountUsers optional arguments: -h, --help show this help message and exit -c CONFIG, --config CONFIG Default is countUsers.cfg -v, --verbose Provide output on stdout Copyright (C) 2013 Sven Erik Knop, Perforce Software Ltd With the -v option enabled, prints out the (sorted) list of unique users as well as the total count. « |
11 years ago |