------------------------------------------------------------------------------
To reply, visit https://hellosplat.com/s/beanbag/tickets/4527/
------------------------------------------------------------------------------

New ticket #4527 by samsun387
For Beanbag, Inc. > RBTools

Status: New
Tags: Priority:Medium, Type:Defect

File attachments:

 * rbt_patch_debug.log
   <https://hellosplat.com/s/beanbag/attachments/1223/>



------------------------------------------------------------------------------
rbt patch fail when user do svn merge cherry-pick
==============================================================================

# What version are you running?
0.7.9

# What steps will reproduce the problem?
1. In a feature branch, do svn merge -c <revision><trunk url>
2. rbt post --svn-show-copies-as-adds=y
3. In a clean checkout of feature branch, do rbt patch <review request id>


# What is the expected output? What do you see instead?
Expected Result: Should be able to patch the diff.
Actual Result: rbt patch failed. 
Error is:
svn: E000021: Can't move 
'/home/devops/jenkins_slave/workspace/ReviewBoard/ReviewBoard_Commit/FortiSwitchOS
 v3.00/svn-qdo28p' to 
'/home/devops/jenkins_slave/workspace/ReviewBoard/ReviewBoard_Commit/FortiSwitchOS
 v3.00/3.5': Is a directory

# What operating system are you using?
Ubuntu 14.04

# Attach the debug out from the command.

```
$ rbt patch --debug <args>
Debug log attached


# Please provide any additional information below.
When svn merge -c is used, when rbt post, it somehow knows it's a merge so rbt 
modifies the file path. For example, the diff from rbt post would look 
something like this:

Index: /ABC/branches/3.x/3.5/trunk/cooked/cert/802.1x.crt
===================================================================
--- /ABC/trunk/cooked/cert/802.1x.crt   (nonexistent)
+++ /ABC/branches/3.x/3.5/trunk/cooked/cert/802.1x.crt  (working copy)

Somehow rbt knows it's merge from trunk to 3.5 branch, so it modified the path 
in the diff. When I run rbt patch, then it will fail. 

Eventually I had to manually modify the diff file to the following for it to 
work:
Index: /ABC/branches/3.x/3.5/trunk/cooked/cert/802.1x.crt
===================================================================
--- /ABC/branches/3.x/3.5/trunk/cooked/cert/802.1x.crt  (nonexistent)
+++ /ABC/branches/3.x/3.5/trunk/cooked/cert/802.1x.crt  (working copy)

------------------------------------------------------------------------------

-- 
You received this message because you are subscribed to the Google Groups 
"reviewboard-issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard-issues+unsubscr...@googlegroups.com.
To post to this group, send email to reviewboard-issues@googlegroups.com.
Visit this group at https://groups.google.com/group/reviewboard-issues.
For more options, visit https://groups.google.com/d/optout.

Reply via email to