Microsoft发布到社区的操作系统(通常是基于安全性的)修补程序和修补程序通常由我理解的一系列更新的DLL或其他二进制文件组成.
Microsoft和其他类似公司如何确保这些修补程序不会相互冲突?他们是否总是采用累积修补程序方法,其中单个修补程序将包含以前修补程序中的所有修补程序?这并不似乎是这种情况,因为许多修补程序似乎集中在固定的具体问题.如果它们是重点修补程序,它们如何防止一个修补程序丢弃另一个修补程序(例如,彼此安装不兼容的DLL).
我一直钦佩微软管理这个过程的能力.我工作的公司要小得多,而且几年前我在修补程序上工作时,我们总是采用累积方法,其中一个补丁立即取代所有先前基于该版本的补丁.这意味着补丁的大小逐渐变大,直到下一个"官方"版本发布.
管理补丁依赖项有哪些好的做法?
有没有办法扭转xdelta补丁?
例如:
A - 文件版本1.
B - 文件的第2版.
P - 补丁.
文件B我们可以通过将补丁P应用到文件A
来更新.如果我有文件B和补丁P,是否有更新文件A的方法?
我们的构建/部署过程非常繁琐,手动充足且容易出错.你能提出改进建议吗?
让我来描述一下我们的部署策略和构建过程.我们正在开发名为Application Server(简称AS)的系统.它本质上是托管在JBoss Web服务器上的基于servlet的Web应用程序.AS可以安装在两个"环境"中.每个环境都是一个包含webapp代码的目录.此目录位于网络存储上.存储安装到安装了JBoss实例的多个生产服务器.目录链接到JBoss的webapps目录.因此,所有JBoss实例都使用相同的环境代码.JBoss的配置与环境分开,并且基于每个实例进行更新.
所以我们有两种类型的补丁:webapp补丁(针对不同的环境)和配置补丁(针对每个实例配置)
补丁是一个可执行文件.实际上它是带有嵌入式二进制rpm包的bash脚本.安装非常简单:您只需执行文件并可选择回答一些问题.重要的一点是补丁不是一个整体系统 - 它只包含一些带有修改和/或修改配置文件的脚本的类.将类复制到WEB-INF/classes中(AS部署为展开的目录).
我们构建这些方案的方式是:
此外,我对有关补丁准备和部署实践的任何参考感兴趣,最好是对Java应用程序.我没有成功用Google搜索.
我的雇主让我在一个具有非常特定UI要求的Android应用程序上工作.具体来说,我们需要一个看起来与TabWidget接口完全相同的界面.但是,左侧的标签是绝对必须的.我们不打算将此应用程序部署到任何Android手机,它用于内部设备,因此没有任何问题违反Android平台可能具有的任何设计考虑因素.
我们已经有了一个工作原型,它使用焦点监听器和列表视图的组合来破解我们需要的功能.它不漂亮,我们对它还不是很有信心,但它暂时有用.
我们真正喜欢的是抛弃我们的所有原型UI代码,以换取使用内置的TabWidget.但是,由于TabWidget硬编码仅适用于顶部的选项卡,因此这不是一个真正的选项.
那么,我们希望有人在那里有一个补丁,或一组补丁,或者可能是一个自定义类,用侧面的选项卡处理TabWidget功能呢?
TabWidget的相关代码位于:http://www.google.com/codesearch/p? hl = en#uX1GffpyOZk/core/java/android/widget/TabWidget.java&q = android%20package:git:adminand .git.kernel.org%20lang:JAVA%20tabwidget&SA = N和CD = 1&CT = RC
以及在顶部显示标签的硬编码的特定功能是
private void initTabWidget() {
setOrientation(LinearLayout.HORIZONTAL);
mGroupFlags |= FLAG_USE_CHILD_DRAWING_ORDER;
final Context context = mContext;
final Resources resources = context.getResources();
if (context.getApplicationInfo().targetSdkVersion <= Build.VERSION_CODES.DONUT) {
// Donut apps get old color scheme
if (mLeftStrip == null) {
mLeftStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_left_v4);
}
if (mRightStrip == null) {
mRightStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_right_v4);
}
} else {
// Use modern color scheme for …Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法可以将常规(统一)差异补丁重新格式化为git格式的补丁?我想做的是,带一个定期发送给我的补丁并用git应用它,添加作者信息 - 好像它是一个git格式的补丁.
我真的不想开始手动重写补丁,所以我想知道是否有一个git命令,我还没有发现这样做.
这似乎是其他人之前必须拥有的问题......
谢谢!
我正在寻找一个适用于Windows的优秀GUI修补程序实用程序-这是我将发送给以前没有使用过修补程序的人的工具,因此易用性很重要。我知道WinMerge可以生成补丁,但不能应用它们。Windows是否存在这样的GUI实用程序?
PS-我考虑过将此内容发布给超级用户,但是由于diff / patch主要是编程工具,因此我认为它更适合于此。如果没有其他共识,我将投票决定自己迁移。
我下载了2.4.20内核源代码和ppc补丁,并一直在尝试将补丁应用于源代码.我将2.4.20源目录和补丁文件放在同一个目录中,命令是
$patch -p1 {path/to/patch/file}..but提示符挂起.
我想在可执行文件的版本信息中更改构建号(VersionLS的低位).所以,我应该阅读VS_VERSIONINFO结构,更改内部版本号,然后将其更新回PE.
我正在使用此代码作为基础:https://stackoverflow.com/a/7999813/1970843.此代码非常适合更改VS_FIXEDFILEINFO数据,但它不会更改(也不访问)StringFileInfo信息.
我很确定我应该在VERSIONHEADER打包记录中包含一些内容来添加VS_VERSIONINFO的Children条目,但我不知道具体如何做到这一点.这是我到目前为止:
type
StringStruc = Packed Record
wLength: Word;
wValueLength: Word;
wType: Word;
//szKey: ?;
//Value: ?;
End;
StringTable = Packed Record
wLength: Word;
wValueLength: Word;
wType: Word;
szKey: Array[0..8] Of WideChar;
Children: StringStruc;
End;
StringFileInfo = Packed Record
wLength: Word;
wValueLength: Word;
wType: Word;
szKey: Array[0..14] Of WideChar; // 'STRINGFILEINFO'
Children: StringTable;
End;
VERSIONHEADER = Packed Record
wLength: Word;
wValueLength: Word;
wType: Word;
szKey: Array[0..16] Of WideChar; // …Run Code Online (Sandbox Code Playgroud) 我是Android开发的新手,我刚刚为我的免费应用程序发布了付费的pro解锁器.
我在2天前发布它,在它上线的12小时内我用谷歌搜索我的应用程序和theres至少8个网站列出我的免费应用程序,但修补所以应该锁定在免费的所有付费功能都解锁.他们基本上复制了我的整个商店列表描述,略微改变了措辞,并将几个镜像发布到修补后的apk.
反正有没有避免这个?
由于这些被如此快速地发布,它让我相信它是自动完成的.使用什么工具,我在哪里可以得到它?我可以做什么编码来阻止修补它的能力?谷歌开发者控制台中有哪些地方可以报告盗版博客/网站?
付费应用是正常的吗?谢谢!
我想在Linux上添加rt补丁,我拿了3.18.9内核和3.18.9-rt4补丁.我将patch-3.18.9-rt4.tar.gz复制到Linux内核文件夹中.现在我执行了zcat补丁-3.18.9-rt4.tar.gz | patch -p1执行此命令后,它要求修补文件,如下所示
|--- a/arch/sparc/Kconfig
|+++ b/arch/sparc/Kconfig
--------------------------
File to patch:
Run Code Online (Sandbox Code Playgroud)
我想一次性添加所有补丁,我该如何实现?