[Rt-commit] rt branch, 4.4/dump-and-merge-initialdata, repushed

? sunnavy sunnavy at bestpractical.com
Mon Aug 6 17:01:38 EDT 2018


The branch 4.4/dump-and-merge-initialdata was deleted and repushed:
       was e63b7e43856a1cdf58ce7819ed42c59dddf46539
       now a8278a5a99e43b743fedf5dd074cf6057099894e

  1: 819a7b31e =   1: 819a7b31e Fix typo to make @Assets really work
  2: 88e298039 =   2: 88e298039 Add support for asset and catalog attributes for initialdata
  3: 8e0dd77be =   3: 8e0dd77be Add support for OCFVs in initialdata
  4: 6dbe32935 =   4: 6dbe32935 Insert @Members later, after queues, assets, custom roles etc have been created
  5: b913d8ec6 =   5: b913d8ec6 Support all the role group domains for @ACL
  6: cd9a04b07 =   6: cd9a04b07 initialdata support for @Articles
  7: 6a5e96997 =   7: 6a5e96997 Defer setting BasedOn for CFs later in the @CustomFields list
  8: 1de0a488e =   8: 1de0a488e Handle ObjectScrip Stage in initialdata
  9: ee902438a =   9: ee902438a Handle passing a hash with Stage as first param to Queue
 10: c21aab9bd =  10: c21aab9bd Fixing up ObjectScrip sort order
 11: 33edad4e6 =  11: 33edad4e6 Support GroupDomain for item in @Members
 12: b9eab0387 =  12: b9eab0387 NoAutoGlobal option for @Scrips
 13: 984db7969 =  13: 984db7969 Support import of queue watcher groups
 14: 05d21ca3a =  14: 05d21ca3a Handle explicit ApplyTo => 0 to make a CF which is global
 15: c92316ec9 =  15: c92316ec9 Handle RightName in initialdata
 16: c84eb72e7 =  16: c84eb72e7 Handle global Class records more consistently in initialdata
 17: a713a7b5a =  17: a713a7b5a Correctly load ACLs granted on user-defined groups
 18: db9ee856c =  18: db9ee856c Avoid creating duplicate SystemInternal and RT::Role-System groups
 19: 41d321072 =  19: 41d321072 Allow passing SortOrder to CustomField->Create
 20: 0ae4036e4 =  20: 0ae4036e4 Avoid undef warnings when checking a new queue for name uniqueness
 21: 5896c8acc =  21: 5896c8acc When serializing an ACE, make sure its user is too
 22: 8308c70e1 =  22: 8308c70e1 Make sure queue-specific templates get serialized
 23: dbb9fd851 =  23: dbb9fd851 Skip tickets ASAP as an optimization
 24: 01e4fdd19 =  24: 01e4fdd19 Migrate Storable-related concerns from Serializer to File
 25: 522fcee95 =  25: 522fcee95 First pass at initialdata.json serializer export format
 26: 66df5d7d8 =  26: 66df5d7d8 Sort JSON keys so its output can be versioned
 27: d6a0f6f8a =  27: d6a0f6f8a Store records by id
 28: 6f7163d21 =  28: 6f7163d21 For now, rather than deleting references, dereference them
 29: 5a009e56e =  29: 5a009e56e Use initialdata's type names rather than RT class names
 30: 56f3d4b97 =  30: 56f3d4b97 Defer canonicalizing away "RT::" from class names
 31: 68a8ac9ca =  31: 68a8ac9ca Canonicalize references by name
 32: 66db10a45 =  32: 66db10a45 Canonicalize OCFs as CF.ApplyTo
 33: f89c2196a =  33: f89c2196a Canonicalize ObjectClass into Class.ApplyTo
 34: ab6de43c9 =  34: ab6de43c9 Factor out _GetRecordByRef
 35: 6024bcc9b =  35: 6024bcc9b Canonicalize ObjectScrips as Scrips.Queue
 36: fe0e99f43 =  36: fe0e99f43 Handle ObjectScrip Stage in serializer importer
 37: e350e59b7 =  37: e350e59b7 Canonicalize ObjectCustomRole as CustomRole.ApplyTo
 38: 8f17953f0 =  38: 8f17953f0 Avoid serializing attributes (for now)
 39: d33b6ad9e =  39: d33b6ad9e Only serialize user-defined groups for initialdata
 40: 7cb1f3459 =  40: 7cb1f3459 Have _GetRecordByRef dereference if needed
 41: c40f76ca1 =  41: c40f76ca1 Try harder to load references
 42: 45243d74a =  42: 45243d74a Canonicalize ACLs the way initialdata needs them
 43: 3db856210 =  43: 3db856210 Disambiguate _GetSerializedByRef from _GetObjectByRef
 44: 30f78bcbf =  44: 30f78bcbf Handle systemuser
 45: 6ebadd606 =  45: 6ebadd606 Creator and LastUpdatedBy are always user ids
 46: 2b8d4b9cc =  46: 2b8d4b9cc Avoid uniqueness violations (for now) by skipping id from initialdata output
 47: 67663b950 =  47: 67663b950 CanonicalizeUsers
 48: 6f166613e =  48: 6f166613e Fix serialized OCFs for queues
 49: 6bb58b4f9 =  49: 6bb58b4f9 Roundtrip CFVs
 50: ab3d46496 =  50: ab3d46496 Roundtrip group members
 51: 7e21d67a7 =  51: 7e21d67a7 Fixing up ObjectScrip sort order
 52: 98b5f0bc1 =  52: 98b5f0bc1 Round-trip unapplied scrips using a NoAutoGlobal key
 53: ce4bb242f =  53: ce4bb242f Export OCFVs as CustomFields key on object for initialdata
 54: a7dbcdf24 =  54: a7dbcdf24 No need to rewrite LargeContent as Content
 55: 2081fc158 =  55: 2081fc158 Remove create/update metadata on initialdata export
 56: a0bbc30b3 =  56: a0bbc30b3 Remove spurious Principal and PrincipalId fields on Groups
 57: 64113d416 =  57: 64113d416 Remove spurious NoAutoGlobal
 58: 80f8a8b00 =  58: 80f8a8b00 ACLs without object type are for RT::System
 59: 727320200 =  59: 727320200 ACL PrincipalType is implicit
 60: cb83c6b79 =  60: cb83c6b79 Instance doesn't make sense for UserDefined or SystemInternal groups
 61: 2e1a00b3c =  61: 2e1a00b3c Avoid serializing some empty keys for CFs
 62: 9c9d6e06b =  62: 9c9d6e06b Avoid serializing Disabled:0 for all objects
 63: 2b0a32ebd =  63: 2b0a32ebd Avoid exporting crucial system objects like RT_System user
 64: 779787d31 =  64: 779787d31 Improve export of group membership
 65: c54abcd5c =  65: c54abcd5c Refactor ShouldExcludeObject for clarity
 66: 751e44ab9 =  66: 751e44ab9 Serialize role members but not role groups
 67: 0798a710c =  67: 0798a710c Support export of queue watcher groups
 68: 3b1efa0e0 =  68: 3b1efa0e0 Handle group, role, and user ACLs
 69: 18efb3178 =  69: 18efb3178 Round-trip articles
 70: e4b810ecc =  70: e4b810ecc Avoid throwing errors on disabled many-to-many relationships
 71: e4672182d =  71: e4672182d Avoid undef warnings on CFs without a pattern
 72: 4ca88f8d4 =  72: 4ca88f8d4 Skip serializing OCFVs on live objects for disabled CFs
 73: b1dff1024 =  73: b1dff1024 For stability, sort records consistently
 74: 9b8a088c1 =  74: 9b8a088c1 Clear user passwords and authtokens
 75: 60590ae9c =  75: 60590ae9c Remove more empty fields
 76: 1f624c94f =  76: 1f624c94f Handle disabled OCFVs by skipping them
 77: d9f8bf98f =  77: d9f8bf98f Remove empty user keys
 78: 759ad60da =  78: 759ad60da Avoid undef warnings with sorting by sortorder
 79: f6ad69b91 =  79: f6ad69b91 Sort ObjectScrips by queue name for stability
 80: 7048bee5b =  80: 7048bee5b Don't serialized disabled OCFVs
 81: cd50567a3 =  81: cd50567a3 Factor out repeated deep hash lookups
 82: 99b8357c4 =  82: 99b8357c4 No need to include nobody member for single-member groups
 83: a6910b6d0 =  83: a6910b6d0 Add Sync option for JSON serializer
 84: 4acf32f76 =  84: 4acf32f76 Delete empty Values => [] from custom fields
 85: db38a18d7 =  85: db38a18d7 Default FollowTickets and FollowTransactions to 0 for initialdata
 86: f2abed891 =  86: f2abed891 Default to exporting scrips and ACLs
 87: 8fbdadfb1 !  87: 66ac10038 Initial rt-merge-initialdata
    @@ -132,10 +132,6 @@
     +my $base_records = slurp_json($base_file);
     +my $edited_records = slurp_json($edited_file);
     +
    -+my $export_options = delete $edited_records->{ExportOptions}
    -+    or die "Required metadata ExportOptions not present in $edited_file. Did you pass --sync to rt-serializer?";
    -+delete $base_records->{ExportOptions};
    -+
     +my @record_types = qw/Groups Users Members ACL Queues Classes
     +                      ScripActions ScripConditions Templates
     +                      CustomFields CustomRoles Scrips
 88: 0348a357c =  88: 0a44c348b Implement record disabling/deleting
 89: 04e90301f =  89: 9fcba3c41 Handle simple scalar column updates
 90: c642683f4 =  90: 36ec8cdc0 Factor out an is_deeply_equal and use it for updates instead of eq
 91: 0d6b6c7db =  91: bab189ded Avoid blowing up on comparing scalars
 92: cbe2e787c =  92: 6b7613f9a Avoid spurious warnings when base!=edited but edited=current
 93: 5d76602f5 =  93: 7950b23ce Reuse InsertData
 94: 6f1a539d4 =  94: 91b512fef Prompt user for conflict resolution
 95: 01de26388 =  95: 5dd982301 Add CLI opt parser and docs for rt-merge-initialdata
 96: d2fade7ae =  96: 94a3a5e58 Add --merge-strategy flag
 97: e748fd600 =  97: 6e682e8f6 Add --quiet and --log options
 98: fdc8bb32e =  98: 56d4d5f62 Add --dryrun flag
 99: a3016f3d7 =  99: 34521cf68 Avoid spurious 0 0 0 changes log entries
