# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1510209603 -19800 # Node ID 2ea6e42ed15e8cbef4418cca9a695a53848f1dca # Parent 744d1c874a59d5ebfcd8ee83fd1275674426bfc0 remotenames: consider existing data while storing newer data Previously reviewed as D1357. Differential Revision: https://phab.mercurial-scm.org/D1551 diff -r 744d1c874a59 -r 2ea6e42ed15e mercurial/remotenames.py --- a/mercurial/remotenames.py Thu Oct 05 01:31:53 2017 +0530 +++ b/mercurial/remotenames.py Thu Nov 09 12:10:03 2017 +0530 @@ -64,6 +64,12 @@ # version '0' represents the very initial version of the storage format f.write('0\n\n') + olddata = set(readremotenamefile(repo, nametype)) + # re-save the data from a different remote than this one. + for node, oldpath, rname in sorted(olddata): + if oldpath != remotepath: + f.write('%s\0%s\0%s\n' % (node, oldpath, rname)) + for name, node in sorted(names.iteritems()): if nametype == "branches": for n in node: diff -r 744d1c874a59 -r 2ea6e42ed15e tests/test-remotenames.t --- a/tests/test-remotenames.t Thu Oct 05 01:31:53 2017 +0530 +++ b/tests/test-remotenames.t Thu Nov 09 12:10:03 2017 +0530 @@ -102,10 +102,15 @@ $ cat .hg/remotenames/bookmarks 0 + 62615734edd52f06b6fb9c2beb429e4fe30d57b8\x00file:$TESTTMP/server\x00foo (esc) + 87d6d66763085b629e6d7ed56778c79827273022\x00file:$TESTTMP/server\x00bar (esc) 87d6d66763085b629e6d7ed56778c79827273022\x00file:$TESTTMP/server2\x00bar (esc) 62615734edd52f06b6fb9c2beb429e4fe30d57b8\x00file:$TESTTMP/server2\x00foo (esc) + $ cat .hg/remotenames/branches 0 + 3e1487808078543b0af6d10dadf5d46943578db0\x00file:$TESTTMP/server\x00wat (esc) + ec2426147f0e39dbc9cef599b066be6035ce691d\x00file:$TESTTMP/server\x00default (esc) ec2426147f0e39dbc9cef599b066be6035ce691d\x00file:$TESTTMP/server2\x00default (esc) 3e1487808078543b0af6d10dadf5d46943578db0\x00file:$TESTTMP/server2\x00wat (esc)