diff options
| author | David Pursehouse <david.pursehouse@sonymobile.com> | 2015-05-07 14:36:09 +0900 |
|---|---|---|
| committer | David Pursehouse <david.pursehouse@sonymobile.com> | 2015-07-06 16:18:06 +0900 |
| commit | 59b417493e0b0a18ba11f9d214308e82872c38e6 (patch) | |
| tree | fce1b823a59a6870dcd813aa6a167a30c6b5bcbb | |
| parent | 30d13eea862bdc9df1b0bcd32318f24250dd96ea (diff) | |
| download | git-repo-59b417493e0b0a18ba11f9d214308e82872c38e6.tar.gz | |
sync: Remove smart sync override manifest when not in smart sync mode
When syncing with the -s or -t option, a smart_sync_override.xml file
is created. This file is left in the file system when syncing again
without the -s or -t option.
Remove the smart sync override manifest, if it exists, when not using
the -s or -t option.
Change-Id: I697a0f6405205ba5f84a4d470becf7cd23c07b4b
| -rw-r--r-- | subcmds/sync.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py index c9ca8897..ec333ae7 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
| @@ -517,6 +517,9 @@ later is required to fix a server side protocol bug. | |||
| 517 | self.manifest.Override(opt.manifest_name) | 517 | self.manifest.Override(opt.manifest_name) |
| 518 | 518 | ||
| 519 | manifest_name = opt.manifest_name | 519 | manifest_name = opt.manifest_name |
| 520 | smart_sync_manifest_name = "smart_sync_override.xml" | ||
| 521 | smart_sync_manifest_path = os.path.join( | ||
| 522 | self.manifest.manifestProject.worktree, smart_sync_manifest_name) | ||
| 520 | 523 | ||
| 521 | if opt.smart_sync or opt.smart_tag: | 524 | if opt.smart_sync or opt.smart_tag: |
| 522 | if not self.manifest.manifest_server: | 525 | if not self.manifest.manifest_server: |
| @@ -583,18 +586,16 @@ later is required to fix a server side protocol bug. | |||
| 583 | [success, manifest_str] = server.GetManifest(opt.smart_tag) | 586 | [success, manifest_str] = server.GetManifest(opt.smart_tag) |
| 584 | 587 | ||
| 585 | if success: | 588 | if success: |
| 586 | manifest_name = "smart_sync_override.xml" | 589 | manifest_name = smart_sync_manifest_name |
| 587 | manifest_path = os.path.join(self.manifest.manifestProject.worktree, | ||
| 588 | manifest_name) | ||
| 589 | try: | 590 | try: |
| 590 | f = open(manifest_path, 'w') | 591 | f = open(smart_sync_manifest_path, 'w') |
| 591 | try: | 592 | try: |
| 592 | f.write(manifest_str) | 593 | f.write(manifest_str) |
| 593 | finally: | 594 | finally: |
| 594 | f.close() | 595 | f.close() |
| 595 | except IOError as e: | 596 | except IOError as e: |
| 596 | print('error: cannot write manifest to %s:\n%s' | 597 | print('error: cannot write manifest to %s:\n%s' |
| 597 | % (manifest_path, e), | 598 | % (smart_sync_manifest_path, e), |
| 598 | file=sys.stderr) | 599 | file=sys.stderr) |
| 599 | sys.exit(1) | 600 | sys.exit(1) |
| 600 | self._ReloadManifest(manifest_name) | 601 | self._ReloadManifest(manifest_name) |
| @@ -611,6 +612,13 @@ later is required to fix a server side protocol bug. | |||
| 611 | % (self.manifest.manifest_server, e.errcode, e.errmsg), | 612 | % (self.manifest.manifest_server, e.errcode, e.errmsg), |
| 612 | file=sys.stderr) | 613 | file=sys.stderr) |
| 613 | sys.exit(1) | 614 | sys.exit(1) |
| 615 | else: # Not smart sync or smart tag mode | ||
| 616 | if os.path.isfile(smart_sync_manifest_path): | ||
| 617 | try: | ||
| 618 | os.remove(smart_sync_manifest_path) | ||
| 619 | except OSError as e: | ||
| 620 | print('error: failed to remove existing smart sync override manifest: %s' % | ||
| 621 | e, file=sys.stderr) | ||
| 614 | 622 | ||
| 615 | rp = self.manifest.repoProject | 623 | rp = self.manifest.repoProject |
| 616 | rp.PreSync() | 624 | rp.PreSync() |
