Neon/Git: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The Neon Git repositories are at http://git.edinburghlinux.co.uk
The Neon Git repositories are at https://invent.kde.org/neon


In the future all KDE contributors can commit to these on branches used by Neon and related projects.  It will reject commits on other branches.
All KDE contributors can commit to Neon/* branches or any branch for repositories under neon/, forks/, neon-packages/ directories, it will reject commits to other branches.


They are clones of the repositories used by Debian pkg-kde team http://anonscm.debian.org/cgit/pkg-kde/.  Any commits made to a Debian pkg-kde repository will be pulled into Neon Git immediately.
They are clones of the repositories used by Debian pkg-kde team https://salsa.debian.org/qt-kde-team/.  Any commits made to a Debian pkg-kde repository will be pulled into Neon Git immediately.


Add this to <code>~/.gitconfig</code>
Add this to <code>~/.gitconfig</code>
{{Input|1=<nowiki>[url "gitolite3@packaging.neon.kde.org.uk:"]
{{Input|1=<nowiki>
        insteadof = neon:</nowiki>}}
[url "git@invent.kde.org:"]
    insteadOf = invent:
[url "git@invent.kde.org:"]
    pushInsteadOf = invent:
</nowiki>}}
and clone with:
and clone with:
{{Input|1=<nowiki>git clone neon:plasma/khotkeys</nowiki>}}
{{Input|1=<nowiki>git clone invent:neon/kde/khotkeys</nowiki>}}


=== Anonymous Access ===
=== Anonymous Access ===


If you don't have a KDE account you can still clone the repo at
If you don't have a KDE account you can still clone the repo at
{{Input|1=<nowiki>git clone git://packaging.neon.kde.org.uk/plasma/khotkeys</nowiki>}}
{{Input|1=<nowiki>git clone https://invent.kde.org/neon/kde/khotkeys</nowiki>}}


=== Settings up new repositories ===


=== Admin ===
This is now done through invent.kde.org which can also be set to clone another git repo


The repository <code>neon:gitolite-admin</code> has gitolite setup, hooks and hook server.
=== The Set Up===


neon-hooks/pre-receive is a hook to check the branch can be committed to
* neon:gitolite-admin has hooks in .gitolite/hooks/common which are symlinks to neon-hooks/ that get added to new repositories
 
* .gitolite/hooks/update is the normal hook from gitolite that does whatever gitolite needs
debian-hooks/debian-to-neon-post-receive is a hook for debian pkg-kde git repos to call the neon server on updates
* neon-hooks/post-receive pings jenkins to start a new build
 
* neon-hooks/pre-receive rejects pushes to non-neon branches and sets up remote to Debian if it exists
server/server.py is an XML-RPC server run on the neon server which is called by the debian hook and fetches updates
* neon/website and neon/releases.neon.kde.org have a post-receive hook to update their websites (no longer used for websites at least)
 
* cron on the gitolite server runs bits to restart the servers and run the check scripts:
sync-repos-from-debian.py checks for all the repositories on in debian pkg-kde and adds any missing to neon.  This gets run nightly on Jonathan's server ''embra''.
{{Input|1=<nowiki>
 
# Hourly sync of new repositories from salsa.debian.org
It uses gitolite3 on weegie.edinburghlinux.co.uk, a server used by Neon and Kubuntu and administrated by Jonathan Riddell
@hourly python3 ~/config-sync/gitolite-admin/maintenance/update-gitolite-setup.py
 
# Daily full sync of all repositories from salsa.debian.org
Web interface is cgit
@daily python3 ~/config-sync/gitolite-admin/maintenance/update-gitolite-setup.py --fetch-all-repositories
</nowiki>}}

Revision as of 21:21, 15 October 2020

The Neon Git repositories are at https://invent.kde.org/neon

All KDE contributors can commit to Neon/* branches or any branch for repositories under neon/, forks/, neon-packages/ directories, it will reject commits to other branches.

They are clones of the repositories used by Debian pkg-kde team https://salsa.debian.org/qt-kde-team/. Any commits made to a Debian pkg-kde repository will be pulled into Neon Git immediately.

Add this to ~/.gitconfig

[url "[email protected]:"]
    insteadOf = invent:
[url "[email protected]:"]
    pushInsteadOf = invent:

and clone with:

git clone invent:neon/kde/khotkeys

Anonymous Access

If you don't have a KDE account you can still clone the repo at

git clone https://invent.kde.org/neon/kde/khotkeys

Settings up new repositories

This is now done through invent.kde.org which can also be set to clone another git repo

The Set Up

  • neon:gitolite-admin has hooks in .gitolite/hooks/common which are symlinks to neon-hooks/ that get added to new repositories
  • .gitolite/hooks/update is the normal hook from gitolite that does whatever gitolite needs
  • neon-hooks/post-receive pings jenkins to start a new build
  • neon-hooks/pre-receive rejects pushes to non-neon branches and sets up remote to Debian if it exists
  • neon/website and neon/releases.neon.kde.org have a post-receive hook to update their websites (no longer used for websites at least)
  • cron on the gitolite server runs bits to restart the servers and run the check scripts:
# Hourly sync of new repositories from salsa.debian.org
@hourly python3 ~/config-sync/gitolite-admin/maintenance/update-gitolite-setup.py
# Daily full sync of all repositories from salsa.debian.org
@daily python3 ~/config-sync/gitolite-admin/maintenance/update-gitolite-setup.py --fetch-all-repositories