Is there any way to commit changes that I've m

2019-03-16 03:27发布

I just started working on some changes against trunk on an SVN repo, thinking they would be somewhat small. Now, I actually am beginning to realize that I probably should have just started a new branch instead. Rather than making a branch, and then moving each individual piece into it, is there any way to make a new branch and then commit the changes in my working copy to it?

标签: svn branch trunk
3条回答
虎瘦雄心在
2楼-- · 2019-03-16 03:58

You can directly branch the state of your working copy to a URL with the svn copy command. The created branch will include the local modifications.

Some gotchas:

  • you may get errors stating something like "File already exists". This is caused by a mismatch of base revisions in your working copy, more specifically between a file and its parent folder. One possible solution is to do a svn update before attempting to branch in this way.
  • after the svn copy, the working copy will be unchanged. It will still point to the trunk. It will also still show the local modifications in its status. You should first revert these modifications, whether you continue using the working copy as is or switch it to the new branch.
查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-03-16 04:15
  1. make a new branch from the place where you started developing
  2. switch to the newly created branch
  3. commit the local changes (will commit to the new branch)

DO NOT MAKE ANY CHECKOUT

I do it with svn 1.6.5, it works without trouble but if you are really paranoid you could do following:

  1. create a patch from current working copy
  2. create a branch
  3. switch to it
  4. apply the patch
  5. commit
查看更多
\"骚年 ilove
4楼-- · 2019-03-16 04:15

What about creating a patch from your current work with svn diff, then making a new branch, and applying the patch to the branch with patch -p0?

查看更多
登录 后发表回答