小编mar*_*usx的帖子

为什么git应用不在当前目录中找到要修补的文件?

我想将补丁应用于当前目录中的文件.补丁文件中的路径只显示/ FILETOPATCH.something b/FILETOPATCH.something.如果我使用它与git apply它不起作用.要修补的文件和.patch文件位于同一目录中.

我在许多变种中尝试了--directory和-p选项但没有成功.

使用补丁-p1 <patchfile.patch工作正常.

如果我从.patch文件中的存储库根目录设置一个绝对路径,那么它也可以使用git apply,但是必须有一种方法可以不编辑补丁fieles.

这将适用于git apply

diff --git a/htdocs/something/whatever/file.code b/htdocs/something/whatever/file.code
index 385f3f4..07d8062 100644
--- a/htdocs/something/whatever/file.code
+++ b/htdocs/something/whatever/file.code
...
PATCH DATA
...
Run Code Online (Sandbox Code Playgroud)

但不是这个(这是原作)

diff --git a/file.code b/file.code
index 385f3f4..07d8062 100644
--- a/file.code
+++ b/file.code
...
PATCH DATA
...
Run Code Online (Sandbox Code Playgroud)

任何想法如何让git应用工作而不更改补丁文件?

git patch apply

7
推荐指数
1
解决办法
3834
查看次数

perl文件上传不能初始化文件句柄

我尝试使用这个非常简单的脚本将文件上传到我的服务器.由于某种原因,它无法正常工作.我在apache错误日志中收到以下消息:


Use of uninitialized value in <HANDLE> at /opt/www/demo1/upload/image_upload_2.pl line 15.
readline() on unopened filehandle at /opt/www/demo1/upload/image_upload_2.pl line 15.
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/perl -w

use CGI;  

 $upload_dir = "/opt/www/demo1/upload/data"; 
 $query = new CGI; 
 $filename = $query->param("photo"); 
 $filename =~ s/.*[\/\\](.*)/$1/; 
 $upload_filehandle = $query->upload("photo"); 

 open UPLOADFILE, ">$upload_dir/$filename"; 
 binmode UPLOADFILE; 

 while ( <$upload_filehandle> ) 
 { 
   print UPLOADFILE; 
 } 

 close UPLOADFILE;

 1
Run Code Online (Sandbox Code Playgroud)

任何想法有什么不对吗?谢谢你

perl

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

标签 统计

apply ×1

git ×1

patch ×1

perl ×1