[MacPorts] howto/SyncingWithGit added

MacPorts noreply at macports.org
Sat Oct 29 21:39:05 CEST 2016


Page "howto/SyncingWithGit" was added by raimue
Content:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
[wiki:howto <- Back to the HOWTO section]

= How to sync your ports tree using Git over HTTPS =

- Audience: end users who cannot use rsync (873/tcp) due to firewalls, proxies, policy, etc.
- Requires: MacPorts
- Requires: Git


== Introduction ==

Some people live and work behind a firewall or proxy that blocks or otherwise breaks rsync, which is the primary means of getting updated Portfiles in MacPorts. The following steps will switch your tree over to using Git over HTTPS for syncing.

Note: if you are using a custom prefix, you will have to replace the default of `/opt/local` with the location of your MacPorts install in the instructions below.


== Installation ==

=== Step 0: Install Git ===

Git already comes pre-installed with Xcode. Most users will not need to install it manually. If you are unsure whether you already have it installed, check with this command:

{{{
git --version
}}}

Unless you see an error message with `command not found`, you already have git and can skip this step.

Continue only if you do not already have `git` installed.
If you have a copy of the ports tree already, just run:
{{{
sudo port install git
}}}
If you do not have a copy of the ports tree, you can download the daily
tarball by following [wiki:howto/PortTreeTarball the tarball howto].

=== Step 1: Checkout Initial Copy ===

{{{
cd /opt/local/var/macports/sources
sudo mkdir -p github.com/macports/macports-ports/
sudo chown -R $USER:admin github.com
git clone https://github.com/macports/macports-ports.git github.com/macports/macports-ports/
}}}

== Configuration ==

=== Step 2: Configure MacPorts ===

Edit `/opt/local/etc/macports/sources.conf` to comment out the `rsync://` entry and add a new `file:///` entry:

Note: if you need to replace `/opt/local` with your custom prefix, make sure the initial "!file:///..." contains three slashes.

{{{
#rsync://rsync.macports.org/release/ports/ [default]
file:///opt/local/var/macports/sources/github.com/macports/macports-ports/ [default]
}}}

=== Step 3: Sync ===

On running your first sync you will have wait for the PortIndex to be generated, which will take some time. Subsequent runs will be faster, as only changed Portfiles need to be indexed again. Use the `-v` flag for verbose mode which will show you the progress of this operation.

{{{
sudo port -v sync
}}}

After this has finished, you are now receiving your Portfiles from Git instead of rsync. 

== See also ==

Additional topics related to MacPorts and Git:

- Creating and testing ports not yet submitted to MacPorts:
  [https://guide.macports.org/#development.local-repositories Local development repository]
- [wiki:RunningTrunk Running an unstable/development version of MacPorts]

[wiki:howto <- Back to the HOWTO section]
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://trac.macports.org/wiki/howto/SyncingWithGit>
MacPorts <https://www.macports.org/>
Ports system for OS X

This is an automated message. Someone added your email address to be
notified of changes on 'howto/SyncingWithGit' page.
If it was not you, please report to admin at macports.org.


More information about the macports-changes mailing list