Here's a "diff -rq" output from two full builds on Linux [same commit, same output directory]:
"""
erikchen@erikchen:~/projects/chromium-linux/src$ diff -rq out.2/gn out.3/gn
Files out.2/gn/args.gn and out.3/gn/args.gn differ
Files out.2/gn/gen/base/bind_unittest_nc.cc.log and out.3/gn/gen/base/bind_unittest_nc.cc.log differ
Files out.2/gn/gen/base/callback_list_unittest_nc.cc.log and out.3/gn/gen/base/callback_list_unittest_nc.cc.log differ
Files out.2/gn/gen/base/callback_unittest_nc.cc.log and out.3/gn/gen/base/callback_unittest_nc.cc.log differ
Files out.2/gn/gen/base/field_trial_params_unittest_nc.cc.log and out.3/gn/gen/base/field_trial_params_unittest_nc.cc.log differ
Files out.2/gn/gen/base/histogram_unittest_nc.cc.log and out.3/gn/gen/base/histogram_unittest_nc.cc.log differ
Files out.2/gn/gen/base/optional_unittest_nc.cc.log and out.3/gn/gen/base/optional_unittest_nc.cc.log differ
Files out.2/gn/gen/base/ref_counted_unittest_nc.cc.log and out.3/gn/gen/base/ref_counted_unittest_nc.cc.log differ
Files out.2/gn/gen/base/span_unittest_nc.cc.log and out.3/gn/gen/base/span_unittest_nc.cc.log differ
Files out.2/gn/gen/base/string16_unittest_nc.cc.log and out.3/gn/gen/base/string16_unittest_nc.cc.log differ
Files out.2/gn/gen/base/task_traits_unittest_nc.cc.log and out.3/gn/gen/base/task_traits_unittest_nc.cc.log differ
Files out.2/gn/gen/base/thread_annotations_unittest_nc.cc.log and out.3/gn/gen/base/thread_annotations_unittest_nc.cc.log differ
Files out.2/gn/gen/base/weak_ptr_unittest_nc.cc.log and out.3/gn/gen/base/weak_ptr_unittest_nc.cc.log differ
Files out.2/gn/gen/chrome/test/chromedriver/chrome/embedded_automation_extension.cc and out.3/gn/gen/chrome/test/chromedriver/chrome/embedded_automation_extension.cc differ
Files out.2/gn/gen/chrome/test/chromedriver/chrome/embedded_automation_extension.h and out.3/gn/gen/chrome/test/chromedriver/chrome/embedded_automation_extension.h differ
Files out.2/gn/gen/chrome/test/chromedriver/chrome/js.cc and out.3/gn/gen/chrome/test/chromedriver/chrome/js.cc differ
Files out.2/gn/gen/chrome/test/chromedriver/chrome/js.h and out.3/gn/gen/chrome/test/chromedriver/chrome/js.h differ
Files out.2/gn/gen/chrome/test/chromedriver/chrome/user_data_dir.cc and out.3/gn/gen/chrome/test/chromedriver/chrome/user_data_dir.cc differ
Files out.2/gn/gen/chrome/test/chromedriver/chrome/user_data_dir.h and out.3/gn/gen/chrome/test/chromedriver/chrome/user_data_dir.h differ
Files out.2/gn/gen/chrome/test/chromedriver/version.cc and out.3/gn/gen/chrome/test/chromedriver/version.cc differ
Files out.2/gn/gen/chrome/test/chromedriver/version.h and out.3/gn/gen/chrome/test/chromedriver/version.h differ
Files out.2/gn/gen/third_party/blink/renderer/bindings/core/ComponentInfoCore.pickle and out.3/gn/gen/third_party/blink/renderer/bindings/core/ComponentInfoCore.pickle differ
Files out.2/gn/gen/third_party/blink/renderer/bindings/modules/ComponentInfoModules.pickle and out.3/gn/gen/third_party/blink/renderer/bindings/modules/ComponentInfoModules.pickle differ
Files out.2/gn/gen/third_party/blink/renderer/bindings/scripts/lextab.pyc and out.3/gn/gen/third_party/blink/renderer/bindings/scripts/lextab.pyc differ
Files out.2/gn/.ninja_deps and out.3/gn/.ninja_deps differ
Files out.2/gn/.ninja_log and out.3/gn/.ninja_log differ
Files out.2/gn/pyproto/chrome/browser/ssl/ssl_error_assistant_pb2.pyc and out.3/gn/pyproto/chrome/browser/ssl/ssl_error_assistant_pb2.pyc differ
Files out.2/gn/pyproto/chrome/common/safe_browsing/download_file_types_pb2.pyc and out.3/gn/pyproto/chrome/common/safe_browsing/download_file_types_pb2.pyc differ
Files out.2/gn/remoting-webapp.v2.zip and out.3/gn/remoting-webapp.v2.zip differ
Files out.2/gn/v8_context_snapshot.bin and out.3/gn/v8_context_snapshot.bin differ
Files out.2/gn/zucchini_apply_fuzzer_seed_corpus.zip and out.3/gn/zucchini_apply_fuzzer_seed_corpus.zip differ
"""
This was all files.
I guess it would make more sense to just check files listed in *.isolate, which means we need to generate the *.isolate files -- I guess we'd have to parse gn_isolate_map.pyl and figure out the appropriate targets. We probably also want to add a dry-run option to mb.py.
Is there a better way to do this?
Comment 1 by tikuta@chromium.org
, Aug 3