From patchwork Sat Aug 3 19:14:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [STABLE] automation: push changes affecting .hgtags From: Gregory Szorc X-Patchwork-Id: 41139 Message-Id: To: mercurial-devel@mercurial-scm.org Date: Sat, 03 Aug 2019 12:14:20 -0700 # HG changeset patch # User Gregory Szorc # Date 1564859631 25200 # Sat Aug 03 12:13:51 2019 -0700 # Branch stable # Node ID fcf8e489d6a667bfd2fcf066b545e52519309ee1 # Parent e0cf09bc35ef6d7e8554e5be98441e995c856759 automation: push changes affecting .hgtags When I went to build the 5.1 tag using the in-repo automation, the automatic version calculation failed to deduce the clean 5.1 version string because we had only pushed the changeset corresponding to the 5.1 tag and not the changeset containing the 5.1 tag. So from the perspective of the remote repo, the 5.1 tag didn't exist yet and automatic version deduction failed. This commit changes the `hg push` to also push all changesets affecting the .hgtags file, ensuring the remote has up-to-date tags information. I tested this by creating a local draft changeset with a dummy tag value on a different DAG head and instructed the automation to build a revision that didn't have this change to .hgtags. The tag was successfully pushed and the built package had a version number incorporating that tag. Sending this to stable so the 5.1.1 automation hopefully "just works." diff --git a/contrib/automation/hgautomation/linux.py b/contrib/automation/hgautomation/linux.py --- a/contrib/automation/hgautomation/linux.py +++ b/contrib/automation/hgautomation/linux.py @@ -485,7 +485,9 @@ def synchronize_hg(source_path: pathlib. 'python2.7', str(hg_bin), '--config', 'ui.ssh=ssh -F %s' % ssh_config, '--config', 'ui.remotecmd=/hgdev/venv-bootstrap/bin/hg', - 'push', '-f', '-r', full_revision, + # Also ensure .hgtags changes are present so auto version + # calculation works. + 'push', '-f', '-r', full_revision, '-r', 'file(.hgtags)', 'ssh://%s//hgwork/src' % public_ip, ] diff --git a/contrib/automation/hgautomation/windows.py b/contrib/automation/hgautomation/windows.py --- a/contrib/automation/hgautomation/windows.py +++ b/contrib/automation/hgautomation/windows.py @@ -176,7 +176,9 @@ def synchronize_hg(hg_repo: pathlib.Path 'python2.7', hg_bin, '--config', 'ui.ssh=ssh -F %s' % ssh_config, '--config', 'ui.remotecmd=c:/hgdev/venv-bootstrap/Scripts/hg.exe', - 'push', '-f', '-r', full_revision, + # Also ensure .hgtags changes are present so auto version + # calculation works. + 'push', '-f', '-r', full_revision, '-r', 'file(.hgtags)', 'ssh://%s/c:/hgdev/src' % public_ip, ]