应用补丁不起作用 -- version-control 领域 drupal 相关 的问题

Applying a patch doesn't work


5
vote

问题

中文

我在应用耳机模块的补丁时遇到了麻烦。 我认为它像使用"git应用thepatch.patch一样简单" ,但是当我在保存.git目录的主目录中这样做时,我收到以下错误消息:

检查修补程序entity_translation.admin.incâ|
错误:entity_translation.admin.inc:没有这样的文件或目录

当我在文件所在的目录中这样做时,没有任何反应;没有显示错误,但没有更改文件。

这不是我对此特定修补程序的问题,但我似乎从未申请过补丁,我只是最终手动编辑文件。

我想知道解决方案一次和所有。

英文原文

I'm having trouble with applying a patch for a Drupal module. I thought it was as simple as using "git apply thepatch.patch," but when I do this in the main directory that holds the .git directory, I get the following error message:

Checking patch entity_translation.admin.incxe2x80xa6
error: entity_translation.admin.inc: No such file or directory

When I do this in the directory where the files are located, nothing happens; no error is shown, but no file is changed.

It's not a problem I have with this particular patch, but I never seem to be able to apply a patch, and I just end up manually editing the files.

I would like to know the solution once and for all.

  
 
 

回答列表

14
 
vote

在Drupal.org上的Git天之前,贴片可能会滚动。

旧修补程序:

  patch -p0 < thepatch.patch   

对于语义失败的新修补程序与 git apply

  patch -p1 < thepatch.patch   
 

It is possible that the patch was rolled before the days of Git on drupal.org.

For old patches:

patch -p0 < thepatch.patch 

For new patches that mysteriously fail with git apply:

patch -p1 < thepatch.patch 
 
 
3
 
vote

按照以下步骤操作:

  1. 下载补丁文件并将其放到模块文件夹IE。 sites/all/modules/varnish
  2. 确保您处于同一模块目录IE。 sites/all/modules/varnish
  3. 使用 git init 命令在该存储库上启动git,即使您在drupal root初始化了git。
  4. 运行命令 git apply -v filename.patch
 

Follow below steps:

  1. Download the patch file and place it to the module folder ie. sites/all/modules/varnish
  2. Make sure you are at the same module directory ie. sites/all/modules/varnish
  3. Use git init command to start git on that repository, even if you have git initialized at drupal root.
  4. Run command git apply -v filename.patch
 
 
2
 
vote

命令 git apply -v thepatch.patch 应该工作。

您需要在您正在修补的模块目录中运行(例如, 99887668 ), .patch 文件也应该在该目录中。 git apply0 选项是用于详细的,并应告诉您修补程序应用程序是否成功。

 

The command git apply -v thepatch.patch should work.

You will need to run in in the module directory which you are patching (eg. sites/all/modules/module_name/) and the .patch file should be in that directory as well. The -v option is for verbose and should tell you whether the patch application was successful.

 
 
   
   
2
 
vote

在Drupal.org上托管的每个项目给出的说明如下所示(您可以在上找到它们例如,此页面):

应用补丁

将修补程序下载到您的工作目录。使用以下命令应用补丁:

  git apply1  
为了避免意外地在将来的提交中包括补丁文件,删除它:
  git apply2  

工作目录是包含模块文件的目录;在视图模块的情况下,它是包含views.module,Views.info和视图的目录。您需要修补的文件。

 

The instructions given for each project hosted on Drupal.org are the following (you can find them on this page, for example):

Applying a patch

Download the patch to your working directory. Apply the patch with the following command:

git apply -v [patchname.patch] 

To avoid accidentally including the patch file in future commits, remove it:

rm  [patchname.patch] 

The working directory is the directory containing the module files; in the case of the Views module, it's the directory containing the views.module, views.info, and views.install files you need to patch.

 
 
2
 
vote

我有同样的问题,在我的情况下,以下为我工作。

贴片-p1&lt; thepatch.patch

 

I had the same issue, in my case, the following worked for me.

patch -p1 < thepatch.patch

 
 
 
 

