You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/08/08 16:03:47 UTC

[1/4] git commit: [#4665] Provide working (if inefficient) git merge commands when missing source_branch

Updated Branches:
  refs/heads/cj/5177 [created] c68f4eec3


[#4665] Provide working (if inefficient) git merge commands when missing source_branch

Signed-off-by: Cory Johns <cj...@slashdotmedia.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/6711c10a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/6711c10a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/6711c10a

Branch: refs/heads/cj/5177
Commit: 6711c10a2e55ab3edc31bf14ab511e9eaa7dc746
Parents: 37b8fff
Author: Cory Johns <cj...@slashdotmedia.com>
Authored: Wed Aug 7 22:34:45 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Aug 7 22:35:27 2013 +0000

----------------------------------------------------------------------
 ForgeGit/forgegit/model/git_repo.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/6711c10a/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index a982b2b..e0e47b8 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -84,11 +84,12 @@ class Repository(M.Repository):
                 merge_request.source_branch,
             )
         else:
-            fetch_command = 'git fetch {} {} # warning: '\
-            'no source branch specified'.format(
-                merge_request.downstream_repo_url,
-                '<source_branch>',
-            )
+            fetch_command = (
+                    'git remote add merge_request {}\n'
+                    'git fetch merge_request'
+                ).format(
+                    merge_request.downstream_repo_url,
+                )
         return 'git checkout %s\n%s\ngit merge %s' % (
             merge_request.target_branch,
             fetch_command,


[2/4] git commit: [#4665] ticket:401 added test for MergeRequest help text

Posted by jo...@apache.org.
[#4665] ticket:401 added test for MergeRequest help text


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/37b8fff8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/37b8fff8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/37b8fff8

Branch: refs/heads/cj/5177
Commit: 37b8fff82e4b555ce632ff3aeca8df19b4f09a34
Parents: 439222c
Author: Anton Kasyanov <mi...@gmail.com>
Authored: Wed Jul 31 14:00:31 2013 +0300
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Aug 7 22:35:27 2013 +0000

----------------------------------------------------------------------
 ForgeGit/forgegit/tests/functional/test_controllers.py | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/37b8fff8/ForgeGit/forgegit/tests/functional/test_controllers.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/tests/functional/test_controllers.py b/ForgeGit/forgegit/tests/functional/test_controllers.py
index 6eafcb6..d8c3f2c 100644
--- a/ForgeGit/forgegit/tests/functional/test_controllers.py
+++ b/ForgeGit/forgegit/tests/functional/test_controllers.py
@@ -501,6 +501,10 @@ class TestFork(_TestCase):
         assert_equal(rev_links[0].getText(), '[%s]' % c_id[:6])
         assert_equal(browse_links[0].get('href'), '/p/test2/code/ci/%s/tree' % c_id)
         assert_equal(browse_links[0].getText(), 'Tree')
+        merge_instructions = r.html.findAll('textarea')[0].getText()
+        assert 'git checkout master' in merge_instructions
+        assert 'git fetch git://git.localhost/p/test2/code master' in merge_instructions
+        assert 'git merge {}'.format(c_id) in merge_instructions
 
     def test_merge_request_list_view(self):
         r, mr_num = self._request_merge()


[4/4] git commit: [#5177] Fixed default values for source and target_branch when creating a merge request

Posted by jo...@apache.org.
[#5177] Fixed default values for source and target_branch when creating a merge request

Signed-off-by: Cory Johns <cj...@slashdotmedia.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/c68f4eec
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/c68f4eec
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/c68f4eec

Branch: refs/heads/cj/5177
Commit: c68f4eec30dc75447089e29c0b1a739b826d7f7a
Parents: 6711c10
Author: Cory Johns <cj...@slashdotmedia.com>
Authored: Thu Aug 8 14:03:29 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Thu Aug 8 14:03:29 2013 +0000

----------------------------------------------------------------------
 Allura/allura/controllers/repository.py         | 14 +++++++++++---
 Allura/allura/lib/repository.py                 |  5 ++++-
 Allura/allura/templates/repo/request_merge.html |  2 +-
 3 files changed, 16 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c68f4eec/Allura/allura/controllers/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/repository.py b/Allura/allura/controllers/repository.py
index aaf9f6a..36b4bdc 100644
--- a/Allura/allura/controllers/repository.py
+++ b/Allura/allura/controllers/repository.py
@@ -162,9 +162,16 @@ class RepoRootController(BaseController, FeedController):
     def request_merge(self, branch=None, **kw):
         security.require(security.has_access(c.app.repo, 'admin'))
         c.form = self.mr_widget
-        if branch is None:
-            source_branch=c.app.default_branch_name
-        return dict(source_branch=source_branch)
+        if branch in c.form.source_branches:
+            source_branch = branch
+        else:
+            source_branch = c.app.default_branch_name
+        with c.app.repo.push_upstream_context():
+            target_branch = c.app.default_branch_name
+        return {
+                'source_branch': source_branch,
+                'target_branch': target_branch,
+            }
 
     @expose()
     @require_post()
@@ -417,6 +424,7 @@ class CommitBrowser(BaseController):
     def __init__(self, revision):
         self._revision = revision
         self._commit = c.app.repo.commit(revision)
+        c.revision = revision
         if self._commit is None:
             raise exc.HTTPNotFound
         self.tree = self.TreeBrowserClass(self._commit, tree=self._commit.tree)

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c68f4eec/Allura/allura/lib/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/repository.py b/Allura/allura/lib/repository.py
index 83df6b2..65b68c8 100644
--- a/Allura/allura/lib/repository.py
+++ b/Allura/allura/lib/repository.py
@@ -127,7 +127,10 @@ class RepositoryApp(Application):
                     self.repo.upstream_repo.name)
                 ]
             if not c.app.repo.is_empty() and has_access(c.app.repo, 'admin'):
-                links.append(SitemapEntry('Request Merge', c.app.url + 'request_merge',
+                merge_url = c.app.url + 'request_merge'
+                if getattr(c, 'revision', None):
+                    merge_url = merge_url + '?branch=' + h.urlquote(c.revision)
+                links.append(SitemapEntry('Request Merge', merge_url,
                              ui_icon=g.icons['merge'],
                              ))
             pending_upstream_merges = self.repo.pending_upstream_merges()

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c68f4eec/Allura/allura/templates/repo/request_merge.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/repo/request_merge.html b/Allura/allura/templates/repo/request_merge.html
index 02b9061..a55a67c 100644
--- a/Allura/allura/templates/repo/request_merge.html
+++ b/Allura/allura/templates/repo/request_merge.html
@@ -29,5 +29,5 @@
 {% block header %}Request merge of {{c.app.config.options.mount_label}} {% endblock %}
 
 {% block content %}
-  {{ c.form.display(action='do_request_merge', value=dict(source_branch=source_branch))}}
+  {{ c.form.display(action='do_request_merge', value=dict(source_branch=source_branch, target_branch=target_branch))}}
 {% endblock %}


[3/4] git commit: [#4665] ticket:401 added source_branch to MergeRequest

Posted by jo...@apache.org.
[#4665] ticket:401 added source_branch to MergeRequest


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/439222c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/439222c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/439222c6

Branch: refs/heads/cj/5177
Commit: 439222c6079a3e56b2551316a84f1872d5397f53
Parents: 2b78927
Author: Anton Kasyanov <mi...@gmail.com>
Authored: Wed Jul 31 12:59:16 2013 +0300
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Wed Aug 7 22:35:27 2013 +0000

----------------------------------------------------------------------
 Allura/allura/controllers/repository.py |  1 +
 Allura/allura/model/repository.py       |  1 +
 ForgeGit/forgegit/model/git_repo.py     | 15 +++++++++++++--
 3 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/439222c6/Allura/allura/controllers/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/repository.py b/Allura/allura/controllers/repository.py
index d9331c7..aaf9f6a 100644
--- a/Allura/allura/controllers/repository.py
+++ b/Allura/allura/controllers/repository.py
@@ -178,6 +178,7 @@ class RepoRootController(BaseController, FeedController):
             mr = M.MergeRequest.upsert(
                 downstream=downstream,
                 target_branch=kw['target_branch'],
+                source_branch=kw['source_branch'],
                 summary=kw['summary'],
                 description=kw['description'])
             M.Notification.post(

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/439222c6/Allura/allura/model/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/repository.py b/Allura/allura/model/repository.py
index a3d9a44..e29cd0a 100644
--- a/Allura/allura/model/repository.py
+++ b/Allura/allura/model/repository.py
@@ -557,6 +557,7 @@ class MergeRequest(VersionedArtifact, ActivityObject):
             project_id=S.ObjectId,
             mount_point=str,
             commit_id=str))
+    source_branch=FieldProperty(str,if_missing='')
     target_branch=FieldProperty(str)
     creator_id=FieldProperty(S.ObjectId, if_missing=lambda:c.user._id)
     created=FieldProperty(datetime, if_missing=datetime.utcnow)

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/439222c6/ForgeGit/forgegit/model/git_repo.py
----------------------------------------------------------------------
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index 9906c0b..a982b2b 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -78,9 +78,20 @@ class Repository(M.Repository):
 
     def merge_command(self, merge_request):
         '''Return the command to merge a given commit to a given target branch'''
-        return 'git checkout %s\ngit fetch %s\ngit merge %s' % (
+        if merge_request.source_branch:
+            fetch_command = 'git fetch {} {}'.format(
+                merge_request.downstream_repo_url,
+                merge_request.source_branch,
+            )
+        else:
+            fetch_command = 'git fetch {} {} # warning: '\
+            'no source branch specified'.format(
+                merge_request.downstream_repo_url,
+                '<source_branch>',
+            )
+        return 'git checkout %s\n%s\ngit merge %s' % (
             merge_request.target_branch,
-            merge_request.downstream_repo_url,
+            fetch_command,
             merge_request.downstream.commit_id,
         )