Publish developer repositories on cgit: Difference between revisions

From Alpine Linux
(How to publish developer repos on cgit (confirmed that it works))
 
m (Added having remote upstream source)
Line 31: Line 31:
We no longer need the local bare repository.
We no longer need the local bare repository.
{{cmd|rm -rf mytest.git}}
{{cmd|rm -rf mytest.git}}
== Add upstream source to merge with ==
If the project you uploaded is a clone of an existing repo (aports for example), add the original source as a git remote repository ("upstream" can be whatever name you want to assign to the remote repository):
{{cmd|git remote add upstream git://git.alpinelinux.org/aports}}
Then, to synchronize your local copy with upstream then push your changes (might need to fix merge conflicts if/when they happen):
{{cmd|git pull upstream master
git push}}

Revision as of 20:25, 31 January 2011

Developers with ssh access can publish their repositories repositories on cgit.

Create a repository

Create a directory on your private computer

mkdir mytest cd mytest

init git and create a first commit

echo "testing" > test.txt git init git add . git commit -m 'initial commit'

Create a bare repo

Clone it to a bare repo

cd .. git clone --bare mytest mytest.git

Set the description

echo "My git/cgit test" > mytest.git/description

Publish it on git.alpinelinux.org

Set the section for cgit

vim mytest.git/cgitrc

Add something like this to the file

section=Developer ncopa

Copy the content to ~/cgit dir on git.alpinelinux.org

scp -r mytest.git git.alpinelinux.org:cgit/

Clean up

We no longer need the local bare repository.

rm -rf mytest.git

Add upstream source to merge with

If the project you uploaded is a clone of an existing repo (aports for example), add the original source as a git remote repository ("upstream" can be whatever name you want to assign to the remote repository):

git remote add upstream git://git.alpinelinux.org/aports

Then, to synchronize your local copy with upstream then push your changes (might need to fix merge conflicts if/when they happen):

git pull upstream master git push