小编kri*_*mas的帖子

如果补丁跳过补丁,如何不中断makefile?

我想在Makefile中应用补丁。如果尚未应用修补程序,则此方法工作正常。但是,如果我尝试在对原始文件进行修补之后进行制作,则会导致制作文件在完成之前退出。

Makefile-

all:
        echo "starting patch"
        patch -N < patchfiles/foo.patch
        echo "patched"
Run Code Online (Sandbox Code Playgroud)

在文件已修补后尝试运行后的结果-

usr-mbp:makefile usr$ make
echo "starting patch"
starting patch
patch -N < patchfiles/foo.patch
patching file foo
Reversed (or previously applied) patch detected!  Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file foo.rej
make: *** [all] Error 1
Run Code Online (Sandbox Code Playgroud)

我认为使用-N选项只会跳过补丁,不会导致任何错误。显然我错了。关于如何修复Makefile以便不将跳过的补丁解释为错误的任何想法吗?

谢谢!

编辑:

如果我想在修补程序之前进入cd目录,则无法使用-patch。结果如下:

生成文件:

all:
        echo "starting..."
        cd tmp && \
                -patch -N < ../patchfiles/Makefile.linux-p3041-3_0.patch
        echo "finished."
Run Code Online (Sandbox Code Playgroud)

结果:

usr-mbp:makefile usr$ make
echo "starting..."
starting...
cd tmp …
Run Code Online (Sandbox Code Playgroud)

linux patch makefile

5
推荐指数
2
解决办法
2005
查看次数

git commit打开两个编辑器窗格而不是一个输入消息

当我运行git commit它时,打开2个vi编辑器窗格而不是一个.顶部窗格完全空白.底部窗格是我期望在运行时看到的git commit.每次我想提交时,我必须先关闭顶部窗格,:q然后才能编写提交消息.

以前有人见过这样的东西吗?解决办法是什么?

git vi commit

5
推荐指数
1
解决办法
525
查看次数

如何在 MATLAB 中读取制表符分隔的文本文件,该文件主要包含数字,但有时在少数单元格中包含单词 MAX?

我想使用 MATLAB 从制表符分隔的文本文件中读取一系列单元格。这个单元格范围应该是数字,但最近提供这些数字的软件在数字太大时用“MAX”一词代替了数字应在的位置。这意味着我现在查看的单元格范围包含一些表示 MAX 的字符串,其余的都是数值。

到目前为止,我一直在使用 dlmread 来读取这个范围的数值,并且运行良好。当存在 MAX 时,dlmread 不起作用。

这是我用来读取数据的代码:

data = dlmread(filename, '\t', 20, 5);
Run Code Online (Sandbox Code Playgroud)

这是错误:

Mismatch between file and format string.
Trouble reading number from file (row 152u, field 31u) ==> MAX
MAX MAX 552.397949  33.415199   7.425600    3.379600
6.6422090   \n
Run Code Online (Sandbox Code Playgroud)

有没有办法读取此文件而不将其转换为 .csv?我想读入该文件并将显示 MAX 的单元格更改为 1500 这样的数字。

matlab tab-delimited-text readfile

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

commit ×1

git ×1

linux ×1

makefile ×1

matlab ×1

patch ×1

readfile ×1

tab-delimited-text ×1

vi ×1