在svn分支机构和审查委员会上张贴标签之间的差异

在svn分支机构和审查委员会上张贴标签之间的差异,svn,review-board,Svn,Review Board,我想向评审委员会发布SVN差异;在分支头和基本标记之间生成差异 我使用此命令生成diff文件: svn diff https:/path/to/branch/head https:/path/to/tag 注意 我尝试使用rbt diff-revision1:revision2命令生成差异。我遇到一个问题,即审查委员会只接受分支提交中的修订范围(不接受来自标记的修订) 我尝试使用svn diff命令进行diff,然后使用rbt post--diff filename上传文件,但命令返回错误,需

我想向评审委员会发布SVN差异;在分支头和基本标记之间生成差异

我使用此命令生成diff文件:

svn diff https:/path/to/branch/head https:/path/to/tag

注意

  • 我尝试使用
    rbt diff-revision1:revision2
    命令生成差异。我遇到一个问题,即审查委员会只接受分支提交中的修订范围(不接受来自标记的修订)

  • 我尝试使用
    svn diff
    命令进行diff,然后使用
    rbt post--diff filename
    上传文件,但命令返回错误,需要基本目录;我使用
    rbt post--basedir https:/path/to/root
    将base dir添加为root;审查委员会接受但在网页上显示差异,如
    https:/path/to/root/branchs/featureName/path/to/changed/files
    https:/path/to/root/path/to/changed/files
    之间的差异,而不显示分支和标签之间的差异,如
    https:/path/to/root/tag/path/to/changed/files


有什么方法可以做这样的工作吗?

您可以使用
post
命令发布这样的差异

比如说,您的Subversion存储库在review board上注册了以下URL:

http://svn.example.org/foo/base/group
(其中,
foo
是噪声,
base
是存储库的基础)

那么让我们假设我们有两个标签

http://svn.example.org/foo/base/group/module/tag/abc1
http://svn.example.org/foo/base/group/module/tag/abc2
其中
abc2
基于
abc1
,并引入了一些更改

要为这些更改创建审阅请求,首先,我们要与Subversion进行区分:

base=http://svn.example.org/foo/base/group
svn diff $base/module/tag/abc1 $base/module/tag/abc2 \
  > --patch-compatible > change_xyz.diff
我们可以使用
rbt post
发布差异,但为此,我们需要一个Subversion工作目录。一个空的就足够了:

svn co --depth=empty $base
cd group
rbt
命令需要一些配置,为了简化操作,用户名/密码也可以存储在运行控制文件中,例如:

cat > .reviewboardrc <<EOF
REVIEWBOARD_URL = 'http://reviewboard.example.org/'
REPOSITORY = 'somerepo'
PASSWORD = 'einsfueralles'
USERNAME = 'juser'
EOF
如果一切正常,
rbt
将差异和引用的文件上载到新草稿并打印新URL,例如:

http://reviewboard.example.org/r/23/
http://reviewboard.example.org/r/23/diff/

然后可以编辑草稿,并最终通过web UI发布。
rbt post
命令还有几个选项可用于添加附加数据(例如
--摘要
--说明
)和/或直接发布数据(参见
--发布
)。

您是否能够使用SVN diff生成所需的差异文件?我想你唯一的问题就是上传到审查委员会,是吗?是的,我能够使用SVN diff生成diff文件。尝试将diff文件上载到审查委员会时,出现了错误消息错误消息示例:/path/to/folder/branchs/development/feature/branchs/development/feature/path/to/file.py:在存储库中找不到该文件。(HTTP 400,API错误207)正如您所见,审查委员会重复了两次分支的路径,这是不正确的;它应该有一个类似于/path/to/folder/branchs/development/feature/path/to/file.py的路径SVN diff文件和审查板解析之间存在问题;我不知道,谢谢@SukuvaCan您尝试从存储库的根目录而不是单个文件生成差异?根目录应该与你的审查委员会基本URL相同。有一件事你必须确保的是存储库顶部和差异生成路径之间的“基本路径”。我希望在编辑它之后票证更清晰。我已经做了你上面所说的,但问题在于审查板中的URL预览,我可以看到如下所示的URL:[这是第一个基本部分(差异预览的右侧)[如您所见,差异预览中左侧的URL没有完整的URL@MuhammadYusuf如前所述,我的答案仅适用于最后一个组件不同的SVN URL,如
http://example.org/foo/tag/abc1
http://example.org/foo/tag/abc2
http://reviewboard.example.org/r/23/
http://reviewboard.example.org/r/23/diff/