100: 0e930b614 = 100: 0729b6210 Factor out updating records (or not due to dryrun) and reporting results
101: 8c9141541 = 101: 852ea7127 Merge changes to CustomField.ApplyTo
102: 97ea64437 = 102: 6541f6d9c Refactor CustomField ApplyTo merger to reuse for Class ApplyTo
103: e699b0ba3 = 103: ac58b3849 uniq ApplyTo objects, just in case
104: 33c3a4a35 = 104: f0f656246 Add FollowDisabled option to serializer
105: 232b6dbad = 105: f386047af Avoid serializing ACLs and GroupMembers if either parent is disabled
106: 91891f4b4 = 106: 22e9889dc Avoid error on broken ACLEquivalence principals
107: 7ae4502e1 = 107: a2189acf5 Sort OCFV values to keep the original id order
108: f5e17ed63 = 108: aaf1da085 Add a --no-disabled flag to serializer
109: 87d401904 = 109: df2379707 Add --no-transactions flag to rt-serializer
110: 819e1d369 = 110: 4fc15af6c Initial rt-dump-initialdata
111: 457255769 = 111: 7bee0b2db Make label column a bit wider considering we have ObjectCustomFieldValues now
112: eefd72603 = 112: 0373f3b87 Fix plural of words like "Class" in the progress bar of migration
113: 1540433d4 = 113: 27f716b18 Fix plural of "ACE" in the progress bar of migration
114: 2f0127eb5 = 114: ba9c05521 Fix UTF-8 decoding issue in rt-merge-initialdata
115: 974e1e24f = 115: ff25bb8c4 First initialdata roundtrip tests
116: e63b7e438 = 116: a8278a5a9 Skip tests if required RT::Extension::Initialdata::JSON is not available



More information about the rt-commit mailing list