相关问题

5  测试补丁是什么意思?  ( What does testing a patch mean ) 
在drupal.org问题中时有人创建补丁时,在附件表中,有一个名为测试结果的列,其中值为 FAILED: [[SimpleTest]]: [MySQL] 32,869 pass(es), 2 fail(s), and 0 exception(es). 和在操作中列到重新测试 的链接 重新测试是什么意思?以及Line...

0  如何快速将100个贡献的模块添加到git存储库中?  ( How to add 100 contributed modules into git repository fast ) 
我使用git存储库,并疏刷来管理Drupal项目。 现在我想做的是添加更多的100个贡献的模块到git存储库,也可以在这些模块上跟踪。 如果我被迫手动添加贡献的模块,我必须在以下步骤超过100次: drush dl <contributed module name> git add . git commit -m...

1  Cygwin补丁失败了  ( Cygwin patch fails ) 
我未能让我的第一个补丁实现。我加载了Cygwin,机动到目录,并输入补丁-p0&lt; ThePatchName .patch cygwin返回bash:patch:命令未找到 我搜索了cygwin / bin目录,并且有一个可执行文件用于pathk.exe,但不是patch.exe。我无法在Cygwin上找...

2  将模块带入项目中作为git子模块 - .info文件没有版本信息  ( Bringing modules into project as git submodules info file doesnt have versio ) 
我将模块添加到我的git启用的drupal项目中作为git子模块。事项似乎工作正常,除了我引入一个git子模块并使用我想要的版本,通过执行'git checkout 6.x-1.1',例如,生成的.info文件没有以下信息(使用从禅中取出这个例子): ; Information added by drupal.o...

0  如何将现有站点从SVN导入并合并到Git?  ( How to import and merge existing site from svn to git ) 
我正在使用已经使用Subversion的Subversion进行版本控制,并且我们希望SWTICH使用Git。似乎它会产生最有意义的克隆 drupal项目git respository 从 drupal.org ,结帐表示最接近现有站点的版本的分支,从该点创建一个新分支,然后某种方式合并现有svn存储库到该分支机构。...

0  如何保持同步git存储库和相关的htdocs目录?  ( How to keep in sync git repository and related htdocs directory ) 
我使用以下设置为我的 @dev 站点: (a)../ git /存储库/ dev 我将使用git保留版本控制, 和一个单独的 (b)../ htdocs / dev 我有一个几乎 http服务器使用的 git repositor (a)的精确副本 如何确保 git存储库(a)始终与 http (b)同步?...

8  如何设置Default.settings.php用于将其用于开发,测试和生产网站?  ( How do i set up default settings php to use it for development testing and prod ) 
我使用 dev , tst 和 prd 环境,为我的drupal 7站点设置。 我使用 git 版本控制。 我想消除一个手动步骤,我需要在从 dev 移动到 tst 和 tst 到时PRD 。 现在我必须单独更新settings.php for dev,tst和prd站点。 我想设置default.settings...

0  醉汉包装机 - 建议?  ( Drush package handler recommendations ) 
经过一天诅咒拒绝拒绝更新任何内容后,我终于发现了使用--package-handler = wget而不是= git_drupalorg允许一切顺利运行。我怀疑我的git设置仍然存在问题。 为什么要使用git_drupalorg作为包处理程序?我看到大多数示例在线使用它,但也许人们在默认它的基础上默认为带Git的版本...

2  通过远程服务器上的Git更新Drupal模块  ( Updating drupal modules via git on remote server ) 
这是我的Drupal工作流程,用于更新模块。 i更新我本地开发和测试的模块。 如果需要,通过润滑运行更新。 提交并推到github。 将远程服务器上的github中的这些新更新拉到实时站点。 通过毛发运行更新。 但是,我正在考虑制作一个"模块 - 更新" 分支,从本地开发推动它,将该分支拉到我的现场网站,并在...

