Archive:Getting Started/Sources/Snapshots (zh CN): Difference between revisions

From KDE TechBase
No edit summary
No edit summary
Line 6: Line 6:
name=使用每日快照中的源代码|
name=使用每日快照中的源代码|


next=[[../../Build/KDE4|Building KDE4]]|
next=[[../../Build/KDE4|构建 KDE4]]|


reading=[[../../Sources/Anonymous_SVN|Anonymous SVN Quickstart Guide]]<br>[[../../Increased_Productivity_in_KDE4_with_Scripts|Increased Productivity in KDE4 with Scripts]]<br>[[Development/Tutorials/CMake |Introduction to CMake]]|
reading=[[../../Sources/Anonymous_SVN|Anonymous SVN Quickstart Guide]]<br>[[../../Increased_Productivity_in_KDE4_with_Scripts|Increased Productivity in KDE4 with Scripts]]<br>[[Development/Tutorials/CMake |Introduction to CMake]]|

Revision as of 11:22, 8 July 2008


Getting Started/Sources/Snapshots

使用每日快照中的源代码
Tutorial Series   开始入门
Previous   None
What's Next   [[../../Build/KDE4|构建 KDE4]]
Further Reading   [[../../Sources/Anonymous_SVN|Anonymous SVN Quickstart Guide]]
[[../../Increased_Productivity_in_KDE4_with_Scripts|Increased Productivity in KDE4 with Scripts]]
Introduction to CMake

If you are trying to checkout a KDE source module, then there is a way to make the normally slow process of the initial checkout happen a lot quicker, thanks to automatically generated snapshots of the KDE source repository, which are stored in convenient archived form in the KDE FTP system. This page describes how to perform a checkout using a module snapshot.

Keep in mind that these snapshots are real Subversion checkouts, containing all of the required Subversion metadata. This procedure can in fact be the quickest way to checkout a module, thanks to the abundance of FTP mirrors.

Note
This procedure only works if the module you want has nightly snapshots generated (most do), and if you want the trunk version of the module.


Get the snapshot

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.