【问题标题】:Perforce and EmacsPerforce 和 Emacs
【发布时间】:2010-08-25 10:21:00
【问题描述】:

我正在寻找设置 emacs 以允许我使用 perforce 而不必使用 p4v。

我查看了emacs wiki 并在site 上进行了搜索,但似乎只有两个选项 - 两个选项都相当老了。第一个选项是p4.el,最后一次更新是在 2004 年。第二个选项是 the integration,带有 emacs VC 组件,最后一次更新是在 2007 年 8 月。

上面来自SO 的第二个链接似乎建议使用p4.el。这仍然是推荐的建议吗?有没有人可以分享任何提示或技巧?

非常感谢任何帮助\建议。

克里斯

【问题讨论】:

  • 有趣的是你应该提一下——我现在遇到的另一个问题是我似乎无法让 git-p4 工作!这真的很烦人,因为如果我启动并运行它,我可能会绕过大多数 perforce 交互。

标签: version-control emacs perforce


【解决方案1】:

是的,p4.el 仍然是一种将 perforce 集成到 emacs 中的推荐方式。它实施得很好,这解释了为什么它自 2004 年以来就没有更新。

我自定义了一些东西,主要是为了添加和禁用一些快捷方式。

我还添加了从 emacs 调用一些 p4v 命令的可能性

(defun invoke-p4v-cmd (cmd)
  (let ((file (if (equal major-mode 'dired-mode)
                  (dired-get-file-for-visit)
                (buffer-file-name))))
    (when file
      (shell-command (concat "\"c:/Program Files/Perforce/p4v.exe\" -cmd \"" cmd " " file "\" &")))))

(defun op:p4v-timelapse ()
  "show revision tree"
  (interactive)
  (invoke-p4v-cmd "annotate"))

(define-key p4-prefix-map "T" 'op:p4v-timelapse)


(defun op:p4v-tree ()
  "show revision tree"
  (interactive)
  (invoke-p4v-cmd "tree"))

(define-key p4-prefix-map "g" 'op:p4v-tree)

(defun op:p4v-history ()
  "Show history"
  (interactive)
  (invoke-p4v-cmd "history"))

(define-key p4-prefix-map "x" 'op:p4v-history)

【讨论】:

  • 感谢您的回答。只是出于兴趣,我假设不支持在 p4.el 中存储(存储在之后)?
  • 我还是 Perforce 的新手,但似乎 p4 shelve 类似于 git stash。可以基于 p4.el 轻松实现一个 p4-shelve emacs 函数
  • CVS 从 10.6 版开始做了一些工作;请参阅 p4el.cvs.sourceforge.net/viewvc/p4el/p4> 了解未发布的 10.7 版本(尽管我不知道它有多稳定)。
【解决方案2】:

我已经在https://github.com/gareth-rees/p4.el 开始了p4.el 的新分支,如果您是一个勇敢的 Emacs 用户并且不介意偶尔出现的错误,您可能想试一试。 (向我发送带有错误修复的拉取请求!)我一直致力于在 Perforce 服务器可能间歇性可用的情况下(例如通过移动数据连接工作时)的响应能力。特别是,我将大部分用户操作设为异步,因此很少会阻塞等待 Perforce 服务器响应的工作。

我还添加了对新 Perforce 功能(如 p4 statusp4 annotate)的支持、修复错误和更新代码。 Here's a blog about what I've achieved so far.

【讨论】:

  • 我加入了,很高兴看到cygwin 支持:)
  • @MiserableVariable:我自己不使用 Cygwin Perforce,所以它很容易被破坏(或者我本可以破坏它)。错误报告和补丁将不胜感激!
  • +1 非常感谢 sourceforge 上的旧 p4.el 不适用于 emacs-24(加载时挂起),到目前为止,您的似乎工作正常!
  • 现在才回到这个问题 - 这听起来很棒 Gareth,我一定会检查一下。
  • 与 Emacs 24.5.1 完美配合
猜你喜欢
  • 2011-05-05
  • 2010-09-12
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-12
  • 1970-01-01
相关资源
最近更新 更多