Jump to content

Neon/Git: Difference between revisions

From KDE Community Wiki
Riddell (talk | contribs)
No edit summary
Riddell (talk | contribs)
No edit summary
Line 23: Line 23:


This is now done through invent.kde.org which can also be set to clone another git repo
This is now done through invent.kde.org which can also be set to clone another git repo
=== Pushing merges ===
KDE git has a hook to prevent 100s of commits in one push but sometimes that is what we need if we are merging in from e.g. Debian.  Push with
{{Input|1=<nowiki>git push -o notification.summarise</nowiki>}}


=== The Set Up===
=== The Set Up===

Revision as of 12:43, 7 August 2021

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

Pushing merges

KDE git has a hook to prevent 100s of commits in one push but sometimes that is what we need if we are merging in from e.g. Debian. Push with

git push -o notification.summarise

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