如何使用SVN管理Firefox扩展项目?

如何使用SVN管理Firefox扩展项目?,svn,firefox,version-control,firefox-addon,Svn,Firefox,Version Control,Firefox Addon,我正在使用SVN管理我的Firefox扩展项目,该项目包含一个XPCOM组件。Firefox直接从我的工作目录加载,方法是在我的用户配置文件的./extensions目录中放置一个带有工作目录路径的文本文件。Firefox启动时,我的扩展无法加载&overlay;检查错误控制台,我看到错误声明“.svn不能作为组件加载”-插件结构的“组件”目录中对.svn目录的引用。有没有办法让Firefox忽略这个目录,或者让SVN生成一个没有.SVN目录的工作副本 有没有办法让Firefox忽略这个目录 可

我正在使用SVN管理我的Firefox扩展项目,该项目包含一个XPCOM组件。Firefox直接从我的工作目录加载,方法是在我的用户配置文件的./extensions目录中放置一个带有工作目录路径的文本文件。Firefox启动时,我的扩展无法加载&overlay;检查错误控制台,我看到错误声明“.svn不能作为组件加载”-插件结构的“组件”目录中对.svn目录的引用。有没有办法让Firefox忽略这个目录,或者让SVN生成一个没有.SVN目录的工作副本

有没有办法让Firefox忽略这个目录

可能

或者让SVN生成一个没有.SVN目录的工作副本

不,这就是SVN的工作原理。这些目录存储svn的canges和元信息。它们是从WC进行提交所必需的

有没有办法让Firefox忽略这个目录

可能

或者让SVN生成一个没有.SVN目录的工作副本


不,这就是SVN的工作原理。这些目录存储svn的canges和元信息。要从您的WC进行提交,它们是必需的。

建议这样做可能为时已晚,但使用Mercurial不会遇到任何这些问题,因为您在根文件夹中有一个目录--
.hg
,而不是像Subversion一样混乱的.svn目录。其他好处还包括通过.hgignore进行适当的文件忽略、没有神秘的配置文件(一个在用户主目录中)、重命名处理和许多其他更好的功能


Bitbucket提供免费托管。

现在提出这一点可能为时已晚,但Mercurial不会出现任何这些问题,因为根文件夹中有一个目录--
.hg
,而不是像Subversion一样混乱的.svn目录。其他好处还包括通过.hgignore进行适当的文件忽略、没有神秘的配置文件(一个在用户主目录中)、重命名处理和许多其他更好的功能


Bitbucket提供免费托管。

我唯一建议的是创建一些构建脚本,将文件(sans.svn)部署到firefox extensions文件夹中。这并不理想,但你应该能够把一些只需几秒钟就能运行的东西放在一起,并且可以通过快捷键触发(或者通过监视工作副本中的文件并在保存时更新firefox文件夹来获得额外的分数)

我唯一建议的是创建一些构建脚本,将文件(sans.svn)部署到firefox extensions文件夹中。不太理想,但您应该能够将只需几秒钟即可运行且可通过快捷键触发的内容组合在一起(或通过监视工作副本中的文件,并在保存时更新firefox文件夹来获得额外分数)

使用
svn export
命令进行(不可复制)签出不包含.svn目录的工作副本。

使用
svn export
命令对不包含.svn目录的工作副本进行(不可复制)签出。

我决定在每次生成结束时进行导出,并将链接指向导出的目录。使用--force允许我每次都覆盖它。现在看起来很简单,非常感谢!无意冒犯,但是Micmag让我思考了一下,我花了一天的时间来学习launchd的工作原理,它也很好地打开了这个问题范围之外的一个巨大的可能性:-)谢谢你让我重新开始运行,尽管如此!我决定在每个构建结束时进行导出,并将链接指向导出的目录。使用--force允许我每次都覆盖它。现在看起来很简单,非常感谢!无意冒犯,但是Micmag让我思考了一下,我花了一天的时间来学习launchd的工作原理,它也很好地打开了这个问题范围之外的一个巨大的可能性:-)谢谢你让我重新开始运行,尽管如此!我可能最终会切换答案并继续这样做,因为在测试工作副本中的代码时提交每一个更改实际上首先会破坏整个版本控制点。不幸的是,我也被绑定到了SVN…12个小时后,我有一个启动守护进程启动了一个shell脚本,由watchpath触发,并使用rsync和--exclude“*.SVN”将其加载到项目文件夹中的一个单独的./build目录,FF现在从该目录加载。我得把这个婴儿清理干净,然后贴在MacOSXHints上。(花了很多时间想知道为什么launchd不接受我的更改…这是“WatchPath”而不是“WatchPath”!啊,总是一些小事情,不是吗?)谢谢你的回答!很高兴你让它工作了。如果你能发布的话,我很想看看源代码。我可能会切换答案并继续这样做,因为在我测试工作副本中的代码时提交每一个更改实际上首先会破坏整个版本控制。不幸的是,我也被绑定到了SVN…12个小时后,我有一个启动守护进程启动了一个shell脚本,由watchpath触发,并使用rsync和--exclude“*.SVN”将其加载到项目文件夹中的一个单独的./build目录,FF现在从该目录加载。我得把这个婴儿清理干净,然后贴在MacOSXHints上。(花了很多时间想知道为什么launchd不接受我的更改…这是“WatchPath”而不是“WatchPath”!啊,总是一些小事情,不是吗?)谢谢你的回答!很高兴你让它工作了。如果你能发布的话,我很想看看源代码。不幸的是,我被一个只与svn集成的编辑器束缚住了。不过,Mercurial听起来很酷!不幸的是,我被一个只与svn集成的编辑器束缚住了。反复无常的声音