Mercurial Deployment on os.o
From Genunix
Contents |
Overview
We are using the bundled Mercurial on OpenSolaris servers. So an upgrade should look like this:
- update and test the hooks in
SUNWonbld, if necessary.
- update and test the hooks package(s) in
scm-host-repo, if necessary.- the current upgrade instructions are pretty heavy-weight (assumes pkgrm and pkgadd of more than just the hooks); what's the minimum set of steps if we're just updating Python extensions?
- work out with the ops team the correct Solaris version/build, the list of systems that need upgrading, and the schedule. At least the application servers and NFS servers will need upgrading. Also coordinate the update of
SUNWonbldand thescm-host-repopackages, if needed.
scm-host-repo
scm-host-repo has the server server-side packages that aren't available elsewhere (e.g., as part of Solaris). It is currently internal to Sun. The packages of interest are OSOL0common and OSOL0repo.
scm-host-repo also has some documentation on the SCM server setup.
scm-host-repo hasn't been actively maintained for awhile, so some sanity testing and cleanup would be good:
- build the workspace
- build the
OSOL0commonandOSOL0repopackages - compare the contents of the packages with what's currently deployed. they should be the same.
- remove out-of-date package instances.
- oss-nfs1 has an instance of
OSOL0scm
- oss-nfs1 has an instance of
We should eventually move the documentation and code to an external repository. We'll first need to remove sensitive information (e.g., passwords) from the repo.
historical notes
It looks like OSOL0scm was deleted and its contents moved into OSOL0repo as part of garypen's 2006-11-2 package refactoring.
Testing
Ideally, we'd have a dummy gate that we can use for testing. We have hardware for it (scm1), but it hasn't been set up for testing.
OpenGrok depends on Mercurial, so we should sanity test it, too, after a Mercurial update. (Any other services that should be tested?)
test cases (SCM operation)
- push 1 changeset
- push multiple changesets
- anonymous pull
- pull as authenticated user
test cases (SCM console)
- add a repo
- delete a repo (when it's finally supported)
- add/remove committers
test cases (OpenGrok)
- restart indexing?
- index Mercurial-managed repo
- index Subversion-managed repo
