我希望能够设置/获取一些与bzr中的工作树相关的自定义属性。
当我在特定的工作树中开始构建源代码时,可以使用这些属性。例如,我们的软件使用PostgreSQL数据库实例,并且每个Build(在工作树/分支中)都需要能够通过名称/主机/端口“知道”它与哪个数据库实例相关:DevDB,StableDB,StableRev010DB等。 ..
我不想将任何这些属性放在bzr的控制下的文件中。我已经制作了一个自定义的'make_branch.py'脚本,该脚本能够从源URL创建一个可工作的树/分支,并希望添加一些选项,以便在使用我的新分支创建新的分支时能够设置这些自定义属性脚本。
有人有建议吗? Bzrlib文档非常详尽,但是我似乎无法指出如何通过当前的API来实现。
最佳答案
为什么不将元数据存储在文件中,并使用bzr ignore
或编辑.bzrignore
将这些文件标记为忽略?如果那不适合您,请说明原因。
关于存储某种未版本控制的属性,我所看到的最接近的东西是在bzr-svn
文档中:
http://doc.bazaar.canonical.com/migration/en/foreign/bzr-on-svn-projects.html#versioned-properties
Subversion具有Bazaar当前不存在的版本化属性的概念。这意味着bzr-svn无法设置任何版本化的属性,例如:svn:keywords,svn:eol-style和svn:mime-type。
但是,bzr-svn将保留文件中已经存在的版本化属性。
也就是说,Bazaar中没有版本属性,但这很好,因为您仍然不想对它们进行版本控制。该插件保留了许多Subversion元数据,因此确实必须有API方法。但是,即使未对这些元数据进行版本控制,它们仍存储在存储库中,这也不是您想要的。
我还没有阅读所有的API文档,但是已经阅读了用户指南,并且绝对没有提及您要寻找的功能。就是说,Bazaar是非常可扩展的,因此也许有一种使用API的方法。
我建议在irc.freenode.net的IRC频道#bzr上询问一下。您也可以尝试在http://irclogs.ubuntu.com的IRC日志中进行搜索
关于python - 集市:添加WorkingTree特定的元数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15005282/