我正在改变我的笔记本电脑.它还没有准备好提交到存储库,但我也想继续在我的桌面上工作.我的更改集非常大,不仅包含修改,还包含新文件和已删除的文件.
我可以将完整的本地工作副本复制到另一台机器上并进行更改.然而,这听起来像一个肮脏的解决方案(因为我在另一台机器上污染元数据),而且我也在不必要地转移构建工件.
我试图转移.patch使用TortoiseSVN文件,但它一直在抱怨"补丁属于较旧版本"(不正确的,为什么你关心吗?)或"行不匹配"(是的,他们不这样做,因为我改变了他们).我根本不喜欢"连续错误弹出"体验.
我不想安装Cygwin,所以命令行补丁是不可能的.
我想最后的选择会派生一个新的分支使用此功能,进入"登入/更新"的循环.然而,这些在trac历史中显示出在那里产生污染.
有更好的想法吗?或者我遗失的任何东西?
您是否尝试过创建新分支并使用svn开关.如果从初始工作版本分支,它会将您转移到存储库的不同部分并维护您的更改.
至于替代方法,您可以在混合中添加GIT.GIT的分布式源代码控制模型允许您在桌面和笔记本电脑之间来回推送变更集.由于GIT在本地文件系统上管理其变更集信息,因此您在任何一方进行的提交都不会出现在您的TRAC系统正在监控的流中.
因此,您基本上可以"使用subversion离线"并使用GIT提交完成您的工作.完成后,检查整个套件和kaboodle到您的颠覆主干.
功能分支在Subversion中是轻量级的,非常适合像这样的特定功能.如果您使用的是subversion 1.5或更高版本,则整个同步和合并过程比使用1.4更容易.
分支是一个干净的解决方案.并且还有一个额外的好处,就是在您进行这一巨大变化时为您提供备份.更不用说,轻松同步机器之间的未来变化.
但是,你也许可以逃脱刚刚拉上了整个工作目录,并在另一台机器上的某个地方倾倒.