rbt land with a custom remote

64 views
Skip to first unread message

Vinod Kone

unread,
Feb 12, 2016, 3:04:29 PM2/12/16
to reviewboard
Hi,

I was playing around with the the new 'rbt land' command and looks like it assumes tracking branch to be "origin/master"? 

In my clone of the repo I've multiple remotes configured and I'm trying to figure out how to tell 'rbt land --push' to push to a remote that I want. From looking at the code for land command, it looks the the remote is derived from the tracking branch. But it doesn't look like '--tracking_branch' is an available option for this particular command. I tried setting TRACKING_BRANCH in .reviewboardrc but even that doesn't get picked up by the `land` command. Am I missing something?

Thanks,
Vinod

Barret Rennie

unread,
Feb 13, 2016, 5:20:53 AM2/13/16
to revie...@googlegroups.com

Hi Vinod,

You want the LAND_DEST_BRANCH variable or --dest flag.

Regards,
Barret Rennie

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Vinod Kone

unread,
Feb 17, 2016, 12:31:37 PM2/17/16
to reviewboard
I don't think "--dest" flag lets you specify the custom remote.

If you look at https://github.com/reviewboard/rbtools/blob/b3f699d44b22fb2a0de7f79cbd48975431c05f72/rbtools/clients/git.py#L834 , there is a call to get_origin() to figure out the remote. Since that method is called without any parameters, it doesn't work with custom remote; it always results in remote being "origin".

Christian Hammond

unread,
Feb 17, 2016, 4:29:07 PM2/17/16
to revie...@googlegroups.com
Hi Vinod,

You're actually landing onto a branch, which is associated with a remote. Say, "master", not "origin/master". That branch can then be pushed. So you can use --dest or LAND_DEST_BRANCH to specify where that is.

For instance, on Review Board, we have release-2.0.x, release-2.5.x, etc. branches locally that match corresponding origin/release-* branches. We land on the local branches, and then push.

Christian

-- 
Christian Hammond - chri...@beanbaginc.com
Review Board - https://www.reviewboard.org

Vinod Kone

unread,
Feb 17, 2016, 6:12:51 PM2/17/16
to revie...@googlegroups.com
So in my local repo, I've a remote named "vinodkone". I have a local branch called "vinodkone_master" that tracks "vinodkone/master". I would like to land a review on to my local branch and then push it upstream.

This is the output I got when I tried the 'rbt land' command. Can you please let me know what I'm doing wrong here?

P.S: I've bolded some lines to show that the "--push" tries to push to "origin" remote even though it should push to "vinodkone" remote.


➜  mesos git:(vinodkone_master) rbt land --dest vinodkone_master --push -d -r 43634

>>> RBTools 0.7.5

>>> Python 2.6.9 (unknown, Oct 23 2015, 18:05:10) 

[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)]

>>> Running on Darwin-15.2.0-x86_64-i386-64bit

>>> Home = /Users/vinodkone

>>> Current directory = /Users/vinodkone/workspace/mesos

>>> Checking for a Subversion repository...

>>> Running: svn --non-interactive info git://git.apache.org/mesos.git

>>> Command exited with rc 1: ['svn', '--non-interactive', u'info', u'git://git.apache.org/mesos.git']

svn: warning: W170000: Unrecognized URL scheme for 'git://git.apache.org/mesos.git'


svn: E200009: Could not display info for all targets because some targets don't exist

---

>>> Checking for a Git repository...

>>> Running: git rev-parse --git-dir

>>> Running: git config core.bare

>>> Running: git rev-parse --show-toplevel

>>> Running: git symbolic-ref -q HEAD

>>> Running: git config --get branch.vinodkone_master.merge

>>> Running: git config --get branch.vinodkone_master.remote

>>> Running: git config --get remote.vinodkone.url

>>> repository info: Path: git://git.apache.org/mesos.git, Base path: , Supports changesets: False

>>> Making HTTP GET request to https://reviews.apache.org/api/

>>> Running: git status --porcelain --untracked-files=no

>>> Making HTTP GET request to https://reviews.apache.org/api/review-requests/43634/

>>> Cached response for HTTP GET https://reviews.apache.org/api/review-requests/43634/ expired and was not modified

Applying patch from review request 43634

>>> RBTools 0.7.5

>>> Python 2.6.9 (unknown, Oct 23 2015, 18:05:10) 

[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)]

>>> Running on Darwin-15.2.0-x86_64-i386-64bit

>>> Home = /Users/vinodkone

>>> Current directory = /Users/vinodkone/workspace/mesos

>>> Checking for a Subversion repository...