0  为什么Git在Cygwin抱怨没有被发现的信息/ refs?  ( Why does git in cygwin complain about info refs not being found ) 
我正在学习用drupal使用git。我正在使用Cywgin(基于Windows的Linux命令行),并尝试遵循练习补丁。文档告诉我使用命令: git clone --branch master http://git.drupal.org/project/current_content.git 但是,我看起来...

9  如何使用本地模块代码“醉汉制作”模块?  ( How do i use drush make modules with a local module code ) 
我必须爱工作流"醉酒" 给我们。我相信还有其他人希望他们的开发代码要将其放入制作文件,而不是为Drupal.org提供准备好,例如,使用Bash脚本或从我从什么中快速部署一个新的开发测试实例在Aegir见过。 似乎可能适合此类的当前工作流程是利用您的开发代码的GIT存储库。但是,我的开发机器是Windows 7,我想...

2  Git Merge由递归制作?为什么我无法获取更新的填充模块? [关闭]  ( Git merge made by recursive why i cannot fetch the updated contrib module ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

2  使用Git子模块用于Drupal Core和Contrib的优点是什么?  ( Whats the advantage of using git submodules for drupal core and contrib ) 
我已经看到了一些关于设置Git存储库的一些问题/博客文章,其中包含Drupal Core和Control模块作为子模块,例如使用DVCS 设置理想的多个存储库DRUPAL网站版本控制。 从这种存储库设置的结果是什么? 很多人都说像"核心和模块更新真的很容易" 的事情,但是什么使得这种方法更容易/更好地拥有一个包含网站...

12  如何在代码驱动开发工作流程中平衡功能和安装配置文件?  ( How should i balance features and installation profile in a code driven developm ) 
Drupal安装配置文件(在Drupal 7)非常强大,可以对模块可以做的任何事情。我正在使用安装配置文件以及功能开发我的网站,保持代码中的所有内容,所以我没有版本我的数据库。 鉴于安装配置文件的强大功能,您可以在功能模块中完成的许多东西也可以在安装配置文件中完成。例如,创建内容类型,配置权限等。您应该如何决定在...

16  如何应用补丁文件? [关闭]  ( How do i apply a patch file ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

9  (DIS)使用'疏士rsync'vs'git'的分期开发的优点?  ( Disadvantages of staging dev production using drush rsync vs git ) 
我在git控制下设置了一个drupal网站进行开发工作。 它是一个主人,裸git repo,并且在我的各种项目工作git克隆中进行了更改,并推回主,更新后的挂钩立即将更改推向单个实时登台网站( http://staging.loc。)。没有特别的,按预期工作。 我还醉了aliased网站"@staging" 。在OC...

5  我如何增加一个dev分支?  ( How do i git pull a dev branch ) 
我正在尝试切换到dev版本的视图。存储库指令工作,我能够 git clone 视图。< / p> 但是,使用 git branch -a 列出可用的分支,仅显示 * 7.x-3.x 。 并尝试使用拉拉添加"dev" 分支返回错误: $ git pull origin 7.x-3.x From http://g...

3  跟踪定制修补程序到贡献模块的“正确”方式是什么?  ( What is the right way to track a custom patch to a contributed module ) 
我需要将此修补程序应用于我的网站: http://drupal.org/node/483176-6mment-5939648 跟踪这种变化的"右" 或"负责" 方式是什么?我们使用Git for Version Control。 ...

19  通过多个安装管理自定义模块  ( Manage custom modules across multiple installations ) 
我们有一些自定义模块用于多个站点。这些不能作为贡献的模块释放,例如因为它们是客户特定的,使假设不适用于贡献的模块等。 我知道以下几种可能性: 复制&amp;粘贴他们。显然很难将模块保持在所有安装上最新。 具有单个多站点安装,但这并不总是可能的。 使用git子模块,但它们可能是令人讨厌的,很容易忘记更新它们...

0  如何删除Git中的提交? [关闭]  ( How do i remove the commits in git ) 
关闭。这个问题是 off-topic 。它目前不接受答案。 想要改进这个问题? 更新问题所以它是 On-主题用于卸妆答案。 关闭 8年前。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.