从外部颠覆存储库下载并合并自己的代码
Download from external subversion repository and merge own code
我的 project "A"
在我自己的 svn 存储库中。我的 project A
需要对外部 project "B"
的引用。但是我需要修改project B
的代码。我无法将代码提交到 project B
,因为这不是我的项目。我想签出 project B
并将代码合并到 project B
.
到目前为止我尝试过的:
- 已将
project B
作为外部 link 添加到名为 B_source
的文件夹中。 (update命令下载外部代码,这一步有效)
- 我使用 windows 资源管理器将
B_source
的内容复制到名为 B_changes
的文件夹中,并应用了我需要的源代码更改。 (作品)
- 我已将
project B
检出到名为 B_patched
的文件夹中。 (作品)
- 在TortoiseSVN中右击
B_patched
,点击"merge",select "merge two different trees",设置"From: B_source"和"To: B_changes"和"Working Copy: B_patched".
- "Test merge" 显示消息 "svn/B_source path not found"。我猜是因为外部 link!?
我做错了什么?
合并是为了在同一个存储库中获取两棵树,然后将它们从同一个存储库合并到您的工作副本。然后您将该合并提交到存储库。
您正在尝试做的是将自定义更改应用到存储库,但无法提交这些更改。您不能使用 "merge" 命令执行此操作。
您正在寻找的可能是 vendor branch。供应商分支的想法是,您在 您的 存储库(称之为 "vendor")中保留一个项目,您只能通过从外部项目复制未修改的代码并提交这些代码来更新更新。你可以在任何你想要的地方创建该项目的一个分支(称之为 "patched"),在一个方便你进入你的构建的地方。您将任何自定义更改应用到此分支。当外部项目进行更新时,您将定期将这些更新复制到 "vendor"、提交,然后将 "vendor" 合并到 "patched" 并提交这些更改。
当您右键单击并从一个未版本控制的文件夹拖动到 您的 存储库中 您维持。在这种情况下,您不会使用 svn:exterals,您只需提交代码,其中大部分更改来自客户。
我的 project "A"
在我自己的 svn 存储库中。我的 project A
需要对外部 project "B"
的引用。但是我需要修改project B
的代码。我无法将代码提交到 project B
,因为这不是我的项目。我想签出 project B
并将代码合并到 project B
.
到目前为止我尝试过的:
- 已将
project B
作为外部 link 添加到名为B_source
的文件夹中。 (update命令下载外部代码,这一步有效) - 我使用 windows 资源管理器将
B_source
的内容复制到名为B_changes
的文件夹中,并应用了我需要的源代码更改。 (作品) - 我已将
project B
检出到名为B_patched
的文件夹中。 (作品) - 在TortoiseSVN中右击
B_patched
,点击"merge",select "merge two different trees",设置"From: B_source"和"To: B_changes"和"Working Copy: B_patched". - "Test merge" 显示消息 "svn/B_source path not found"。我猜是因为外部 link!?
我做错了什么?
合并是为了在同一个存储库中获取两棵树,然后将它们从同一个存储库合并到您的工作副本。然后您将该合并提交到存储库。
您正在尝试做的是将自定义更改应用到存储库,但无法提交这些更改。您不能使用 "merge" 命令执行此操作。
您正在寻找的可能是 vendor branch。供应商分支的想法是,您在 您的 存储库(称之为 "vendor")中保留一个项目,您只能通过从外部项目复制未修改的代码并提交这些代码来更新更新。你可以在任何你想要的地方创建该项目的一个分支(称之为 "patched"),在一个方便你进入你的构建的地方。您将任何自定义更改应用到此分支。当外部项目进行更新时,您将定期将这些更新复制到 "vendor"、提交,然后将 "vendor" 合并到 "patched" 并提交这些更改。
当您右键单击并从一个未版本控制的文件夹拖动到 您的 存储库中 您维持。在这种情况下,您不会使用 svn:exterals,您只需提交代码,其中大部分更改来自客户。