The Keyholder is currently hosted via diffusion. To ease the review of the debian packaging work we should move it to gerrit.
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T330844 Avoid to have too much different places (like Gerrit, GitHub, Differential, GitLab, ...) where code review may take place to help newcomers | |||
Resolved | Aklapper | T342041 Remove custom src/customfields/DifferentialApplyPatchWithOnlyGitField.php | |||
Resolved | Aklapper | T330797 Uninstall Differential (Phabricator application) | |||
Resolved | Aklapper | T324131 Remove "Active Differential users" stats from monthly community_metrics.sh email | |||
Resolved | Aklapper | T191182 Migrate active repositories in Phabricator Differential to GitLab | |||
Open | None | T203003 Keyholder phab repo duplicate work | |||
Resolved | faidon | T203108 Create keyholder gerrit repo |
Event Timeline
i think "operations/debs/" is used for if your planning on using the repo as a debian package repo?
I guess we should go with "operations/debs/" then :)
i think we use "operations/software/" if you planning on deploying it a different way like scp.
My vote is under operations/software, if not under some non-operations hierarchy.
The deployment method shouldn't affect the repository naming; the operations/debs tree is for writing Debian packaging stuff for existing software for instance, or Debian-specific machinery.
Oh also, would it be possible to keep the (operations/puppet) history such as commit messages etc.? git filter-branch etc. should make this possible right?
I don't think there's much in the Diffusion fork that's useful right? Maybe the README etc. that we could cherry-pick or commit separately?
I've managed to do that and have a tree locally. So just create an empty repository in Gerrit (or I can, I guess?) and I'll push there the tree with history :)
@faidon: The main thing in the diffusion repo is the debian packaging work that we did to get it in shape for publishing a deb.
OK, I created a Gerrit repo under operations/software/keyholder and imported the existing history with:
git clone ~/wikimedia/puppet/ keyholder git remote rm origin git branch -m master git filter-branch --prune-empty --subdirectory-filter modules/keyholder/files --force HEAD git filter-branch --prune-empty --tree-filter 'rm -f keyholder-agent.conf keyholder-proxy.conf' --force HEAD git filter-branch --msg-filter "sed -r 's/^(keyholder|ssh-agent-proxy): (.)/\U\2/i'" --force HEAD git filter-branch --tree-filter 'if [ -f check_keyholder ]; then mkdir -p misc; mv check_keyholder misc/; fi' --force HEAD git filter-branch --tree-filter 'if [ -f keyholder ]; then mkdir -p bin; mv keyholder bin/; fi' --force HEAD # some manual log message fixes with git rebase -i git tag v1.0.0 git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d git reflog expire --expire=now --all git gc --aggressive --prune=now
I had a look and tried to import some of the other stuff but most weren't very applicable (e.g. CONTRIBUTING.md was about Diffusion) especially in the face of what I was about to push (basically rewriting most of keyholder :). As for the Debian packaging… I'll worry about a bit later, I think I can do that :P
I'd resolve this task, but I'm not sure what else needs to be done with regards to GitHub mirroring, CI etc.?
CI is now setup, we'll need to add a tox.ini file, I did that in:
https://gerrit.wikimedia.org/r/#/c/operations/software/keyholder/+/460065/ (which is passing: https://integration.wikimedia.org/ci/job/tox-docker/3789/console)
Feel free to leave review on that patch, but I think this task is resolved!