LSL是否有任何形式的版本控制?

时间:2009-04-07 01:13:57

标签: version-control secondlife linden-scripting-language

Linden Scripting Language是否有任何形式的版本控制?

我觉得值得把所有的努力都花在第二人生的编程上,如果当数据库发生故障时我会失去我所有的辛勤工作。

7 个答案:

答案 0 :(得分:2)

不幸的是,世界上没有源代码控制。我同意giggy。我目前正在将我的项目转移到Subversion(SVN)系统以使其受到控制。真的应该在不久前做到这一点。

有很多免费的&网上提供有偿的SVN服务。

只有两个免费的例子:
http://www.sourceforge.net
http://code.google.com

您还可以选择在本地设置一个,以便您可以更好地控制它。

在这里搜索“subversion”或“svn”以了解有关如何设置的更多内容。

[edit 5/18/09]
您在评论中添加了要备份整个对象的内容。有各种各样的程序可以做到这一点。我快速Google search遇到的一个是:Second Inventory
我不推荐这个或任何其他程序,因为我没有使用它们。但这应该给你一个开始 [/编辑]

-cb

答案 1 :(得分:1)

您可以使用Meerkat viewer来备份完整的对象。或者使用libopenmetaverse的一些测试程序在文本环境中进行备份。我认为您可以使用它们从库存中备份脚本。

答案 2 :(得分:1)

在SL工作的建筑师Jon Brouchoud开发了一个名为Wikitree的世界范围的协作版本系统。它是一个可视SVN,没有在典型的源代码控制系统中出现的差分差分。他宣布它是http://archvirtual.com/2009/10/28/wiki-tree-goes-open-source/#.VQRqDeEyhzM

开源的

查看博客文章中的视频,了解其使用方法。

答案 3 :(得分:0)

您可以将其保存到文件中吗?如果是这样,你几乎可以使用任何东西,SVN,Git,VSS ......

答案 4 :(得分:0)

游戏中没有好的源代码控制权。我保留了关于脚本名称的细致版本信息,我在文件夹中有一堆旧版本的东西。

我大部分时间都没有将游戏资源用于游戏并使用SVN。 LSLEditor是一个适合处理脚本的应用程序,如果你用对象创建一个解决方案,它可以模拟游戏环境中的很多东西。 (给对象,阅读记录卡等)link text

答案 5 :(得分:0)

我个人保留了我认为值得在github.com(http://github.com/cylence/slscripts)保留的任何代码片段。

Git是一个非常好的LSL源代码管理器,因为它提交逐行工作,不像其他SCM,如Subversion或CVS。这是至关重要的原因是因为大多数Second Life脚本都存在于一个文件中(因为它们不能互相调用... grrr)。因此,在文件级别上进行比较并不是那么有效。逐行比较对于LSL来说是完美的。话虽如此,它(也类似于SourceForge和Google Code)允许您公开查看您的代码(如果您愿意),并且可以在压缩文件中下载以便于分发。

答案 6 :(得分:0)

我知道最新的答复,但是SecondLife中有些事情已经改变,而有些事情并没有改变。由于“第三方查看器”策略仍然难以克服,无法在查看器和系统之间保存和加载对象,因此我正在考虑迄今为止完全被忽略的另一种可能性:Bots!

脚本代理(又名Bots)可以使用所有常规的头像操作。尽管我从来没有见过一个用作对象存储库,但是没有理由不能创建一个。代理可以单独登录,也可以通过命令自动登录到任意位置,然后按设置的时间间隔或通过命令收集正在处理的任何或所有对象,并且他们收集到的任何信息都可以提供给您或协作者。

我不会说编写代理脚本很容易,甚至不能说自己对脚本代理进行扩展,但是如果您不想从头开始,则可以使用广泛的开源框架以Corrade为基础。其他bot服务似乎也没有在their abilities中列出“对象存储库”,但是任何支持CasperVend的服务都必须已经能够根据请求接收项目。

当然,仅定期复制副本并将对象发送到备份化身的lo-fi路由对于一个用户来说仍然可能是一种简单的备份解决方案。尽管这样做确实需要以并行方式或每20个左右项目一次作为其他帐户登录,以确保它们已被接收且不受服务器限制。此过程无法重命名项目或像机器人一样自动对它们进行排序。相同名称的项目在清单中被列为最新,在顶部,但这在处理多个项目的多个项目时是一团糟。

最后,有一个Coalesce功能可将多个项目作为库存中的一个项目进行管理。当前不支持发送或接收对象,但是在没有漫游器的情况下,可以更轻松地跟踪不希望实际链接为一个项目的项目。 (注意;不要在“禁止建造”的土地附近放散“禁止复制”的合并物品,不能放任的所有物品将完全丢失)