Archive:Getting Started/Sources/Snapshots (zh CN)

From KDE TechBase
Revision as of 13:48, 8 July 2008 by Fortruth (talk | contribs)


Getting Started/Sources/Snapshots

使用每日快照中的源代码
Tutorial Series   开始入门
Previous   None
What's Next   [[../../Build/KDE4|构建 KDE4]]
Further Reading   [[../../Sources/Anonymous_SVN|匿名使用 SVN 快速指南]]
[[../../Increased_Productivity_in_KDE4_with_Scripts|在 KDE4 使用脚本来提高效率]]
CMake 简介

如果要同步一个 KDE 模块的源代码,有一个方法可以让原先同步比较慢的过程变快很多,因为 KDE 源代码仓库会自动生成快照,并以方便归档的形式存储在 KDE FTP 服务器上。本页就是描述如何使用模块快照来进行同步。

记住:这些快照都是real Subversion checkouts,包括所有 Subversion 元数据。事实上,此过程是同步一个模块最快的方法,这也要归因于大量的 FTP 镜像。

Note
此过程只有当你所需要的模块是每夜快照生成的(大多数都是这样的)并且是trunk版本,才能正常工作。


获取镜像

First go to The KDE Mirror Redirector and choose the best FTP server for your location. Usually this will be a server in your country/state. Click on the link for the FTP server and navigate to the snapshots directory. In this directory will be a large list of KDE modules which are archived.

You want to download the module with the name in the following format: kdemodule-svn.tar.bz2. Go ahead and save this archive to your hard disk somewhere. You'll need to be able to reach this location from the command line later.

Note
It is important to get the module with the -svn in the file name. There are other types of snapshots also in the same directory for each module. But only modules with -svn contain the necessary information to allow for completing a checkout.


The Recipe

Now for the checkout, go ahead and open a terminal shell and perform the following steps:

cs # cs is not a typo
tar xvjf /path/to/kdemodule-svn.tar.bz2
cd kdemodule
svn revert -R . # This step restores the missing files.
svn up          # This step updates the source to the latest code, and is optional.

Extra Tidbits

That's it! You've got a valid KDE module checkout now. Some things to keep in mind:

  • Each module snapshot contains a special README.svn-nightly file containing information on how to use the snapshot. You've already performed the svn revert and update steps.
  • The modules are already setup to update from the KDE anonymous Subversion repository (svn://anonsvn.kde.org/). If this is not correct for you (i.e. you're a developer), then you can use the svn switch command to fix the checkout as described in the README.svn-nightly file.
    • Switch to the module source directory (cs <moduleName>)
    • If you use Subversion over SSH, run svn switch --relocate svn://anonsvn.kde.org svn+ssh://<user>@svn.kde.org
    • If you use Subversion over HTTPS, run svn switch --relocate svn://anonsvn.kde.org https://<user>@svn.kde.org
    • (The way this works is that svn switch --relocate rewrites the Subversion metadata in the module, replacing the first substring (svn://anonsvn.kde.org) in the repository URL with the second substring (svn+ssh: or https:). This is done locally without any contact to the repository required.
  • If you want to keep the module up to date in the future, just run svn up as you would for any other Subversion checkout. You do not have to continue downloading snapshots just to update the module, and to do so would be inefficient and slow.