diff options
| author | Shawn O. Pearce <sop@google.com> | 2008-11-06 09:52:51 -0800 |
|---|---|---|
| committer | Shawn O. Pearce <sop@google.com> | 2008-11-06 09:52:51 -0800 |
| commit | 339ba9f6f70b1733f89a5ff89d5f155389a04094 (patch) | |
| tree | be37abf6ef01588a1c894513a6febb651642b8db /project.py | |
| parent | 70cd4ab2708eaae7d96d7e8b0a3f88850c163543 (diff) | |
| download | git-repo-339ba9f6f70b1733f89a5ff89d5f155389a04094.tar.gz | |
Use remote.*.projectname to indicate the target project for upload
This way "forks" of a project, e.g. the linux kernel, can be setup to
use different destination projects in the review server by creating
different remotes in the client side Git repository.
Signed-off-by: Shawn O. Pearce <sop@google.com>
Diffstat (limited to 'project.py')
| -rw-r--r-- | project.py | 10 |
1 files changed, 9 insertions, 1 deletions
| @@ -461,13 +461,17 @@ class Project(object): | |||
| 461 | if not base_list: | 461 | if not base_list: |
| 462 | raise GitError('no base refs, cannot upload %s' % branch.name) | 462 | raise GitError('no base refs, cannot upload %s' % branch.name) |
| 463 | 463 | ||
| 464 | if not branch.remote.projectname: | ||
| 465 | branch.remote.projectname = self.name | ||
| 466 | branch.remote.Save() | ||
| 467 | |||
| 464 | print >>sys.stderr, '' | 468 | print >>sys.stderr, '' |
| 465 | _info("Uploading %s to %s:", branch.name, self.name) | 469 | _info("Uploading %s to %s:", branch.name, self.name) |
| 466 | try: | 470 | try: |
| 467 | UploadBundle(project = self, | 471 | UploadBundle(project = self, |
| 468 | server = branch.remote.review, | 472 | server = branch.remote.review, |
| 469 | email = self.UserEmail, | 473 | email = self.UserEmail, |
| 470 | dest_project = self.name, | 474 | dest_project = branch.remote.projectname, |
| 471 | dest_branch = dest_branch, | 475 | dest_branch = dest_branch, |
| 472 | src_branch = R_HEADS + branch.name, | 476 | src_branch = R_HEADS + branch.name, |
| 473 | bases = base_list) | 477 | bases = base_list) |
| @@ -887,6 +891,8 @@ class Project(object): | |||
| 887 | url += '/%s.git' % self.name | 891 | url += '/%s.git' % self.name |
| 888 | remote.url = url | 892 | remote.url = url |
| 889 | remote.review = self.remote.reviewUrl | 893 | remote.review = self.remote.reviewUrl |
| 894 | if remote.projectname is None: | ||
| 895 | remote.projectname = self.name | ||
| 890 | 896 | ||
| 891 | if self.worktree: | 897 | if self.worktree: |
| 892 | remote.ResetFetch(mirror=False) | 898 | remote.ResetFetch(mirror=False) |
| @@ -898,6 +904,8 @@ class Project(object): | |||
| 898 | remote = self.GetRemote(r.name) | 904 | remote = self.GetRemote(r.name) |
| 899 | remote.url = r.fetchUrl | 905 | remote.url = r.fetchUrl |
| 900 | remote.review = r.reviewUrl | 906 | remote.review = r.reviewUrl |
| 907 | if remote.projectname is None: | ||
| 908 | remote.projectname = self.name | ||
| 901 | remote.ResetFetch() | 909 | remote.ResetFetch() |
| 902 | remote.Save() | 910 | remote.Save() |
| 903 | 911 | ||
