m (→BETA git hosting support: linkfix) |
(clarify ssh key info) |
||
Line 10: | Line 10: | ||
# You need an active [https://admin.fedoraproject.org/accounts/ Fedora account] | # You need an active [https://admin.fedoraproject.org/accounts/ Fedora account] | ||
# You must be sponsored in a group (other than the CLA groups) | # You must be sponsored in a group (other than the CLA groups) | ||
# You need to upload ssh key (rsa) into your Fedora account. The ssh key gets activated an hour after you upload it. | |||
# To connect, use the ssh key you uploaded into your Fedora account: | # To connect, use the ssh key you uploaded into your Fedora account: | ||
Revision as of 06:18, 25 May 2009
fedorapeople.org
This page covers the details on how to obtain and use your personal space on fedorapeople.org , which is a site where Fedora contributors can upload files for sharing out with the world. It is perfect for uploading specfiles, srpms, patches, personal repository etc, etc.
Accessing Your fedorapeople.org Space
- You need an active Fedora account
- You must be sponsored in a group (other than the CLA groups)
- You need to upload ssh key (rsa) into your Fedora account. The ssh key gets activated an hour after you upload it.
- To connect, use the ssh key you uploaded into your Fedora account:
ssh your_fedora_username@fedorapeople.org
Common Answers
- Each Fedora contributor has 150 MiB of quota-controlled space.
- To make a publicly viewable space, create a
public_html
directory. - Upload files using scp, sftp, or rsync.
To copy files from the command line, you can use scp
scp /path/to/file your_fedora_username@fedorapeople.org:/home/fedora/your_fedora_username/public_html
- Once uploaded into the users public_html directory the files are available via http at: http://your_username.fedorapeople.org/.
- Give other users access to read/write/etc files by using extended acls. Read man pages for setfacl and getfacl for adding them to your dirs/files. This gives the user jkeating read and write access to
file
:
setfacl -m u:jkeating:rw file
BETA git hosting support
fedorapeople.org now has support for hosting git repositories including accessing them via the git:// protocol for anonymous downloads as well as providing gitweb. This should be considered beta.
Here is a quick rundown of how to get started using git on fedorapeople.org. It assumes that you are already somewhat familiar with git. You might want to take a look at a quick reference to git.
Create a ~/public_git
directory on fedorapeople.org
ssh your_fedora_username@fedorapeople.org "mkdir ~/public_git"
Creating a new git repository in ~/public_git
As an example, here is one method to create an empty repository on your local system and upload it:
mkdir repo.git cd repo.git git init --bare touch git-daemon-export-ok cd .. scp -r repo.git your_fedora_username@fedorapeople.org:public_git/
This creates a bare repository (i.e. a repository that has no working directory). It contains just the files that are part of the .git
directory of a non-bare git repository (the kind most users are accustomed to seeing).
Uploading an existing repository to ~/public_git
If you have an existing repository you want to use on fedorapeople, you can do so easily:
git clone --bare /path/to/local/repo repo.git touch repo.git/git-daemon-export-ok scp -r repo.git your_fedora_username@fedorapeople.org:public_git/
The caveats from the previous section apply here as well.
Pushing to your repository
To push changes from a local repository:
cd /path/to/local/repo git remote add fedorapeople your_fedora_username@fedorapeople.org:public_git/repo.git git push --mirror fedorapeople
This creates a mirror of your local repository. All of the branches and tags in the local repository will be pushed to the fedorapeople repository.
If you only want to push selected branches, amend the git push
example. For example, to push only your local master branch:
git push fedorapeople master
Cloning your repository
To clone your repository, use a command similar to:
git clone git://fedorapeople.org/~your_fedora_username/repo.git
It is also possible to clone your project via the http:// protocol. In order for this to work, you must arrange to have git-update-server-info
run whenever you update your repository. Typically, this is done with a post-update hook script. However, the user home directories on fedorapeople.org are mounted with the noexec option, which prevents the script from running. Instead, you may create a symbolic link to git-update-server-info
in the hooks directory of your repository:
ssh ~your_fedora_username@fedorapeople.org cd ~/public_git/repo.git/hooks ln -svbf /usr/bin/git-update-server-info post-update
You also need to create a link from ~/public_html/git to ~/public_git:
cd ~/public_html ln -svbf ../public_git git
You can clone your repository over http:// with a command similar to:
git clone http://your_fedora_username.fedorapeople.org/git/repo.git/
Browsing your project via gitweb
You can see your project listed in gitweb once the project list updates. This happens hourly. Note that the gitweb URL may change.