- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有没有办法用多个转换一个darcs项目分支(即,两个以上的 darcs 存储库包含不同但相关的补丁集)到单个 git 存储库,以便每个darcs 存储库被转移到 git 存储库中的不同分支?
考虑的解决方案:
(1) darcs convert 命令提供了两个将 darc 导出到 git 的方法:
一个。一次性导出:
$ cd repo
$ git init ../mirror
$ darcs convert export | (cd ../mirror && git fast-import)
这只会转换一个 repo,一个分支。
使用 marksfiles 的增量导出(维护一个 git 镜像darcs 存储库):
$ cd repo
$ git init ../mirror
$ touch ../mirror/git.marks
$ darcs convert export --read-marks darcs.marks --write-marks darcs.marks |
(cd ../mirror &&
git fast-import --import-marks=git.marks --export-marks=git.marks)
使用 (b),如果我只有一个其他 darcs repo 作为一个分支,我可能希望继续
$ cd ../mirror
$ git branch branch1
$ git checkout branch1
$ cd ../repo
$ darcs pull ../repo-branch1
然后重复darcs convert export
步骤。
但是对于其他两个分支,这似乎不太可能起作用,因为 pull ../repo-branch2 会将补丁 merge 在一起分支 1 和分支 2。
(2) 达克斯桥 [2]。不完整,自 2013 年以来未维护,并且“仍命名为 darcs-fast-convert”,仅推荐一次性使用双向转换(darcs->git 或 git->darcs)
darcs-bridge 页面本身 [2]建议使用 darcs 2.10 中内置的“darcs convert”命令。
但是,它可以处理分支(需要一些工作):
参见 [2] 中的用例 2:
$ git init my_project_git
$ darcs-fastconvert export myproject myproject-branch1 |
(cd my_project_git && git fast-import && git checkout master)
这将创建具有两个分支的 git 存储库:(darcs) myproject -> (git) master(darcs) myproject-branch1 -> (git) myproject-branch1具有共同的前缀,但未检测到 merge 。
[2] 中的用例 5 描述了一种更改分支列表的方法darcs-bridge 正在管理。
“有什么限制?”和“什么需要工作?”在 [2] 中似乎在说(我很难理解)darcs merge 未正确转换除非使用特殊标记——标记必须在 merge ,所以我现在不可能这样做了。
(3) darcs-fastconvert(darcs-bridge 的基础):根据[2],没有管理多个分支
(4) darcs-to-git:acc。 to [2], 不支持分支
(5) darcs2git:符合。 to [2], 不支持分支
(6) 裁缝:acc.到[2],不支持轻松分支,已停产以支持 darcs-fastconvert
引用资料:
[1] Darcs-转换:http://darcs.net/Using/Convert )
[2] Darcs-Bridge:http://darcs.net/DarcsBridgeUsage )
最佳答案
通过修改目标分支的简单脚本,将 darcs convert export
的 git-fast-import 格式输出通过管道传输。在大多数情况下,您可以这样做:
darcs 转换导出 | sed 's#^commit refs/heads/master$#commit refs/head/your-branch#' | (cd ../mirror && git fast-import)
如果您担心您的文件或其他 repo 数据可能包含确切的字节串
\n提交 refs/heads/master\n
某处,然后您的分支更改脚本将需要查找 data
命令并将它们原样传递。这也不太难 - 请参阅 git fast-import man page有关 data
命令格式的详细信息 - 但随后您需要用您最喜欢的编程语言编写一个简单的程序。
关于git - 将 darcs repos 转换为具有多个分支的 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355325/
我的意思是我需要通过某个数字或字符串来识别一组应用的补丁,以快速检查我是否与其他人拥有相同的代码版本,而无需任何同步。 是否有一些内置的 darcs 解决方案? 最佳答案 这没有简短的标识符 - 这是
我有几个不同的 darcs 存储库,我想编写一个脚本来在一天结束时自动推送这些存储库中的更改。我读于 this thread编写 darcs 脚本的“正确”方法是使用库。但这里http://darcs
我在工作中使用 darcs 已经一年多了,但我一直在问自己同样的问题: 跟踪导致两个补丁之间依赖的代码行/文件/代码更改的最佳方法是什么?目前我的做法如下: 我使用 darcs changes -i
我已经克隆了在 https://hackage.haskell.org/package/language-c-0.4.7作为上游 repo ,即:http://code.haskell.org/lan
看到纯文本格式的 darcs 更改让我感到不舒服,因此我一直在寻找一种工具来显示更改的漂亮并排比较。 对于 whatsnew我可以用 meld ,但是当我需要查看已记录的更改时,它就不会那么容易了。我
当我通过 ssh 将补丁推送到远程存储库时,第一次尝试失败并显示 me@bowler$ darcs push ~/Dokumente/Aufsaetze/ar_report Pushing to "m
对我来说,记录补丁,将其拉入我的暂存分支,然后意识到我做了一些小而愚蠢的事情,例如日志消息中的拼写错误,或者类似的琐碎的事情(对于我的注意)一个全新的补丁。 在这些情况下,我一直在使用: darcs
在 darcs 中,如果我想将其他补丁所依赖的补丁重新排序到顶部(或只是扔掉)怎么办(即,更改同一个文件)? 在 git 中,我只是做一个 git rebase -i 并重新排序或丢弃一些更改;然后
我的困惑源于以下声明 taken from here : When pulling patches that conflict each other (e.g., change the same pa
我想要一些简单的 CI 用于小型开发设置。两个动机——一个完整的构建需要一些时间,一个预期的测试套件也需要一些时间。我真的不想一头扎进需要Java应用程序容器或其他任何东西来显示具有多种颜色的精美图形
例如,在 Git 中,当我运行 git status 时,我会查看工作目录中是否有任何未跟踪的文件。 如何检查是否有未跟踪的带有 darc 的文件? (我正在使用 darcs-2.1.2。) 最佳答案
我有一些现有代码,如果没有 gtk2hs,我将无法运行。但我无法安装它。我之前尝试过使用 cabal,但发现现在正确的解决方案是从 darcs 构建。所以我这样做: darcs get --lazy
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我想将我必须的 git 存储库移动到 darcs。我一直无法找到解释如何执行此操作的文档或项目;看起来大多数用户都想走另一条路。此外,能够从 darcs 控制 git repo 会很酷。 最佳答案 g
嗨, 我想用Hudson连同darcs (一个scm)。 是否有向 Hudson 添加 Darcs 支持的插件? 我在 Pluginlist 上找不到引用Hudson 的,所以有人找到了插件吗?我知道
所以是的,只是想知道 darcs 是否有任何与 git 的子模块等效的东西。 即假设我有一个 repo (myapp),并且我有一个名为 mylibrary 的文件夹。 mylibrary 与 mya
由于链接器问题,似乎无法将 Yesod 与 Darcs 库一起使用。我找到了这个问题,并需要熟悉 Darcs 内部结构的人提供解决该问题的提示。 使用 darcs library 时在 Yesod应用
有没有办法用多个转换一个darcs项目分支(即,两个以上的 darcs 存储库包含不同但相关的补丁集)到单个 git 存储库,以便每个darcs 存储库被转移到 git 存储库中的不同分支? 考虑的解
最近我找到了项目git2html : git2html 是一个简单的 git 网络界面。与其他 Web 界面不同,git2html 不动态生成内容:它不使用 CGI 脚本,而是生成静态 HTML 页面
作为在我的计算机上安装 Ubuntu 的一部分,我 apt-get 安装了 cabal。运行cabal update后,我运行cabal installdarcs,发现我需要curses,安装libn
我是一名优秀的程序员,十分优秀!