第 8 章 嵌入 Subversion

目录

1. 分层的库设计
1.1. 版本库层
1.2. 版本库访问层
1.3. 客户端层
2. 进入工作副本的管理区
2.1. 条目文件
2.2. 原始副本和属性文件
3. 使用 API
3.1. Apache 可移植运行库
3.2. Functions and Batons
3.3. URL 和路径需求
3.4. 使用 C 和 C++ 以外的语言
3.5. 代码样例
4. 总结

Subversion has a modular design: it's implemented as a collection of libraries written in C. Each library has a well-defined purpose and application programming interface (API), and that interface is available not only for Subversion itself to use, but for any software that wishes to embed or otherwise programmatically control Subversion. Additionally, Subversion's API is available not only to other C programs, but also to programs written in higher-level languages such as Python, Perl, Java, and Ruby.

This chapter is for those who wish to interact with Subversion through its public API or its various language bindings. If you wish to write robust wrapper scripts around Subversion functionality to simplify your own life, are trying to develop more complex integrations between Subversion and other pieces of software, or just have an interest in Subversion's various library modules and what they offer, this chapter is for you. If, however, you don't foresee yourself participating with Subversion at such a level, feel free to skip this chapter with the confidence that your experience as a Subversion user will not be affected.