{"thread":{"id":"42545","subject":"[RFC][PATCH 0/8] struct object_id, Part 4","startedAt":"2016-06-06T23:38:53Z","lastAt":"2016-06-06T23:38:53Z","messageCount":1,"participants":["brian m. carlson"],"isPatch":true,"patchVersion":1,"patchTotal":8},"messages":[{"id":"288499","messageId":"20160606233901.63845-1-sandals@crustytoothpaste.net","threadId":"42545","inReplyTo":null,"subject":"[RFC][PATCH 0/8] struct object_id, Part 4","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2016-06-06T23:38:53Z","receivedAt":"2016-06-06T23:38:53Z","isPatch":true,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"This series is part 4 in a series of conversions to replace instances of\nunsigned char [20] with struct object_id.  Most of this series touches\nthe merge-recursive code.\n\nNew in this series is the use of Coccinelle (http://coccinelle.lip6.fr/)\nsemantic patches.  These semantic patches can make automatic\ntransformations to C source code for cleanup or refactoring reasons.\n\nThis series introduces a set of transforms for the struct object_id\ntransition, cleans up some existing code with them, and applies a small\nnumber of semantic patches to transform parts of the merge-recursive\ncode.  Some manual refactoring work follows.\n\nNote that in the patches created with the semantic patches, the only\nmanual change was the definition of the struct member.  This series is\nmarked as RFC to see if this is a viable technique for further work to\nease both the creation and review of patches.  Opinions are of course\nwelcomed.\n\nThe testsuite continues to pass at each step.\n\nbrian m. carlson (8):\n  Add basic Coccinelle transforms.\n  Apply standard object_id Coccinelle transformations.\n  Convert struct diff_filespec to struct object_id\n  Rename struct diff_filespec's sha1_valid member.\n  merge-recursive: convert struct stage_data to use object_id\n  merge-recursive: convert struct merge_file_info to object_id\n  merge-recursive: convert leaf functions to use struct object_id\n  merge-recursive: convert merge_recursive_generic to object_id\n\n bisect.c                  |   2 +-\n builtin/blame.c           |   6 +-\n builtin/fast-export.c     |  10 +-\n builtin/merge-recursive.c |  20 +--\n builtin/merge.c           |  13 +-\n builtin/reset.c           |   4 +-\n combine-diff.c            |  14 +--\n diff.c                    |  95 +++++++-------\n diffcore-break.c          |   4 +-\n diffcore-rename.c         |  16 +--\n diffcore.h                |   4 +-\n line-log.c                |  12 +-\n merge-recursive.c         | 310 ++++++++++++++++++++++++----------------------\n merge-recursive.h         |   6 +-\n notes-merge.c             |  42 +++----\n refs/files-backend.c      |   4 +-\n standard.cocci            |  83 +++++++++++++\n submodule.c               |   4 +-\n wt-status.c               |   3 +-\n 19 files changed, 376 insertions(+), 276 deletions(-)\n create mode 100644 standard.cocci\n"}]}