{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":97988128,"defaultBranch":"main","name":"chef","ownerLogin":"dafyddcrosby","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2017-07-21T21:32:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/825637?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718055619.0","currentOid":""},"activityList":{"items":[{"before":"2e8f82fc083b1714289cf39a3203296ddc256c98","after":"5ac36b2a5baa0fc54a03d82061af19855cf598a9","ref":"refs/heads/fix_6238","pushedAt":"2024-06-11T20:41:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"Fix #6238 - handle link :delete action without `to`\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"Fix chef#6238 - handle link :delete action without to"}},{"before":null,"after":"b5789c30f9354a92c3172fca444c3c9623607391","ref":"refs/heads/create_path","pushedAt":"2024-06-10T21:40:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[CreatePath#create_path] Reduce number of File.directory? calls\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[CreatePath#create_path] Reduce number of File.directory? calls"}},{"before":"04449c8c7b901514e75e07e99b94fe2cc3832300","after":"6c53b3913ee8482d69cf9a9a995152b933d71093","ref":"refs/heads/DeepMergeNIL","pushedAt":"2024-06-07T19:25:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[DeepMergeCache] remove NIL conditions\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[DeepMergeCache] remove NIL conditions"}},{"before":"302f470df81ac10ec290c99f1ebaf7cccccd9cee","after":"04449c8c7b901514e75e07e99b94fe2cc3832300","ref":"refs/heads/DeepMergeNIL","pushedAt":"2024-06-07T19:15:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[DeepMergeCache] remove NIL conditions\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[DeepMergeCache] remove NIL conditions"}},{"before":"c06e139bdaec65d1602300d237c9897529a8d288","after":"2e8f82fc083b1714289cf39a3203296ddc256c98","ref":"refs/heads/fix_6238","pushedAt":"2024-06-07T19:13:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"Fix #6238 - handle link :delete action without `to`\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"Fix chef#6238 - handle link :delete action without to"}},{"before":"bb4a95cdb663ed488a04f63c342a4ddd621bdd8e","after":"ccc771c3c6209dfa349c9af50605fc776c37e2fa","ref":"refs/heads/Chefignore_parse_ignore_file","pushedAt":"2024-06-07T17:42:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[Chefignore#parse_ignore_file] Use strip! on lines\n\nReduces unnecessary object allocation on each string\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[Chefignore#parse_ignore_file] Use strip! on lines"}},{"before":"7f821bb5660f0a1f7e2019249a5c4063b94be85a","after":"e5a46f8821298b2ec61ca3b7839cd1a3cc082b4d","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-06-07T17:08:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nThe regular expression's capture is changed so that instead of capturing the\ntail of the file string (ie cache path excluded), we capture the cache path\ninstead so that we can use delete_prefix calls to mutate the strings directly,\nsaving on allocations\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}},{"before":"781bc715e5c8c4860b8d0403a57f93e62142844a","after":"a70d5148492a787badd6b1e31fc21c303fb9cad0","ref":"refs/heads/chefconfig_memoize_dirs","pushedAt":"2024-06-07T17:05:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[ChefConfig] Add memoization to var_root_dir and var_chef_dir methods\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[ChefConfig] Add memoization to var_root_dir and var_chef_dir methods"}},{"before":"b21958dd75b8f7bc2ac04d68217ec79e96eb3887","after":"3d192967d0f2a65ff0d693db02252b9bce5d7606","ref":"refs/heads/main","pushedAt":"2024-06-07T17:03:19.000Z","pushType":"push","commitsCount":42,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"Merge branch 'chef:main' into main","shortMessageHtmlLink":"Merge branch 'chef:main' into main"}},{"before":"f5aa2c32cc055b262647c3434932f874a5547a2e","after":"5cb74aeddd0ee599cfabf81bc2dd51bba5486ec3","ref":"refs/heads/knife_pattern_arg_from_start_with","pushedAt":"2024-05-24T03:58:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[Knife#pattern_arg_from] Use start_with?\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[Knife#pattern_arg_from] Use start_with?"}},{"before":"5701d39544c5f65f899833bfc2169b7c51112458","after":"7f821bb5660f0a1f7e2019249a5c4063b94be85a","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-21T23:31:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nThe regular expression's capture is changed so that instead of capturing the\ntail of the file string (ie cache path excluded), we capture the cache path\ninstead so that we can use delete_prefix calls to mutate the strings directly,\nsaving on allocations\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}},{"before":null,"after":"8e9410017e5676f7aea584c2754a897e528d6062","ref":"refs/heads/cookbook_synchronizer_ensure_cookbook_paths_loop","pushedAt":"2024-05-21T23:04:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[CookbookSynchronizer#ensure_cookbook_paths] Move file cache method out of loop\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[CookbookSynchronizer#ensure_cookbook_paths] Move file cache method o…"}},{"before":"16b0a983bcdb5e407e47b914182a87e9ecd658d3","after":"b4cd4631787b433e5b44d4880c02c11ef6b677ff","ref":"refs/heads/convert_value_frozen_objects","pushedAt":"2024-05-21T23:00:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[Immutablize#convert_value] return already frozen objects\n\nOne of the reasons DeepMergeCache flaps are so bad for performance is that we\ndup new objects that aren't Hashes/Arrays during the creation of the cache, but\nwe also freeze the new objects well. Freezing an Object makes further\nmodification of the object result in RuntimeError, which means they are already\nimmutable.\n\nGiven the expectation that the objects aren't able to be further modified,\ncreating duplicate objects (which are then frozen) appears to be needless,\nsince we can instead pass the frozen object during ImmutableMash/ImmutableArray\ncreation.\n\nReferences:\n- https://docs.ruby-lang.org/en/master/Object.html#method-i-freeze\n- https://docs.chef.io/release_notes_client/#13.0.113-freezing-immutable-merged-attributes\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[Immutablize#convert_value] return already frozen objects"}},{"before":"1648fcbbcbeba5f811067640dd880867f2cae126","after":"16b0a983bcdb5e407e47b914182a87e9ecd658d3","ref":"refs/heads/convert_value_frozen_objects","pushedAt":"2024-05-21T22:59:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[Immutablize#convert_value] return already frozen objects\n\nOne of the reasons DeepMergeCache flaps are so bad for performance is that we\ndup new objects that aren't Hashes/Arrays during the creation of the cache, but\nwe also freeze the new objects well. Freezing an Object makes further\nmodification of the object result in RuntimeError, which means they are already\nimmutable.\n\nGiven the expectation that the objects aren't able to be further modified,\ncreating duplicate objects (which are then frozen) appears to be needless,\nsince we can instead pass the frozen object during ImmutableMash/ImmutableArray\ncreation.\n\nReferences:\n- https://docs.ruby-lang.org/en/master/Object.html#method-i-freeze\n- https://docs.chef.io/release_notes_client/#13.0.113-freezing-immutable-merged-attributes\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[Immutablize#convert_value] return already frozen objects"}},{"before":"747c87b4f75def3eca2eff4bc81f1158a740cdaa","after":"1648fcbbcbeba5f811067640dd880867f2cae126","ref":"refs/heads/convert_value_frozen_objects","pushedAt":"2024-05-21T22:58:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[Immutablize#convert_value] return already frozen objects\n\nOne of the reasons DeepMergeCache flaps are so bad for performance is that we\ndup new objects that aren't Hashes/Arrays during the creation of the cache, but\nwe also freeze the new objects well. Freezing an Object makes further\nmodification of the object result in RuntimeError, which means they are already\nimmutable.\n\nGiven the expectation that the objects aren't able to be further modified,\ncreating duplicate objects (which are then frozen) appears to be needless,\nsince we can instead pass the frozen object during ImmutableMash/ImmutableArray\ncreation.\n\nReferences:\n- https://docs.ruby-lang.org/en/master/Object.html#method-i-freeze\n- https://docs.chef.io/release_notes_client/#13.0.113-freezing-immutable-merged-attributes\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[Immutablize#convert_value] return already frozen objects"}},{"before":"7e7828e5afe3ad354399dba03f3d45129a494d70","after":"52140516873e95b7974fa5dc235c139e84892292","ref":"refs/heads/state_tracking_inplace","pushedAt":"2024-05-21T18:19:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[StateTracking] Do in-place compact\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[StateTracking] Do in-place compact"}},{"before":null,"after":"7e7828e5afe3ad354399dba03f3d45129a494d70","ref":"refs/heads/state_tracking_inplace","pushedAt":"2024-05-21T17:22:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[StateTracking] Do in-place flatten and compact","shortMessageHtmlLink":"[StateTracking] Do in-place flatten and compact"}},{"before":null,"after":"e58e23c56ac8565395b36f3cb5c979310fe58832","ref":"refs/heads/cookbookmanifest_filesfor_allocation","pushedAt":"2024-05-21T15:42:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[CookbookManifest#files_for] Avoid unnecessary allocations\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[CookbookManifest#files_for] Avoid unnecessary allocations"}},{"before":null,"after":"20430392f367ff089699ae5f2df88d78300a3119","ref":"refs/heads/pathhelper_join_allocations","pushedAt":"2024-05-17T19:34:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[PathHelper#join] Reduce allocations\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[PathHelper#join] Reduce allocations"}},{"before":null,"after":"f5aa2c32cc055b262647c3434932f874a5547a2e","ref":"refs/heads/knife_pattern_arg_from_start_with","pushedAt":"2024-05-17T19:03:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[Knife#pattern_arg_from] Use start_with?\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[Knife#pattern_arg_from] Use start_with?"}},{"before":"f48c75deae65a6c3bd3790da77e1e79f0bad9a3f","after":"5701d39544c5f65f899833bfc2169b7c51112458","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-17T16:24:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}},{"before":"7297be6ac78a0d7ffb7bbc3a7113189641a4f8d6","after":"f48c75deae65a6c3bd3790da77e1e79f0bad9a3f","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-16T22:22:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}},{"before":"4abc625dfca8eefa2fe082f3fd5fb6df87928f9b","after":"7297be6ac78a0d7ffb7bbc3a7113189641a4f8d6","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-15T23:17:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}},{"before":"28a5ee4924e1675214dfe7e1772bd12c4456b144","after":"4abc625dfca8eefa2fe082f3fd5fb6df87928f9b","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-15T23:16:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] Add additional tests\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] Add additional tests"}},{"before":null,"after":"f6dae53e5ae40a18b497968a0eca6d53fed9b90f","ref":"refs/heads/tmp_may14review","pushedAt":"2024-05-14T20:59:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"pathhelper","shortMessageHtmlLink":"pathhelper"}},{"before":"a6e38755481ffde7a74351420923eef8f3d21515","after":"781bc715e5c8c4860b8d0403a57f93e62142844a","ref":"refs/heads/chefconfig_memoize_dirs","pushedAt":"2024-05-14T20:52:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[ChefConfig] Add memoization to var_root_dir and var_chef_dir methods\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[ChefConfig] Add memoization to var_root_dir and var_chef_dir methods"}},{"before":"9a2c30974a8260d2e9d7855d02630e0be633be24","after":"28a5ee4924e1675214dfe7e1772bd12c4456b144","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-14T20:20:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}},{"before":"af49c3104111636b5fdf49faffefa5ba98570845","after":"bb4a95cdb663ed488a04f63c342a4ddd621bdd8e","ref":"refs/heads/Chefignore_parse_ignore_file","pushedAt":"2024-05-14T20:19:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[Chefignore#parse_ignore_file] Use strip! on lines\n\nReduces unnecessary object allocation on each string\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[Chefignore#parse_ignore_file] Use strip! on lines"}},{"before":"b421935161127348611b6c918658b240cc3c89be","after":"9a2c30974a8260d2e9d7855d02630e0be633be24","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-13T18:03:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}},{"before":"d65551ea6b868343a918ffb764f00eb08794032f","after":"b421935161127348611b6c918658b240cc3c89be","ref":"refs/heads/filecache_find_dirglob","pushedAt":"2024-05-08T18:02:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dafyddcrosby","name":"David T. Crosby","path":"/dafyddcrosby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/825637?s=80&v=4"},"commit":{"message":"[FileCache#find] N to 1 calls for regex matching\n\nSigned-off-by: David Crosby ","shortMessageHtmlLink":"[FileCache#find] N to 1 calls for regex matching"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYqUTTQA","startCursor":null,"endCursor":null}},"title":"Activity · dafyddcrosby/chef"}