问题标签 [monticello]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
smalltalk - 从蒙蒂塞洛加载项目时出现“无法找到 EOCD 位置”错误
我已经在我的 Windows 电脑中设置了一个 Monticello HTTP 存储库。在我将我在 pharo 2.0 中的项目从我的 Mac 发布到存储库之后。后来我尝试在 windows 中的另一个 2.0 图像上加载项目,我发现了这个错误。无法找到 EOCD 位置。但我可以在 mac 中将项目加载到另一个图像中。
有人知道必须缺少什么吗?
smalltalk - Monticello 存储库未提交 WAFileLibrary 子类的方法(资源)
我发现WAFileLibrary
子类资源方法不能提交到蒙蒂塞洛存储库。这是正常的吗?这些资源已通过该WAFileLibrary->addFilesIn:
方法添加。但是当我尝试创建另一个方法然后提交时,我发现新方法被提交并且我可以将它加载到不同的图像上而不会出现问题。所以然后我归档了WAFileLibrary
子类,并将其从图像中删除,然后我再次将其归档。当我提交后,所有资源方法都被提交,看起来一切都很好。
但是为什么我不能在创建类后很快提交它,通过 addFilesIn: 添加资源?
version-control - 如何自动将多个蒙蒂塞洛提交从本地存储库复制到 Smalltalkhub.com?
白天,我将几个版本的 Monticello 包提交到我磁盘上的本地存储库。
稍后我想将本地存储库与 Smalltalkhub.com 存储库同步。
目前,我使用 Monticello 浏览器将本地提交一一手动复制到 Smalltalkhub 存储库。
我怎样才能自动化这个任务?
version-control - Monticello:同步协作开发的工作流程/在复制到远程存储库时正确编号版本
在工作的时候,我做了很多修改。每当代码处于合理的状态时,我都喜欢提交。但并非所有这些提交都很有趣。所以我将这些提交提交到本地磁盘或私人服务器。它看起来像这样:
- 我早上取包
Foo
,所以它的版本是FamousSmalltalkGuy.14
. - 我在早上 (15)、午餐 (16) 和晚上 (17) 在本地提交。现在
Foo
本地包最多DanielLyons.17
。 - 看起来 Famous Smalltalk Guy 将第 15 版推送到 Smalltalkhub。
FamousSmalltalkGuy.15
我与我的图像中的内容合并,产生DanielLyons.18
.
现在我想推DanielLyons.18
到 Smalltalkhub。什么是正确的做法?
复制版本(单击蒙蒂塞洛 UI 中的复制按钮)。
FamousSmalltalkGuy.15
这感觉不对,因为和会有不连续性DanielLyons.18
。在 Smalltalkhub 存储库中提交一个新版本,
DanielLyons.15
在框中手动写入。这感觉不对,因为它似乎混淆了我的本地形象。毕竟,它以前见过
DanielLyons.15
,这不是。
我确信这里有正确的事情要做,但我不知道它是什么。如果有人能阐明同时协作开发的正确蒙蒂塞洛工作流程,我将不胜感激。谢谢!
configuration - 如何将项目添加到配置浏览器?
在pharo中安装项目的一种简单方法是使用配置浏览器。
开发人员如何让他的项目出现在这个浏览器中?
smalltalk - 我可以在我的 Metacello 配置中要求另一个 Metacello ConfigurationOf 的特定提交吗?
在ConfigurationOfMyProject
我需要项目的基线中:
ConfigurationOfSomething
提交的新版本的维护者ConfigurationOfSomething
包含一个错误。所以我ConfigurationOfMyProject
的不再加载。
我可以需要一个特定的版本吗ConfigurationOfSomething
:
smalltalk - 什么是 RPackageTags?它们与蒙蒂塞洛包有什么关系?
我尝试了解RPackageTag
s:
- 似乎
RPackageTag
s 就像子包一样? - 与 OS X 中的标签不同,一项(这里是一类)不能有多个标签?
- 标签总是特定于
RPackage
? Package1-Tag1和Package2-Tag1中的标签不相同,即是RPackageTag
?的两个不同实例。 - 有可能Package1-Tag1只是一个
RPackage
,还有可能Package1-Tag1是RPackage
Package1和RPackageTag
Tag1的组合?
是对的吗?RPackageTag
引入s背后的想法是什么?
RPackageTag
s 与 Monticello 包有什么关系?
smalltalk - 本地蒙蒂塞洛存储库
我想在工作中运行一个本地的 Monticello HTTP 存储库,以便我们可以轻松地在同事之间共享代码。
有没有办法私下运行类似于 SmalltalkHub 的东西?
编辑:
我在这里尝试了所有选项,但它们似乎都不能顺利运行。让我回顾一下这些选项:
1) Apache 上的 WebDAV,跟随Stuart。我已经按照一些在线指南进行了尝试。我当前的 dav.conf 如下所示:
我工作了几天。然后突然我无法阅读某个包的新版本。每当我在图像中编写一个版本并在另一个图像中读取它时,我都会遇到异常ZnInvalidUTF8
。我不知道为什么,可能是 WebDAV 列出了太多文件的问题?
2)设置我的FTP。它似乎有效,但是当我尝试在版本器中将此存储库设置为远程时,我得到MCFtpRepository doesNotUnderstnd: #koRemote
3) SqueakSource3,跟随Tobias。我尝试在 Pharo2 和 Pharo3 中运行这两个 Gofer 命令。在 Pharo2 中它根本不加载。在 Pharo3 中,或多或少一切正常。由于已弃用或删除的消息,我不得不修复一些错误,但最终我能够创建项目并写入它们。
当我阅读时,问题就出现了。显然 SS3 保留了某种内部缓存。结果就是我在项目页面看到的包列表和客户端拿到的包列表不一样。不同之处似乎在于客户端需要页面的简短版本,例如http://localhost:8080/ss/MyProject/?C=M;O%3DD
,并且结果始终少于完整页面http://localhost:8080/ss/MyProject
。
此外,即使在项目页面上,版本列表也会保持缓存,直到我导航到不同的项目。
4) SmallTalkHub,跟随肖恩。我已经尝试过使用来自 INRIA 服务器的图像和来自 Pharo-VM-loader 建议的图像(它们可能是相同的)。
我不得不再次安装 Seaside,因为下载的图像中没有 ZnZincAdaptor。我现在可以启动 SmallTalkHub,但是一旦我尝试注册用户,我就会收到错误消息MessageNotUnderstood: receiver of "new" is nil
。我无法跟踪此错误的来源(有没有办法打开服务器端调试器而不是在 Seaside 中返回 500?)。
出现此错误后,我可以在 mongodb 和界面中看到一个用户,但我无法登录。
5) Git 使用文件树,正如 Kylon 所建议的那样。这将阻止我使用 MetaCello 来处理依赖项,并且看起来比其他选项更复杂。
在这一点上,我不知所措。:-( 如果我想使用 Pharo,我将需要能够与我的同事协作。至少现在不能选择使用开源存储库。
是否有一种简单、经过验证的方法来设置这样的存储库?
SqueakSource3 或 SmallTalkHub 会更好,这要归功于他们的用户界面,但我真的需要至少基本的协作。拥有一个可以在无头服务器上运行的选项也是一个很大的优势,就像这成为我们使用的工具一样,在我的笔记本电脑上托管存储库是不可行的。
repository - 如何查看 SqueakSource 的代码?
我在 squeak 的 KernelTests-Numbers 包中创建了新的断言。我找不到将这些检查到 Squeaksource(回购)或使用 monticello 的方法。如何将新测试签出到存储库http://source.squeak.org/trunk以将其传播到社区?
感谢您提前回答。
编辑
谢谢托拜厄斯。
这是收件箱的蒙蒂塞洛代码:
编辑 2
感谢 Bert 提供的分步手册和截屏链接。
问候,巴塔克