Change | User | Description | Committed |
---|---|---|---|
14754 | tjuricek | Fall back to hard-coded p4ruby version strings. While a little bit more work, our tools... don't really account for filenames with version numbers in them. Additionally, this avoids having lots of files hanging around just because we've tested p4ruby against updates to dependencies (the p4api). Releases should be *very* rare, and the general rule is just to update the version whenever you make a release to rubygems. « |
10 years ago |
14749 | tjuricek | Fix reference to ENV hash | 10 years ago |
14748 | tjuricek | The 'branch' specifier in Version files are illegal Ruby versions; use the CODELINE enviro...nment var instead. Remove the 'doc/' ignore from the .gitignore file « |
10 years ago |
14747 | tjuricek | Deriving the p4ruby version from version strings generated by engtools. For main/prep b...ranches, the version string is: [YEAR].[REL].0.[BRANCH][CHANGELIST]. This should allow people to depend on something like '~> 2015.1.0.main' or '~> 2015.1.0.prep' for any prereleases we make to Rubygems. For release branches, the version string is [YEAR].[REL].[CHANGELIST]. Then, you can just depend on '~> 2015.1' for production releases. I may not automate prereleases directly into Rubygems (there will be a lot of them because of the p4api dependency). « |
10 years ago |
14737 | tjuricek | Change the version string to match the 'codeline' for non-production builds. How Ruby g...ems are versioned are pretty different than our internal scheme. We should generally only update the version string after public releases, which should be rare. « |
10 years ago |
14721 | tjuricek | Updating to the 2015.1 branch of the workshop code, just to avoid the different spec map a...nd version string « | 10 years ago |
14719 | tjuricek | Mirroring the current state of the workshop. From this point, we will try to rebuild th...e history of p4-ruby in the workshop from this codeline. « |
10 years ago |
14718 | tony | Make P4Ruby aware that a charset of "none" means no charset at all. Previously, usin...g a P4Ruby >= 2014.2 against a server at least as new could result in getting 'Unicode clients require a unicode-enabled server' errors in appropriately. This was because we were treating 'none' as a character set and enabling unicode mode on the client with that as the charset to use for file content. With the advent of .p4enviro files, this problem has been cropping up frequently as that is the default value supplied when talking to a non-unicode server. With this change, we now detect 'none' and use it to disable translation as the user, and .p4enviro file no doubt intended. « |
10 years ago |
14717 | tjuricek | 2014.2.0.pre6 - Documenting override parameters to gem install for OS X default system rub...y users Please note: after investigating this issue, I would not recommend using the default system Ruby under OS X. P4RUBY-181 Imported from Git Author: Tristan Juricek <tjuricek@perforce.com> 1423602836 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1423602836 -0800 sha1: c88642047f6560c7287e26113f5e1ce87e05ffdb push-state: complete parent-changes: 90ef9f83b0f53ac88223636c0ad653ab5b00e528=[1002716] « |
10 years ago |
14716 | tjuricek | 2014.2.0.pre5 - Clearing the charset (calling ClientApi::SetTrans(0)) if the charset prope...rty is nil or none during construction. Changed README to use the correct incantation of --with-p4api-dir. Additionally, fixed an issue using that option in lieu of the ftp.perforce.com download. Also, removing any embedded distribution of the p4api. RubyGems sets a strict file size limit, which means we won't be able to distribute the C++ API embedded through their site. Imported from Git Author: Tristan Juricek <tjuricek@perforce.com> 1423518911 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1423518911 -0800 sha1: 90ef9f83b0f53ac88223636c0ad653ab5b00e528 push-state: complete parent-changes: d10c4cae76976e7ca616cf17e116c9a16994236a=[999733] « |
10 years ago |
14712 | tjuricek | Configure 2014.2.0.pre4 label and update README instructions. Imported from Git ...;Author: Tristan Juricek <tjuricek@perforce.com> 1423005443 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1423005443 -0800 sha1: 196d731e2c17fe8cebd15057052718dc53ac58d6 push-state: complete parent-changes: f7591d8f78483b9872504cc77e1e193b3fae7419=[998345] « |
10 years ago |
14711 | tjuricek | Clear the charset setting by setting it to nil in ruby-land if the charset is detected to... be 'none'. If the user happens to have set the value to 'none' in a config file, or it's otherwise specified, it appears the underlying charset detection mechanism in the C++ API treats it as an encoding. So, by setting it to 'nil' directly in the ruby code, we'll make the correct call to SetCharset(0) as the user probably intends. P4RUBY-179 Imported from Git Author: Tristan Juricek <tjuricek@perforce.com> 1423002926 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1423002926 -0800 sha1: f7591d8f78483b9872504cc77e1e193b3fae7419 push-state: incomplete parent-changes: 9ce17f3ec56131a622187697d628bbb46263a30e=[998344] « |
10 years ago |
14703 | tjuricek | Set up call to 'rake cross native gem' as the main build step now. This utilizes the 'c...ross compile' feature where we can build multiple versions of ruby under one gem package, though it's really going to be used for 'direct compilation'. The following variables need to be set to run the tools/build_p4ruby.sh now: * RUBY_USE_VERSION - Should be the rvm version with the gem for publishing to geminabox * RUBY_CC_VERSION - The colon (:) delimited string of ruby versions to build - each version should be installed via RVM and registered in ~/.rake_compiler/config.yml * P4RUBY_CROSS_PLATFORM - The platform ID we are building on, needs to be set, e.g., 'x86_64-linux', 'i686-linux', 'x86_64-darwin-11'. Note that OS X uses the darwin 'version'. P4RUBY-176 Imported from Git Author: Tristan Juricek <tjuricek@perforce.com> 1421184895 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1421184895 -0800 sha1: 1e9e81f882ba0584a7bc66a48637a6576aee7cb9 push-state: complete parent-changes: 50a9ca3b8ecb1e77ba823cbde20a7c89bd731d86=[984317] « |
10 years ago |
14692 | tjuricek | Update spec maps to 14.2 definitions. This is the start of work for 2014.2.0.pre3. P...4RUBY-168 Imported from Git Author: Tristan Juricek <tjuricek@perforce.com> 1418326946 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1418327031 -0800 sha1: e609513caf80a760161fc1e65c134a93915fbb7f push-state: incomplete parent-changes: 1e000b52aae146751cd81ec1416e598f37c39149=[973742] « |
10 years ago |
14690 | tjuricek | Set passive=true before logging in to fix gem install problems in Docker environments. ... P4RUBY-171 Imported from Git Author: Tristan Juricek <tjuricek@perforce.com> 1417551368 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1417551368 -0800 sha1: 07b676b152f0d146267480f3a9dff06603e0fe02 push-state: complete parent-changes: 46add71916859f2196e5af191be8ddd837dd5c4a=[964737] « |
10 years ago |
14683 | tjuricek | 2014.2.0.pre1 Reorganization to support ruby Gem builds. The gem may not be immediately... available since the rubygems.org credentials seem to be lost due to a hardware failure. In the meantime, this source should be testable against Linux and OS X. Precompiled builds will not be made available until Windows can be supported, which requires MinGW-w64 builds. (Note: this is a *fork* of MinGW, and not the same project, our MinGW builds are incompatible.) Once available it should be relatively straightfoward to use the rake-compile system to create crosscompiled builds for Windows, OS X, and Linux on the same build machine. Most tasks should be completed via rake in the future. There may be remnants of the old build system in here, no longer in use. Imported from Git Author: Tristan Juricek <tjuricek@perforce.com> 1415835954 -0800 Committer: Tristan Juricek <tjuricek@perforce.com> 1415836357 -0800 sha1: ad052c71a568ef12165e143a6866ad9ceffbb4a1 push-state: complete parent-branch: None@960958 parent-changes: 005052ae424bd69f426f7209e741ca1c8c3253c7=[960958] « |
10 years ago |
14682 | Git Fusion | Git Fusion branch management Imported from Git ghost-of-change-num: 960958 &nb...sp;ghost-of-sha1: 005052ae424bd69f426f7209e741ca1c8c3253c7 ghost-precedes-sha1: ad052c71a568ef12165e143a6866ad9ceffbb4a1 parent-branch: None@960958 push-state: incomplete « |
10 years ago |
14679 | tony | Fix p4ruby test run so it also includes the current directory in the library search path.... This helps us pick up the P4.so we're testing. Also fixed some minor gripes and backed out a previous change that obviously didn't work under 1.8 « |
10 years ago |
14676 | tony | Rework P4Ruby unit tests so they they are actually units. Now the test order is irreleva...nt as all tests are standalone. Tidied up the code formatting as well and removed all the tabs from the ruby sources files. Added a modeline for vim users so consistent indentation will be used. « |
10 years ago |
14652 | jmistry | YAC to P4#run_tickets Change in format to return an array of keyed hashes. For example...: { 'Ticket' => 'D6EBA4584B635E19EA579E33EB0195DA', 'User' => 'pallen', 'Host' => 'localhost:2003' } « |
13 years ago |
14650 | jmistry | Progress indicator for P4Ruby. There is a new class P4::Progress that is set up to be s...ubclassed by a user. It has the following interface and P4Ruby expects the following class methods to be defined by the user (even if it's an empty implementation): class Progress: def init(type) end def description(description, units ) end def total( total ) end def update( position ) end def done( fail ) end end Users need to create a subclass of P4::Progress and assign an instance to P4 to enable the progress indicator: class MyProgress < P4::Progress def update(pos): # do something with the value here # other methods p4 = P4.new p4.progress = MyProgress.new New feature to be documented in the release notes. « |
13 years ago |
14648 | jmistry | Follow-on to change 500964 Forgot to submit unit test updates. Also, instead of r...eturning nil for a directory or non-existent file, it seems more consistent to return an empty array. « |
13 years ago |
14647 | jmistry | rename to P4#run_tickets Also, instead of each line being an element in the array, the ar...ray contains a single Hash, with each ticket entry as a separate element in the hash. « |
13 years ago |
14645 | jmistry | Ensure iterator args are passed on Forgot to pass on any arguments that the user may ha...ve supplied to their call to 'each_<spec>'. Fixed this and also added a test for it. « |
13 years ago |
14644 | jmistry | Generic each_* methods Simple method to iterate over a particular type of spec This is a... convenient wrapper for the pattern: clients = p4.run_clients clients.each do |c| client = p4.fetch_client( c['client'] ) <do something with spec> end NOTE: It's not possible to implicitly pass a block to a delegate method, so I've implemented it here directly. Could use Proc.new.call, but it looks like there is a serious performance impact with that method. job056520 : spec iterator implementation « |
13 years ago |
14643 | jmistry | Implement P4#tickets for P4Ruby P4#tickets checks P4#ticket_file, if it's a directory o...r does not exist it just returns 'nil'. Otherwise it iterates over the file and inserts each line into an array of hashes. Each hash is a single ticket entry: key: ticket key (hostname:port=user) value: ticket value Update unit test to test new functionality. « |
13 years ago |
14605 | jmistry | Fix P4.run_submit( P4::Spec ) Ruby 1.9 changed Array.flatten, so that it called 'to_ary'.... This caused problems for P4Ruby (with Ruby 1.9) and would cause P4.run_submit, P4.run_shelve, etc to fail with: `method_missing': undefined method `to_ary' for object of class P4::Spec (RuntimeError) if it was passed a P4::Spec object as an argument. P4::Spec now checks (in 'method_missing') if it's trying to run 'to_ary', and it raises 'NoMethodError' if it is. « |
14 years ago |
14593 | Sven Erik Knop | P4Ruby implementation of OutputHandler. Also, debug is now treated as a normal attribute... and can be read. Test cases still missing. New functionality, to be documented in release notes. « |
14 years ago |
14585 | Sven Erik Knop | Added P4#run_shelve and P4#delete_shelve as special cases - similar to P4Python. P4#run_s...helve allows passing in of a hash, assumed to be a changelist (i.e shelvelist) spec, similar to P4#run_submit. P4#delete_shelve adds an extra "-c" to the arguments before the shelve list number if "-c" is not already in the argument list. User-visible changes to be documented in the release notes. « |
15 years ago |
14579 | tony | Make new class P4::Message for returning Error objects to the user. Currently handles err...ors and warnings, but could potentially be used for output too (might bloat people's code though). Essentially, if you're using a 2010.2 or later client, or if you've set your api_level to 68 or higher, the P4#errors and P4#warnings arrays will be populated with P4::Message objects instead of strings. Users of older API's, or those who set their api_level to 67 or lower in their scripts will get the old behaviour. P4::Message objects have the following methods: severity() - returns the severity generic() - returns the generic code to_s() - converts the message to a string inspect() - returns a string showing the message details. User-visible enhancement documented in p4rubynotes.txt « |
15 years ago |
14565 | tony | Add P4#inspect method so you get some information about the object when using irb. Use...r-visible change, not documented anywhere (unsupported). « |
15 years ago |
14541 | tony | Copyright notice housekeeping: update all notices to 2008, and correct start date from 19...97 to 2001 when P4Ruby was first released from the public depot. No functional change « |
16 years ago |
14529 | tony |
Pull 2007.3 p4-ruby changes back to main. Integration only change |
17 years ago |
14521 | tony | Update copyright notices in all applicable P4Ruby files. | 17 years ago |
14515 | tony | Make P4::Revision attributes numbers if they're entirely composed of numbers (saves the u...ser doing it). « |
17 years ago |
14514 | tony | Rename P4Ruby's P4DepotFile, P4Revision, and P4Integration classes to be P4::DepotFile, P...4::Revision and P4::Integration respectively. Also changed P4Ruby's P4::Revision class to store arbitrary attributes of revisions, which should help with server compatibility. Note that P4Perl's already did that, so this just ports those changes over. Also, changed the method name in P4Perl's class from P4::Revision::Set() to P4::Revision::SetAttribute() as that's a better name for it. P4Ruby's equivalent is called P4::Revision#set_attribute() User-visible change to be documented in Scripting Interfaces Guide « |
17 years ago |
14506 | tony | Fix old call to exception_level? that should have been changed to 'exception_level' a wh...ile back. Bug fix to previous unreleased change « |
17 years ago |
14493 | tony | Turn on tagged mode by default, and make parse_forms mode always on (it only works when t...agged mode is on too). Now users can turn tagged mode off if they want to by calling: p4.tagged = false and turn it back on by calling: p4.tagged = true You can test the current state of affairs using: p4.tagged? User-visible change to be documented in Scripting Interface Guide « |
17 years ago |
14492 | tony | Rename P4#input to P4#input=, and fix all pre-existing calls. The main existing callers... are p4.run_password, p4.run_submit and and p4.run_login. There was also a bug with p4.run_password() which meant that you couldn't change a user's password if they hadn't already set one. Fixed that while I was there and added a test case to check that password setting, use and clearing works. « |
17 years ago |
14490 | tony | Rename P4#submit_spec to P4#run_submit. So now run_submit can take a variety of argument...s, but if any of them are Hash or P4::Spec objects then they get converted into strings and a '-i' gets added to the submit args. « |
17 years ago |
14483 | tony | Method name rationalisation, part 1. All the methods with names ending with '?' that do... not return booleans now have the '?' dropped. This will be used to ensure consistency across the scripting interfaces. Added P4#prog() -> <string> to partner P4#prog=( <string> ) Removed some redundant aliases that we're dropping support for in future versions « |
17 years ago |
14480 | tony |
Add P4Ruby 1.5944 to main as start-point for the first productized release of P4Ruby |
18 years ago |