如何在没有死亡的情况下扭转合并对极化分支的影响?
这个问题困扰了我好几个月,我终于放弃了.
您有1个存储库,有2个 命名分支.A和B.
A发生的变化将不可避免地发生在B.
B上直接发生的变化绝不会发生在A上.
在这样的配置中,将"B"合并为"A"会在存储库中产生可怕的问题,因为对B的所有更改都出现在A中,就好像它们是在A中制作的一样.
从这种情况中恢复的唯一"正常"方式似乎是"退出"合并,即:
hg up -r A
hg backout -r BadMergeRev --parent BadMergerevBeforeOnA
Run Code Online (Sandbox Code Playgroud)
这看起来很好,花花公子,直到你决定稍后在正确的方向合并,你最终会发生各种令人讨厌的事情,特别是分支B上删除/注释掉的代码突然变得没有注意或没有注释.
到目前为止,还没有一个可行的解决方案,除了"让它做它的事情,然后解决所有的问题",说实话有点fubar.
这是澄清问题的图像:
[原始图像丢失]
文件C&E(或更改C&E)必须仅出现在分支b上,而不是出现在分支a上.这里的版本A9(分支a,revno 9)是问题的开始.
修订版A10和A11是"退出合并"和"合并退出"阶段.
并且修订版B12是多变的,错误地反复删除了意图不被删除的更改.
这种困境引起了很多挫折和蓝烟,我想结束它.
尝试禁止反向合并可能是一个明显的答案,无论是使用钩子还是使用策略,我发现这种情况相当高并且发生这种情况的可能性很大,即使采取了对策,你仍然必须假设它不可避免地会发生,以便你可以解决它.
在模型中我使用了Seperate文件.这些使问题听起来很简单.这些只是代表任意变化,可能是一个单独的路线.
此外,为了增加对伤害的侮辱,在分支A上发生了实质性的变化,留下了常见的问题"分支A的变化与分支B的变化发生冲突,分支B刚刚出现(并且退出)看起来像一个变化在分支A而不是"
所有这些追溯活动解决方案的问题如下:
(我承认,上面的许多内容都有些愚蠢,但它们超出了我的控制范围).
唯一可行的解决方案是假设人们能够并且将会做错事,并且有一种方法可以"消除"这种错误.
我有一些我在ProjectA中创建的UserControl.我有一个ProjectB,它有一个我想要控件的窗体.这两个项目都在一个解决方案中.从ProjectB引用了ProjectA,因此它可以"看到"UserControls.
但是,UserControls不会显示在工具箱中,以便我拖动到Windows窗体.
我试过重建.我还删除了'bin'目录以强制重建所有.
如何让VS2008用我的UserControls填充工具箱?
因为我已经制作了.cpp文件然后将它们转换成.h文件,我能找到的唯一区别就是你不能#include .cpp文件.我错过了什么区别?
当我使用VS2008编译应用程序时,我有时会得到2个相同的配置文件:
后者是什么?
如何在visual studio 2008中为我的C++应用程序设置可执行图标?
有没有办法在Postgresql中选择未锁定的行?我有一个多线程应用程序将执行:
Select... order by id desc limit 1 for update
Run Code Online (Sandbox Code Playgroud)
在桌子上.
如果多个线程运行此查询,它们都会尝试拉回同一行.
一个获取行锁,另一个获取然后在第一个更新行后失败.我真正喜欢的是第二个线程获取匹配该WHERE子句的第一行并且尚未锁定.
为了澄清,我希望每个线程在执行select之后立即更新第一个可用行.
因此,如果有行ID: 1,2,3,4,第一个线程将进入,选择行ID=4并立即更新它.
如果在该事务期间第二个线程出现,我希望它能获得行ID=3并立即更新该行.
对于Share,也不会完成此操作,nowait因为该WHERE子句将与锁定的行匹配(ID=4 in my example).基本上我喜欢的是这个WHERE条款中的"并没有锁定" .
Users
-----------------------------------------
ID | Name | flags
-----------------------------------------
1 | bob | 0
2 | fred | 1
3 | tom | 0
4 | ed | 0
Run Code Online (Sandbox Code Playgroud)
如果查询是" Select ID from users where flags = 0 order by ID desc limit …
我正在尝试将Web引用添加到VS2008 .Net 3.5控制台应用程序,但该选项不存在.有"添加参考"和"添加服务参考"的选项.
我有一个不寻常的问题.我一直能够将文件和文件夹从我的桌面或资源管理器拖到visual studio中的解决方案资源管理器中,并将文件添加到我的项目中.不,当我尝试拖动文件时,我只是得到"停止"符号.
我正在使用在Vista Home Premium 64位上运行的Visual Studio 2008.
有任何想法吗?
我刚刚意识到Office 2007现在默认显示多个页面.我终于可以利用我买的那台巨大的显示器了.
Visual Studio有类似的功能吗?
像"查看 - >两页"之类的东西
我在Visual Studio 2005下编译了许多本机C++库(Win32,没有MFC),并在许多解决方案中使用.
我希望能够选择编译并将它们链接为静态库或DLL,具体取决于我正在使用它们的特定解决方案的需求.
最好的方法是什么?我考虑过这些方法:
编辑:如果有人建议,我也尝试了一个更"聪明"的#3版本,其中我定义了一个包含名为"ModuleConfigurationType"的UserMacro的.vsprops,其值为"2"(DLL)或" 4"(静态库),并更改了.vcproj中的配置ConfigurationType="$(ModuleConfigurationType)".Visual Studio以静默方式无需警告即可删除该属性并替换为该属性ConfigurationType="1".太有帮助了!
我错过了更好的解决方案吗?
c++ winapi visual-studio-2005 projects-and-solutions vsprops