# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#113 | 27669 | Robert Cowham |
Retired (deleted) this version of the script - and include a reference to its replacement: https://github.com/perforce/p4transfer |
||
#112 | 26685 | Robert Cowham | Run 'describe -s' instead of just 'describe' - better performance. | ||
#111 | 26350 | Robert Cowham | Handle move/delete where previous rev is obliterated | ||
#110 | 26349 | Robert Cowham | Handle move/add where source obliterated | ||
#109 | 26344 | Robert Cowham | New parameter --end-datetime added to allow unattended runs within a window of opportunity. | ||
#108 | 26276 | Robert Cowham | Fix problem with replicating basic undo | ||
#107 | 23271 | Robert Cowham |
Allow transfers to be done by non-superusers (only requiring write and review privilege). In non-super mode, changelist date/time and author fields are not updated. |
||
#106 | 22794 | Robert Cowham | Allow change_map to be in a subdir | ||
#105 | 22524 | Robert Cowham | Handle missing fields on describe for purged revisions | ||
#104 | 22515 | Robert Cowham | Removed preview option which was confusing as it wasn't well tested. | ||
#103 | 22466 | Robert Cowham | Improved preview option handling - with test. | ||
#102 | 22465 | Robert Cowham |
Added tests for r99.2 created depot (no filesize/digest stored) Fixed problem with preview failing comparison Add --p4d option to tests to use different p4d version |
||
#101 | 22280 | Robert Cowham | Use old style syntax for submit | ||
#100 | 22278 | Robert Cowham | Fix problem transferring into 2012.2 server - need to convert types to canonical type | ||
#99 | 19691 | Robert Cowham |
Fix problems with selective integrations (cherry picking). Has changed behaviour of a few tests. |
||
#98 | 18701 | Robert Cowham | Handle the case of an edit after an archived version. | ||
#97 | 16568 | Robert Cowham |
Require clobber option in both source/target to avoid sync errors. As a result need to improve change_map.csv handling. |
||
#96 | 16425 | Robert Cowham | Remove preflight option and add in test for maximum option. | ||
#95 | 16031 | Robert Cowham | Handle large files when creating md5 checksums of contents | ||
#94 | 15827 | Robert Cowham |
Avoid unnecessary resyncs of edited files due to incorrect digest calculation and comparison. Update failing test. |
||
#93 | 15585 | Robert Cowham | Additional fix to previous one for edge case of different file types (text vs binary). | ||
#92 | 15529 | Robert Cowham | Fix problem when integrating cherry pick with different filetype. | ||
#91 | 14139 | Robert Cowham | Fix strange problem with copy from & branch from to same revision. | ||
#90 | 13959 | Robert Cowham |
Changed utf16 sync problem handling to raise an exception recommending a retype and linking to KB: http://answers.perforce.com/articles/KB/3117 |
||
#89 | 13929 | Robert Cowham | Oops - rushed previous fix - all test pass now. | ||
#88 | 13921 | Robert Cowham |
Handle unsyncable utf16 files: - note the sync errors - add them to ignore list - if and edit fails and previous version was utf16 then convert to add |
||
#87 | 13892 | Robert Cowham |
Extra check to resync if edit fails. No test (repro) as yet - still investigating... |
||
#86 | 13858 | Robert Cowham | Log progress of sync calls, and in particular output warning messages. | ||
#85 | 13704 | Robert Cowham |
Improve explanation in --sample-config option Make --sample-config work when piping stdout to a file (for python2 at least!). |
||
#84 | 13576 | Robert Cowham | Fix for when filetypes are not integrated on purpose. | ||
#83 | 12944 | Robert Cowham | Handle symlinks on Unix when run with Python3 (unicode) | ||
#82 | 12941 | Robert Cowham |
Make sure filetype changes are propagated via integrate even when integ.engine=2. Fix a couple of tests failing on OS X. |
||
#81 | 12570 | Robert Cowham | Fix link handling problem. | ||
#80 | 12549 | Robert Cowham | Handle symlinks (on Unix at least) | ||
#79 | 12548 | Robert Cowham | Optimize slightly by checking whole file first before doing line by line search for RCS keywords. | ||
#78 | 12547 | Robert Cowham | Handle RCS keyword files which have been merged in a dodgy manner (what should be a dirty merge pretending to be a clean merge). | ||
#77 | 12532 | Robert Cowham | Handle edit failing when doing old style rename. | ||
#76 | 12524 | Robert Cowham | Handled integrating a delete ontop of a deleted. | ||
#75 | 12495 | Robert Cowham | Fix problem of missing move/add records where source was outside transfer workspace. | ||
#74 | 12489 | Robert Cowham | Handle the multiple overlapping integrates with strange resolve -ay | ||
#73 | 12472 | Robert Cowham | Steps along the way to testing a move from outside. | ||
#72 | 12409 | Robert Cowham | Handle utf16 with faulty BOM | ||
#71 | 12358 | Robert Cowham |
Put in a pointer to form_mail just in case useful. Possibly fix summarise shell. |
||
#70 | 11882 | Robert Cowham |
Test for new revision with 2 integrates into it, including basic copy. Reduce number of forced integrates if there are multiple. |
||
#69 | 11881 | Robert Cowham | Handled a multiple integrate including a copy after which the file was modified. | ||
#68 | 11863 | Robert Cowham |
Use 'unix' instead of 'share' in transfer client line-endings. To avoid issues with MD5 checksums and the like. |
||
#67 | 11839 | Robert Cowham |
Check for edited files changed. Remove unused parameter from read/write content calls (filetype). Fix problem with purged files being read-only. |
||
#66 | 11838 | Robert Cowham | Add better sr/target content error output | ||
#65 | 11728 | Robert Cowham |
Handle very old logic (pre-tamper protection) where an integrate with resolve -ay could occur and the content of the file be edited in the same change. The result is demoted from an integrate to and edit, but still has the integraiton record. |
||
#64 | 11721 | Robert Cowham | Fix problem with writing purged files where an intervening directory doesn't exist. | ||
#63 | 11547 | Robert Cowham | With workspace line endings as share, read/write with binary when looking at contents. | ||
#62 | 11518 | Robert Cowham |
Handle text filetypes properly with MD5 calcuations and line endings. Require source and client workspaces to have LineEnd='share' (with test). |
||
#61 | 11478 | Robert Cowham |
Add the ability to batch changes up (default 20,000) Includes tests and adjustments to loggin. |
||
#60 | 11445 | Robert Cowham | Handle delete integration requiring the force flag. | ||
#59 | 11433 | Robert Cowham | Minor speedup - combine p4 filelog calls. | ||
#58 | 11432 | Robert Cowham |
Minor refactoring. Fixed some pylint warnings. |
||
#57 | 11430 | Robert Cowham | Expanded testIntegDeleteProblem and fixed the resulting test failure. | ||
#56 | 11425 | Robert Cowham | Handle strange case of 3 seperate integrations into a single (new) revision. | ||
#55 | 11407 | Robert Cowham |
Fix problem where an integrate defaults to resolving an add as a delete and requires a second step to be resolved as an add (with integ.engine=3). |
||
#54 | 11374 | Robert Cowham | Fix change formatting - get newlines in there. | ||
#53 | 11343 | Robert Cowham |
Change parameter from --sample_config to --sample-config Don't convert things to lowercase - causes confusion with some values. |
||
#52 | 11342 | Robert Cowham |
Handle renames which were badly propagated via individual integs of the move/add and move/delete using the integ.engine=2 |
||
#51 | 11305 | Robert Cowham | Handle wildcard chars for purged files. | ||
#50 | 11304 | Robert Cowham | Fix files with perforce wildcars in their names when they are branched from outside. | ||
#49 | 11301 | Robert Cowham | Previous fix not quite correct in terms of order of if statements! | ||
#48 | 11300 | Robert Cowham |
Create specific exception classes. Handle a integrate -Rb with ignore which comes from "outside" the source workspace. |
||
#47 | 11295 | Robert Cowham |
Handle an integrate where the source has been obliterated (fixes an index error). The target action will be an edit. |
||
#46 | 11293 | Robert Cowham |
Handle integ -Rb which is ignored where the source is not in the source client Just ignore the revision in this case. |
||
#45 | 11275 | Robert Cowham |
Handle files with action 'archive' - they have been archived in an archive depot and are ignored by P4Transfer (with a warning in the log file). |
||
#44 | 11271 | Robert Cowham |
Handle files with action 'import' which means they came from remote depots. This action is changed to an 'add' in the target. |
||
#43 | 11267 | Robert Cowham | Properly do change from #39 which remove -f flag from add command. | ||
#42 | 11266 | Robert Cowham | Ensure that workspaces have a matching right hand side. | ||
#41 | 11265 | Robert Cowham |
Handle an integrate with ignore to a deleted first revision Tweak tests to work with Python2.7/3.3 as regards unittest.assertRegex |
||
#40 | 11259 | Robert Cowham |
Check for python versions 2.7 or 3.3+ Log python and OS versions. |
||
#39 | 11257 | Robert Cowham | Fix handling of purged files (+Sn). | ||
#38 | 11237 | Robert Cowham |
Added an (optional) change_map file which is appended to after submits. It shows: sourceP4Port,sourceChangeNo,targetChangeNo Makes for easy searching (offline or via p4 grep) as opposed to looking through change list descriptions. |
||
#37 | 11234 | Robert Cowham | Implement configurable change descriptions | ||
#36 | 11230 | Robert Cowham | Handle a delete on top of a delete. | ||
#35 | 11049 | Robert Cowham | Handled strange 'add from' single integration (which is a backout of an earlier change followed by a move) | ||
#34 | 10739 | Robert Cowham | Fix for integrating 2 versions into single target where the target is revision 1. | ||
#33 | 10697 | Robert Cowham | Remove clean command - doesn't perform well. | ||
#32 | 10509 | Robert Cowham | Deal with multiple integrates into the same target. | ||
#31 | 10505 | Robert Cowham | Ignore files where an integrate -f doesn't produce a result. | ||
#30 | 10503 | Robert Cowham | Add -Dt to integrate flags when necessary | ||
#29 | 10502 | Robert Cowham | Handle need to do forced integrates | ||
#28 | 10498 | Robert Cowham |
Handle -d/-Ds flag warning. Make sizes on source client specific - proper fix to previous change! Clean target workspace. |
||
#27 | 10496 | Robert Cowham |
Test for failed submit. When running sizes command, restrict to workspace view for performance (avoid spec depot!) |
||
#26 | 10484 | Robert Cowham |
Test for file content changed when adding a file. Minor refactor for the above. Added testOutsideInsideDirtyCopy |
||
#25 | 10483 | Robert Cowham | Minor logging tweaks. | ||
#24 | 10482 | Robert Cowham | Log sync command | ||
#23 | 10479 | Robert Cowham | Resync after move/add if necessary due to file content changes | ||
#22 | 10475 | Robert Cowham | Handle the rename of a deleted file - rather esoteric but possible! | ||
#21 | 10472 | Robert Cowham |
Sync specified rev not just head when syncing for move. Improve error reporting when validate error encountered. |
||
#20 | 10471 | Robert Cowham | Refactor - clarify naming around file content comparison | ||
#19 | 10470 | Robert Cowham | When resyncing src files, sync to specified revision. | ||
#18 | 10469 | Robert Cowham |
Check file size and digest after a clean merge Handled dodgy merges - cherry picked where they were edited afterwards |
||
#17 | 10467 | Robert Cowham |
Fix problem requiring integ -i (with integ.engine=2) Improved validation after submission. |
||
#16 | 10438 | Robert Cowham |
Fixed bug where effectively selective integrations were being done on the source. Started better comparison preparation for changelist validation. |
||
#15 | 10214 | Robert Cowham | Validate submitted change afterwards. | ||
#14 | 10181 | Robert Cowham | Log warnings for every p4cmd | ||
#13 | 10180 | Robert Cowham | Detect tamper check problem on resolve -am | ||
#12 | 10177 | Robert Cowham | Revert file before attempting resolve -ae (editFrom) | ||
#11 | 10162 | Robert Cowham | Sync target to avoid tamper check | ||
#10 | 10161 | Robert Cowham | Handle a 'resolve skipped' warning - likely sign of integration engine differences... | ||
#9 | 10147 | Robert Cowham | Fix problem with move/add where there are other integration records on the file that is being added. | ||
#8 | 10141 | Robert Cowham |
Enhanced logging - added specifid ids for different actions. Log a few extra items, including script version and client mappings. Fixed bug regarding the branching of a move file. |
||
#7 | 10134 | Robert Cowham | Fixed problem where the target of a move is outside the client view - converts move/delete to a delete | ||
#6 | 10110 | Robert Cowham |
Remove unused vars as per pyflakes warnings Add some extra debug logging of paths executed Remove unused code when processing 'add from' |
||
#5 | 10098 | Robert Cowham |
Fixed bug when a move (rename) by P4V was backed out via 'revert to revision' Removed python3 warning |
||
#4 | 9730 | Robert Cowham | Fixed problem where a changelist to both files inside and outside the workspace view in the same changelist are handled | ||
#3 | 9641 | Robert Cowham |
Latest changes by Robert. Added new options: --repeat for continuous operation --sample-config to produce sample config -Improved logging and notification options (via emails if configured) -Retries in case of error. |
||
#2 | 9473 | Sven Erik Knop |
Added the ability to remove +k from the target Currently tested for add, need to test for edit and integrate as well invoked by using option -k or --nokeywords |
||
#1 | 9170 | Sven Erik Knop |
Branched PerforceTransfer from private area to perforce_software This tool will now get back its original name P4Transfer. |
||
//guest/sven_erik_knop/P4Pythonlib/scripts/PerforceTransfer.py | |||||
#17 | 8554 | Sven Erik Knop | Added debug output for failed filelog retrieval. | ||
#16 | 8463 | Sven Erik Knop |
Fixed further problem with files that have an illegal file name containing @,#,* or %. Now it is possible to re-edit the file again as well. Added test case to prove the point. |
||
#15 | 8461 | Sven Erik Knop |
Fixed adding files with illegal chars like '@'. Also added test case. |
||
#14 | 8432 | Sven Erik Knop | Added pre-flight checks (-p) to avoid overwriting existing files. | ||
#13 | 8430 | Sven Erik Knop |
Added maximum option for changes to limit the number of changes transferred in each run. Should be useful for testing. Mind that "p4 changes" starts at the latest changes, so if there are millions of changes to transfer it will still take a long time to load all of the changes into memory first. |
||
#12 | 8429 | Sven Erik Knop | Added logging | ||
#11 | 8428 | Sven Erik Knop |
Transferred changes are now adjusted: - the transfer user is replaced with the original user - the submit date is reset to the original date Any +k files are re-verified to assure that they have the correct checksum. Still missing: - Logging |
||
#10 | 8425 | Sven Erik Knop |
Make PerforceTransfer unidirectional from source to target. Adjusted test cases accordingly. Still missing: Update change user and timestamp to the source user and timestamp Reverify ktext files affected by the change update. Add proper logging |
||
#9 | 8232 | Sven Erik Knop | Better safe than sorry: quotes around the path of the localMap entries. | ||
#8 | 8231 | Sven Erik Knop |
Removed all traces of p4.run_where and replaced them with local map.translate. Hopefully this will improve the performance of PerforceTransfer. |
||
#7 | 8216 | Sven Erik Knop |
Added test cases for integration from outside transfer scope. Fixed bug for integrated deletes from the outside. |
||
#6 | 8215 | Sven Erik Knop |
Upgraded test to include merge w/ edit Fixed a bug in PerforceTransfer.py avoiding a tamper check error. |
||
#5 | 8212 | Sven Erik Knop |
Added integrate-delete test case Solved integrate-delete problem in PerforceTransfer |
||
#4 | 8211 | Sven Erik Knop |
Additional test cases for integrate Fixed a bug with "ignore", can now be replicated. |
||
#3 | 8210 | Sven Erik Knop |
Fixed a bug in PerforceTransfer where an add followed by an integ to another branch would break the add. Also added the beginning of a test framework to catch those kind of problems in the future. Currently the test framework only checks add, edit, delete and simple integrates. |
||
#2 | 8209 | Sven Erik Knop |
Change formatting to tabs Made Python3 compatible Fixed a small bug in integrate |
||
#1 | 7986 | Sven Erik Knop | Changed P4Transfer to PerforceTransfer to conform with naming convention. | ||
//guest/sven_erik_knop/P4Pythonlib/scripts/P4Transfer.py | |||||
#10 | 7973 | Sven Erik Knop |
Enable re-adding of files for 2010.2+ servers. The problem was that the server now adds integration records for re-added files, which made P4Transfer believe this was a dirty branch instead of an add. Now we check if the "how" is "add from", indicating a re-add. |
||
#9 | 7971 | Sven Erik Knop |
Updated P4Transfer to deal with merge w/ edit integrations. All types of integrations should now be supported. Also updated the documentation. |
||
#8 | 7966 | Sven Erik Knop |
Changed master and local to server1 and server2. Also added first draft of a documentation that should serve pretty much as the blog post I intend to write on this tool. |
||
#7 | 7965 | Sven Erik Knop | Updated the shebang to avoid hardcoding the Python version. | ||
#6 | 7964 | Sven Erik Knop | Changed type to kxtext by popular demand. | ||
#5 | 7963 | Sven Erik Knop | Fixed the tamper problem. | ||
#4 | 7962 | Sven Erik Knop |
Updated P4Transfer with the ability to deal with +k types and merged files from integration. The result of the latter is an 'edit from' to avoid a tamper check problem. This is a hack for now until I can find a better way around it, but the repercussions should be low. |
||
#3 | 7961 | Sven Erik Knop |
Enable preview (-n) again. Not sure how it got lost. |
||
#2 | 7960 | Sven Erik Knop | Updated Copyright date and changed to ktext. | ||
#1 | 7959 | Sven Erik Knop |
P4Transfer release 1.0. Documentation to follow. |