Difference between revisions of "Getting PKGBUILDs from SVN"

From ArchWiki
Jump to: navigation, search
(Fix URLs)
(consistency fixes)
Line 5: Line 5:
  
  
== IMPORTANT WARNING ==
+
=== IMPORTANT WARNING ===
 
'''The entire SVN repo is huge. Not only will it take an obscene amount of disk space, but it will also tax the archlinux.org server for you to download it. Do not download the whole repo, only follow the instructions below.'''
 
'''The entire SVN repo is huge. Not only will it take an obscene amount of disk space, but it will also tax the archlinux.org server for you to download it. Do not download the whole repo, only follow the instructions below.'''
  
Line 13: Line 13:
  
 
=== Non-recursive checkout ===
 
=== Non-recursive checkout ===
 +
 +
For core,extra,testing:
  
 
   svn checkout --depth=empty svn://archlinux.org/srv/svn/packages  
 
   svn checkout --depth=empty svn://archlinux.org/srv/svn/packages  
  
This creates a directory named "packages" which contains nothing. It does, however, know that it is an svn checkout. Use the following for packages from community:
+
For community:
  
 
   svn checkout --depth=empty svn://archlinux.org/srv/svn/community  
 
   svn checkout --depth=empty svn://archlinux.org/srv/svn/community  
 +
 +
In both cases, it simply creates an empty directory, but it does know that it is an svn checkout.
 +
 +
In the sections below, just replace the ''packages'' directory name by ''community'' when working with community packages.
  
 
=== Checkout a package ===
 
=== Checkout a package ===
  
   cd svn-packages
+
   cd packages
 
   svn update package-name
 
   svn update package-name
  
This will pull the package you requested into your checkout. From now on, any time you `svn update` at the top level, this will be updated as well.
+
This will pull the package you requested into your checkout. From now on, any time you ''svn update'' at the top level, this will be updated as well.
  
 
=== Updating all packages ===
 
=== Updating all packages ===
  
   cd svn-packages
+
   cd packages
 
   svn update
 
   svn update
  
 
=== Checkout an older revision of a package ===
 
=== Checkout an older revision of a package ===
  
   cd svn-packages
+
   cd packages
   svn log packagename
+
   svn log package-name
  
 
Find out the revision you want by examining the history, then:
 
Find out the revision you want by examining the history, then:
  
   svn update -r1729 packagename
+
   svn update -r1729 package-name
or
+
 
  svn update -r{20090303} packagename # if no revision on 20090303 exists, svn will grab the most recent package before that time
+
This will update an existing working copy of ''package-name'' to the chosen revision.
 +
 
 +
You can also specify a date. If no revision on that day exists, svn will grab the most recent package before that time:
  
This will update an existing working copy of package to chosen revision.
+
  svn update -r{20090303} package-name

Revision as of 08:35, 3 September 2009


IMPORTANT WARNING

The entire SVN repo is huge. Not only will it take an obscene amount of disk space, but it will also tax the archlinux.org server for you to download it. Do not download the whole repo, only follow the instructions below.

If you abuse this service, your address may be blocked.

Never use the public SVN for any sort of scripting.

Non-recursive checkout

For core,extra,testing:

  svn checkout --depth=empty svn://archlinux.org/srv/svn/packages 

For community:

  svn checkout --depth=empty svn://archlinux.org/srv/svn/community 

In both cases, it simply creates an empty directory, but it does know that it is an svn checkout.

In the sections below, just replace the packages directory name by community when working with community packages.

Checkout a package

  cd packages
  svn update package-name

This will pull the package you requested into your checkout. From now on, any time you svn update at the top level, this will be updated as well.

Updating all packages

  cd packages
  svn update

Checkout an older revision of a package

  cd packages
  svn log package-name

Find out the revision you want by examining the history, then:

  svn update -r1729 package-name

This will update an existing working copy of package-name to the chosen revision.

You can also specify a date. If no revision on that day exists, svn will grab the most recent package before that time:

  svn update -r{20090303} package-name