[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