>>> Running: svn --non-interactive info git://git.apache.org/mesos.git

>>> Command exited with rc 1: ['svn', '--non-interactive', u'info', 'git://git.apache.org/mesos.git']

svn: warning: W170000: Unrecognized URL scheme for 'git://git.apache.org/mesos.git'


svn: E200009: Could not display info for all targets because some targets don't exist

---

>>> Checking for a Git repository...

>>> Running: git rev-parse --git-dir

>>> Running: git config core.bare

>>> Running: git rev-parse --show-toplevel

>>> Running: git symbolic-ref -q HEAD

>>> Running: git config --get branch.vinodkone_master.merge

>>> Running: git config --get branch.vinodkone_master.remote

>>> Running: git config --get remote.vinodkone.url

>>> repository info: Path: git://git.apache.org/mesos.git, Base path: , Supports changesets: False

>>> Making HTTP GET request to https://reviews.apache.org/api/

>>> Making HTTP GET request to https://reviews.apache.org/api/review-requests/43634/diffs/

>>> Cached response for HTTP GET https://reviews.apache.org/api/review-requests/43634/diffs/ expired and was modified

>>> Making HTTP GET request to https://reviews.apache.org/api/review-requests/43634/diffs/1/

>>> Cached response for HTTP GET https://reviews.apache.org/api/review-requests/43634/diffs/1/ expired and was not modified

>>> Making HTTP GET request to https://reviews.apache.org/api/review-requests/43634/diffs/1/

>>> Cached response for HTTP GET https://reviews.apache.org/api/review-requests/43634/diffs/1/ expired and was not modified

>>> Running: git status --porcelain --untracked-files=no

Patch is being applied from request 43634 with diff revision 1.

>>> Running: git apply -3 /var/folders/rb/hv5k95jj35jgjj_yqz5177wm0000gn/T/tmpVt5oUy

Successfully applied patch.

>>> Making HTTP GET request to https://reviews.apache.org/api/review-requests/43634/?force-text-type=plain

>>> Added cache entry for HTTP GET request to https://reviews.apache.org/api/review-requests/43634/?force-text-type=plain

>>> Making HTTP GET request to https://reviews.apache.org/api/users/joerg84/

>>> Added cache entry for HTTP GET request to https://reviews.apache.org/api/users/joerg84/

>>> Running: git commit -m "Consistent markdown code style in persistent-volumes.md.


Reviewed at https://reviews.apache.org/r/43634/" "--author=\"Joerg Schad <jo...@mesosphere.io>\""

Changes committed to current branch.

Pushing branch "vinodkone_master" upstream

>>> Running: git config --get remote.origin.url

>>> Command exited with rc 1: ['git', 'config', '--get', 'remote.origin.url']

---

>>> Running: git pull --rebase "" vinodkone_master

>>> Command exited with rc 1: ['git', 'pull', '--rebase', u'', 'vinodkone_master']

fatal: No path specified. See 'man git-pull' for valid url syntax

---

Traceback (most recent call last):

  File "/usr/local/bin/rbt", line 9, in <module>

    load_entry_point('RBTools==0.7.5.dev0', 'console_scripts', 'rbt')()

  File "/Library/Python/2.6/site-packages/rbtools/commands/main.py", line 133, in main

    command.run_from_argv([RB_MAIN, command_name] + args)

  File "/Library/Python/2.6/site-packages/rbtools/commands/__init__.py", line 622, in run_from_argv

    exit_code = self.main(*args) or 0

  File "/Library/Python/2.6/site-packages/rbtools/commands/land.py", line 261, in main

    raise CommandError(str(e))

rbtools.commands.CommandError: Could not pull changes from upstream.



-- Vinod

You received this message because you are subscribed to a topic in the Google Groups "reviewboard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/reviewboard/hRiWcmWBZxY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to reviewboard...@googlegroups.com.

Christian Hammond

unread,
Feb 17, 2016, 6:28:13 PM2/17/16
to revie...@googlegroups.com
There may be some bugs here. Can you see if things land without using --push? You could then push manually.

Assuming that works, can you file a bug report (https://hellosplat.com/s/beanbag/tickets/new/)?

Thanks,

Christian

-- 
Christian Hammond - chri...@beanbaginc.com
Review Board - https://www.reviewboard.org

Vinod Kone

unread,
Feb 17, 2016, 7:23:06 PM2/17/16
to revie...@googlegroups.com
The land part is successful. Just the push part fails. I've filed a ticket.

Thanks,


-- Vinod
Reply all
Reply to author
Forward
0 new messages