如果我们需要发布一个不包含已提交的当前开发的bug补丁,或者当前版本的任何更改,那么应该采取哪些措施来使流程更安全且开销更低?
我们目前正在一个主要在Visual Studio 2008中开发的小型(3个开发人员)团队中使用Subversion作为源代码控制.我们预计该团队可能会在明年分组给8个开发人员,并且对于任何以前的版本支持变得更加复杂.虽然大多数客户都在当前版本中,但有些客户却落后了.
我想使用Mercurial捕获对我们使用的软件的vanilla安装所做的更改.每次我们升级软件时,我们都需要手动编辑各种配置文件,并添加我们在当前版本软件中使用的第三方库.为配置文件更改创建补丁很好,但如何将第三方库(二进制文件)添加到Mercurial补丁?它甚至可能吗?
例如,如果我有两个文件:
文件1:
This is file 1
Run Code Online (Sandbox Code Playgroud)
和file2:
This is file 2
Run Code Online (Sandbox Code Playgroud)
并使用以下命令创建补丁:
diff -u file1 file2 > files.patch
Run Code Online (Sandbox Code Playgroud)
结果是:
--- file1 Fri Aug 13 17:53:28 2010
+++ file2 Fri Aug 13 17:53:38 2010
@@ -1,1 +1,1 @@
-This is file 1
+This is file 2
Run Code Online (Sandbox Code Playgroud)
然后,如果我尝试在Solaris上使用patch命令应用此补丁:
patch -u -i files.patch
Run Code Online (Sandbox Code Playgroud)
它挂在:
Looks like a unified context diff.
File to patch:
Run Code Online (Sandbox Code Playgroud)
1.有没有办法将Solaris 本机补丁命令与统一差异一起使用?
2.如果无法应用统一格式,哪种差异格式被认为是最便携的?
更新:
我在问题的第一部分找到了答案.patch如果第二个文件(在这种情况下为file2)与第一个文件(file1)存在于同一文件夹中,那么Solaris上似乎会挂起.例如,以下相当常见的差异:
--- a/src/file.src Sat Aug 14 23:07:29 2010
+++ b/src/file.src Sat Aug 14 …Run Code Online (Sandbox Code Playgroud) 我正从一个存储库移动到另一个存储库,需要移植一些更改.目录结构大致相同,但文件不完全相同.
我使用'git format-patch'和'git am'或'git apply'来移植这些更改.当它工作时,生活是美好的,但当它由于一些微小的变化或文件丢失而失败时,什么也没有应用.
我可以使用--exclude过滤文件,但我真正想要的是它尽可能多地应用并告诉我哪里有冲突/失败.
我也愿意接受应用补丁或其他类似的选项.
hg mq插件的目的是能够对您的存储库进行完美的提交,而不是混淆您通过代码在您心不在焉的ADHD引起的漫游中所做的更改;
例如....
当我注意到bug y并开始研究bug时,我正在研究bug x.此时,您应该在修补程序队列中创建一个新修补程序,以便在将更改hg qfinish提交到存储库时不要混淆这些更改.
现在假设您忘记制作新补丁并在此过程中hg qrefresh.然后意识到你的错误,你希望将那个补丁的变化分成两个补丁.
我意识到它与编辑队列中的补丁文件(和新的补丁文件)有关,可以将更改分成单独的补丁和以后的提交.但是,我还不熟练编辑diff补丁文件.
我在哪里可以了解到这一点?怎么会这样呢?
从另一个实例上的一个TFS实例应用特定变更集的更改的最简单方法是什么?
我想要的是从实例A获取某些我可以应用于实例B的补丁文件.由于有两个不同的实例,因此不能使用传统的分支/合并方法.据我所知,TFS在传统Unix意义上对补丁文件的支持很少.
我是否真的需要检查实例A上的变更集并手动压缩相关文件,然后我可以将其提取到实例B的源代码树中?
在应用Magento PATCH for Php 5.4最新版本时,任何人都会遇到此错误
$ sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh
Run Code Online (Sandbox Code Playgroud)
我也试过这个指令,但它对我不起作用:
PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: 14: PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: 127: not found
PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: 14: PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: 127: not found
PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: 25: PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: 0: not found
Checking if patch can be applied/reverted successfully...
-e ERROR: Patch can't be applied/reverted successfully.
patching file app/code/core/Mage/Catalog/Model/Product.php
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file app/code/core/Mage/Catalog/Model/Product.php.rej
patching file app/code/core/Mage/Core/Controller/Varien/Router/Standard.php
Reversed (or previously applied) patch detected! …Run Code Online (Sandbox Code Playgroud) 这一定不是那么难,我在xampp for Windows上安装了Magento CE 1.9.它运作良好.我需要应用仅作为.sh文件的安全补丁,没有其他格式可用.我有文件,如何应用它给我在这种环境下找不到执行.sh文件的方法?谢谢大家
|-- my_module
| |-- __init__.py
| |-- function.py
`-- test.py
Run Code Online (Sandbox Code Playgroud)
在function.py中:
import other_function
def function():
doStuff()
other_function()
return
Run Code Online (Sandbox Code Playgroud)
在__init__.py中
from .function import function
Run Code Online (Sandbox Code Playgroud)
在我的test.py中
from django.test import TestCase
from mock import patch
from my_module import function
class Test(TestCase):
@patch('my_module.function.other_function')
def function_test(self, mock_other_function):
function()
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了AttributeError:
<@任务:项目:0x7fed6b4fc198的my_module.function.function>没有属性'other_function'
这意味着我正在尝试修补功能“功能”而不是模块“功能”。我不知道该如何修补我要修补的模块。
我也想避免重命名我的模块或函数。
有任何想法吗?
[编辑]您可以在https://github.com/vthorey/example_mock run上找到一个示例
python manage.py test
Run Code Online (Sandbox Code Playgroud) 我尝试修补Signature Field Drupal模块。
我遵循了本教程(https://groups.drupal.org/node/518975),但没有任何改变。
我尝试的是:
1次: composer require cweagans/composer-patches
2-编辑 composer.json
"extra": {
"installer-paths": {
...
},
"patches": {
"drupal/signature_field": { //here my module is signature_field
"Drupal Signature Field fix multi feilds": "https://www.drupal.org/files/issues/2019-02-21/signature_field-2993223-08.patch"
}
}
}
Run Code Online (Sandbox Code Playgroud)
3运行 composer install
问题:我运行composer install但安装或更新了所有软件包,但模块上没有任何更改。怎么了?