Bug #69321 Some files have different Bazaar file-ids in different branches
Submitted: 26 May 2013 7:54 Modified: 27 May 2013 13:08
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Won't fix Impact on me:
None 
Category:Tools: Bazaar Severity:S3 (Non-critical)
Version:5.5, 5.6, 5.7 OS:Any
Assigned to: CPU Architecture:Any
Tags: bzr file-id

[26 May 2013 7:54] Laurynas Biveinis
Description:
Some files have different Bazaar file-ids in the different version branches. For example, 

5.1$ bzr file-id mysys/my_compare.c
my_compare.c-20110323142628-hxsk3ts8st4257de-1

5.5$ bzr file-id mysys/my_compare.c
my_compare.c-20110329104804-p1wswbpv0qi7nmk2-1

In practice this means that whenever a change is made to a file for a lower version, merging it to higher versions is needlessly complicated because Bazaar uses the file ids and not e.g. file names for finding out what files are the same in the different branches.

Now this is not necessarily actionable (although I'd fix it for 5.7 at least), thus I am just passing the lists below for your consideration since I happen to have them.

How to repeat:
bzr file-id.

Also there is a very handy script at comment #5 at https://bugs.launchpad.net/percona-server/+bug/1099764 you can use.

Suggested fix:
For each tree lower to higher version for each different file id file:

cp file file.bak
bzr rm file
mv file.bak file
bzr add --file-ids-from=path-to-lower-tree file

Something similar to directories.
[26 May 2013 7:54] Laurynas Biveinis
Between 5.1 and 5.5/5.6/5.7. Here I assumed that 5.1 mysql-test/suite/innodb_plugin was renamed to 5.5 mysql-test/suite/innodb, and 5.1 mysql-test/suite/innodb has been deleted:

   extra/yassl/taocrypt/test/test.dsp
   include/my_compare.h
   mysql-test/include/ctype_innodb_like.inc
   mysql-test/include/get_relay_log_pos.inc
   mysql-test/include/have_federated_plugin.inc
   mysql-test/include/innodb_trx_weight.inc
   mysql-test/suite/federated/federated_bug_35333.result
   mysql-test/suite/federated/federated_bug_35333.test
   mysql-test/suite/federated/federated_plugin-master.opt
   mysql-test/suite/federated/federated_plugin.result
   mysql-test/suite/federated/federated_plugin.test
   mysql-test/suite/innodb/r/innodb-autoinc-44030.result
   mysql-test/suite/innodb/r/innodb-autoinc.result
   mysql-test/suite/innodb/r/innodb-lock.result
   mysql-test/suite/innodb/r/innodb_bug11754376.result
   mysql-test/suite/innodb/r/innodb_bug12400341.result
   mysql-test/suite/innodb/r/innodb_bug13510739.result seems to be 
   renamed from innodb not innodb_plugin
   mysql-test/suite/innodb/r/innodb_bug13635833.result
   mysql-test/suite/innodb/r/innodb_bug14676111.result
   mysql-test/suite/innodb/r/innodb_bug21704.result
   mysql-test/suite/innodb/r/innodb_bug34300.result
   mysql-test/suite/innodb/r/innodb_bug38231.result
   mysql-test/suite/innodb/r/innodb_bug39438.result
   mysql-test/suite/innodb/r/innodb_bug40565.result
   mysql-test/suite/innodb/r/innodb_bug42101-nonzero.result
   mysql-test/suite/innodb/r/innodb_bug42101.result
   mysql-test/suite/innodb/r/innodb_bug44369.result
   mysql-test/suite/innodb/r/innodb_bug45357.result
   mysql-test/suite/innodb/r/innodb_bug46000.result
   mysql-test/suite/innodb/r/innodb_bug47621.result
   mysql-test/suite/innodb/r/innodb_bug47777.result
   mysql-test/suite/innodb/r/innodb_bug51920.result
   mysql-test/suite/innodb/r/innodb_bug52663.result
   mysql-test/suite/innodb/r/innodb_bug53756.result
   mysql-test/suite/innodb/r/innodb_bug54044.result
   mysql-test/suite/innodb/r/innodb_bug56680.result
   mysql-test/suite/innodb/r/innodb_multi_update.result
   mysql-test/suite/innodb/t/disabled.def
   mysql-test/suite/innodb/t/innodb-autoinc-44030.test
   mysql-test/suite/innodb/t/innodb-autoinc.test
   mysql-test/suite/innodb/t/innodb_bug11754376.test
   mysql-test/suite/innodb/t/innodb_bug12400341-master.opt
   mysql-test/suite/innodb/t/innodb_bug12400341.test
   mysql-test/suite/innodb/t/innodb_bug13510739.test
   mysql-test/suite/innodb/t/innodb_bug13635833.test
   mysql-test/suite/innodb/t/innodb_bug14676111.test
   mysql-test/suite/innodb/t/innodb_bug21704.test
   mysql-test/suite/innodb/t/innodb_bug34300.test
   mysql-test/suite/innodb/t/innodb_bug35220.test
   mysql-test/suite/innodb/t/innodb_bug38231.test
   mysql-test/suite/innodb/t/innodb_bug39438-master.opt
   mysql-test/suite/innodb/t/innodb_bug39438.test
   mysql-test/suite/innodb/t/innodb_bug40565.test
   mysql-test/suite/innodb/t/innodb_bug42101-nonzero-master.opt
   mysql-test/suite/innodb/t/innodb_bug42101-nonzero.test
   mysql-test/suite/innodb/t/innodb_bug42101.test
   mysql-test/suite/innodb/t/innodb_bug44369.test
   mysql-test/suite/innodb/t/innodb_bug45357.test
   mysql-test/suite/innodb/t/innodb_bug46000.test
   mysql-test/suite/innodb/t/innodb_bug47621.test
   mysql-test/suite/innodb/t/innodb_bug47777.test
   mysql-test/suite/innodb/t/innodb_bug51920.test
   mysql-test/suite/innodb/t/innodb_bug52663.test
   mysql-test/suite/innodb/t/innodb_bug53756-master.opt
   mysql-test/suite/innodb/t/innodb_bug53756.test
   mysql-test/suite/innodb/t/innodb_bug54044.test
   mysql-test/suite/innodb/t/innodb_bug56680.test
   mysql-test/suite/innodb/t/innodb_bug56716.test
   mysql-test/suite/innodb/t/innodb_multi_update.test
   mysql-test/suite/rpl/r/rpl_start_stop_slave.result
   mysql-test/suite/rpl/t/rpl_start_stop_slave.test
   mysql-test/suite/sys_vars/r/slave_max_allowed_packet_basic.result
   mysql-test/suite/sys_vars/t/disabled.def
   mysql-test/suite/sys_vars/t/slave_max_allowed_packet_basic.test
   mysys/my_compare.c
[26 May 2013 7:55] Laurynas Biveinis
Between 5.5 and 5.6/5.7:

   extra/yassl/certs/ca-key.pem
   extra/yassl/certs/client-keyEnc.pem
   extra/yassl/certs/client-keyEnc3.pem
   extra/yassl/certs/server-keyEnc.pem
   extra/yassl/src/template_instnt.cpp
   extra/yassl/taocrypt/certs
   extra/yassl/taocrypt/certs/dh1024.dat
   extra/yassl/taocrypt/include/hc128.hpp
   extra/yassl/taocrypt/include/rabbit.hpp
   extra/yassl/taocrypt/src/hc128.cpp
   extra/yassl/taocrypt/src/rabbit.cpp
   extra/yassl/taocrypt/src/template_instnt.cpp
   extra/yassl/taocrypt/test.dsw
   mysql-test/collections/disabled-daily.list
   mysql-test/include/assert.inc
   mysql-test/r/join_optimizer.result
   mysql-test/r/multi_update_innodb.result
   mysql-test/suite/innodb/r/innodb-blob.result
   mysql-test/suite/innodb/r/innodb_bug12661768.result
   mysql-test/suite/innodb/r/innodb_bug30423.result
   mysql-test/suite/innodb/r/innodb_cmp_drop_table.result
   mysql-test/suite/innodb/r/innodb_corrupt_bit.result
   mysql-test/suite/innodb/r/innodb_information_schema_buffer.result
   mysql-test/suite/innodb/t/innodb-blob.test
   mysql-test/suite/innodb/t/innodb_bug30423.test
   mysql-test/suite/innodb/t/innodb_cmp_drop_table-master.opt
   mysql-test/suite/innodb/t/innodb_cmp_drop_table.test
   mysql-test/suite/innodb/t/innodb_corrupt_bit.test
   mysql-test/suite/innodb/t/innodb_information_schema_buffer.test
   mysql-test/suite/perfschema/r/ddl_threads.result
   mysql-test/suite/perfschema/r/dml_threads.result
   mysql-test/suite/perfschema/r/schema.result
   mysql-test/suite/perfschema/r/start_server_no_waits_history.result
   mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
   mysql-test/suite/perfschema/r/start_server_nothing.result
   mysql-test/suite/perfschema/r/thread_cache.result
   mysql-test/suite/perfschema/t/ddl_threads.test
   mysql-test/suite/perfschema/t/dml_threads.test
   mysql-test/suite/perfschema/t/schema.test
   mysql-test/suite/perfschema/t/start_server_no_waits_history-master.opt
   mysql-test/suite/perfschema/t/start_server_no_waits_history.test
   mysql-test/suite/perfschema/t/start_server_no_waits_history_long-master.opt
   mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test
   mysql-test/suite/perfschema/t/start_server_nothing-master.opt
   mysql-test/suite/perfschema/t/start_server_nothing.test
   mysql-test/suite/perfschema/t/thread_cache.test
   mysql-test/suite/sys_vars/r/innodb_force_load_corrupted_basic.result
   mysql-test/suite/sys_vars/r/innodb_large_prefix_basic.result
   mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result
   mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
   mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result
   mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test
   mysql-test/suite/sys_vars/t/innodb_large_prefix_basic.test
   mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
   mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test *
   mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
   storage/perfschema/table_threads.cc
   storage/perfschema/table_threads.h
[26 May 2013 7:55] Laurynas Biveinis
Between 5.6 and 5.7:

mysql-test/include/Load_data.inc
mysql-test/include/create_table.inc
mysql-test/include/ib_logfile_size_check.inc
mysql-test/include/innodb_pk_extension.inc
mysql-test/include/vardir_size_check.inc
mysql-test/r/disconnect_on_expired_password_default.result
mysql-test/r/disconnect_on_expired_password_off.result
mysql-test/r/host_cache_size_functionality.result
mysql-test/r/innodb_log_file_size_functionality.result
mysql-test/r/innodb_pk_extension_off.result
mysql-test/r/innodb_pk_extension_on.result
mysql-test/r/query_cache_size_functionality.result
mysql-test/r/query_cache_type_functionality.result
mysql-test/r/sort_buffer_size_functionality.result
mysql-test/r/table_definition_cache_functionality.result
mysql-test/r/table_open_cache_functionality.result
mysql-test/suite/engines/funcs/t/crash_manytables_number.cnf
mysql-test/suite/engines/funcs/t/crash_manytables_string.cnf
mysql-test/suite/innodb/include/innodb_create_tab_indx.inc
mysql-test/suite/innodb/include/innodb_fetch_records.inc
mysql-test/suite/innodb/include/innodb_load_data.inc
mysql-test/suite/innodb/include/innodb_stats_restart.inc
mysql-test/suite/innodb/r/innodb-wl6445-1.result
mysql-test/suite/innodb/r/innodb-wl6445-2.result
mysql-test/suite/innodb/r/innodb-wl6445.result
mysql-test/suite/innodb/r/innodb_bug14676111.result
mysql-test/suite/innodb/t/innodb-wl6445-2.test
mysql-test/suite/innodb/t/innodb-wl6445.test
mysql-test/suite/innodb/t/innodb_bug14676111.test
mysql-test/suite/perfschema/t/query_cache-master.opt
mysql-test/suite/perfschema/t/stage_mdl_global-master.opt
mysql-test/suite/sys_vars/r/disconnect_on_expired_password_basic.result
mysql-test/suite/sys_vars/r/innodb_cmp_per_index_enabled_basic.result
mysql-test/suite/sys_vars/r/innodb_compression_failure_threshold_pct_basic.result *
mysql-test/suite/sys_vars/r/innodb_compression_level_basic.result
mysql-test/suite/sys_vars/r/innodb_compression_pad_pct_max_basic.result *
mysql-test/suite/sys_vars/r/innodb_limit_optimistic_insert_debug_basic.result
mysql-test/suite/sys_vars/r/innodb_read_only_basic.result
mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result
mysql-test/suite/sys_vars/t/disconnect_on_expired_password_basic.test
mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test
mysql-test/suite/sys_vars/t/innodb_compression_failure_threshold_pct_basic.test *
mysql-test/suite/sys_vars/t/innodb_compression_level_basic.test
mysql-test/suite/sys_vars/t/innodb_compression_pad_pct_max_basic.test *
mysql-test/suite/sys_vars/t/innodb_limit_optimistic_insert_debug_basic.test
mysql-test/suite/sys_vars/t/innodb_read_only_basic.test
mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
mysql-test/suite/sys_vars/t/query_cache_limit_func-master.opt
mysql-test/suite/sys_vars/t/query_cache_type_basic-master.opt
mysql-test/suite/sys_vars/t/query_cache_type_func-master.opt
mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func-master.opt
mysql-test/suite/sys_vars/t/slow_launch_time_func-master.opt
mysql-test/suite/sys_vars/t/thread_cache_size_func-master.opt
mysql-test/t/cache_innodb-master.opt
mysql-test/t/disconnect_on_expired_password_default.test *
mysql-test/t/disconnect_on_expired_password_off-master.opt
mysql-test/t/disconnect_on_expired_password_off.test *
mysql-test/t/func_misc-master.opt
mysql-test/t/grant_cache-master.opt
mysql-test/t/host_cache_size_functionality.test
mysql-test/t/innodb_log_file_size_functionality.test
mysql-test/t/innodb_pk_extension_off.test
mysql-test/t/innodb_pk_extension_on.test
mysql-test/t/main.lowercase_table_qcache-master.opt
mysql-test/t/partition_cache-master.opt
mysql-test/t/query_cache-master.opt
mysql-test/t/query_cache_28249-master.opt
mysql-test/t/query_cache_debug-master.opt
mysql-test/t/query_cache_merge-master.opt
mysql-test/t/query_cache_notembedded-master.opt
mysql-test/t/query_cache_ps_no_prot-master.opt
mysql-test/t/query_cache_ps_ps_prot-master.opt
mysql-test/t/query_cache_size_functionality.test
mysql-test/t/query_cache_type_functionality.test
mysql-test/t/query_cache_with_views-master.opt
mysql-test/t/sort_buffer_size_functionality.test
mysql-test/t/sp_notembedded-master.opt
mysql-test/t/table_definition_cache_functionality.test
mysql-test/t/table_open_cache_functionality.test
mysql-test/t/variables-master.opt
[27 May 2013 7:43] MySQL Verification Team
Hello Laurynas,

Thank you for the report.
Verified as described.

Thanks,
Umesh
[27 May 2013 12:53] Guilhem Bichot
Hello Laurynas,

Thank you for the precise bug report. I investigated, it turns out that a handful of colleagues messed things up when they ported patches between different versions. I just sent to all colleagues a reminder to be careful with this.
As to fixing the situation, the affected files in 5.7 are only test files, so I don't expect that they will undergo frequent changes in 5.6, so in practice this problem should not cause frequent conflicts. I prefer to not change their file ID, I think it's not worth the trouble.
[27 May 2013 13:08] Laurynas Biveinis
Hello Guilhem -

Sure, fair enough, as I wrote in the bug report, this is not necessarily actionable. Thank you for your consideration.