Add support for phases
This adds a "publish" permission level (between "init" and "write") required to
be able to change the phase of a changeset from "draft" to "public".
Update documentation accordingly.
This is meant to be used for using the changeset evolution feature of mercurial,
see http://evolution.experimentalworks.net/doc/
+ − #!/usr/bin/env make -f
+ −
+ − PREFIX=/usr/local/share
+ − LIBDIR=$(PREFIX)/mercurial-server
+ − DOCDIR=$(PREFIX)/doc/mercurial-server
+ − ETCDIR=/etc/mercurial-server
+ − NEWUSER=hg
+ − DOCBOOK_XSL?=/usr/share/xml/docbook/stylesheet/nwalsh
+ −
+ − INSTALL=install
+ −
+ − build: build/html/index.html pythonbuild
+ −
+ − setup-adduser: installfiles adduser inituser
+ −
+ − # WARNING: this is experimental
+ − setup-useradd: installfiles useradd inituser
+ −
+ − # WARNING: this is experimental
+ − setup-windows: installfiles adduser-windows
+ −
+ − installetc:
+ − $(INSTALL) -d $(DESTDIR)$(ETCDIR)
+ − $(INSTALL) -m 644 -t $(DESTDIR)$(ETCDIR) \
+ − src/init/conf/access.conf
+ − $(INSTALL) -d $(DESTDIR)$(ETCDIR)/remote-hgrc.d
+ − $(INSTALL) -m 644 -t $(DESTDIR)$(ETCDIR)/remote-hgrc.d \
+ − src/init/conf/remote-hgrc.d/access.rc \
+ − src/init/conf/remote-hgrc.d/logging.rc
+ − $(INSTALL) -d $(DESTDIR)$(ETCDIR)/keys/root
+ − $(INSTALL) -d $(DESTDIR)$(ETCDIR)/keys/users
+ −
+ − installdoc: build/html/index.html
+ − $(INSTALL) -d $(DESTDIR)$(DOCDIR)
+ − $(INSTALL) -m 644 -t $(DESTDIR)$(DOCDIR) README
+ − $(INSTALL) -d $(DESTDIR)$(DOCDIR)/html
+ − $(INSTALL) -m 644 -t $(DESTDIR)$(DOCDIR)/html build/html/index.html
+ −
+ − build/html/index.html: doc/manual.docbook
+ − xsltproc --nonet -o $@ $(DOCBOOK_XSL)/html/docbook.xsl $^
+ −
+ − build/pdf/manual.pdf: doc/manual.docbook
+ − mkdir -p build/pdf
+ − fop -xml $^ -xsl $(DOCBOOK_XSL)/fo/docbook.xsl $@
+ −
+ − pythonbuild:
+ − python setup.py build
+ −
+ − pythoninstall:
+ − python setup.py install \
+ − --install-purelib=$(DESTDIR)$(LIBDIR) \
+ − --install-platlib=$(DESTDIR)$(LIBDIR) \
+ − --install-scripts=$(DESTDIR)$(LIBDIR) \
+ − --install-data=$(DESTDIR)$(LIBDIR)
+ −
+ − installfiles: installetc installdoc pythoninstall
+ −
+ − adduser:
+ − adduser --system --shell /bin/sh --group --disabled-password \
+ − --home /var/lib/mercurial-server \
+ − --gecos "Mercurial repositories" $(NEWUSER)
+ −
+ − # WARNING: this is experimental
+ − useradd:
+ − useradd --system --shell /bin/sh \
+ − --home /var/lib/mercurial-server --create-home \
+ − --comment "Mercurial repositories" $(NEWUSER)
+ −
+ − # WARNING: this is experimental
+ − adduser-windows:
+ − net user $(NEWUSER) /add
+ −
+ − inituser:
+ − su -l -c "$(DESTDIR)$(LIBDIR)/init/hginit $(DESTDIR)$(LIBDIR)" $(NEWUSER)
+ −
+ − # WARNING: this is experimental
+ − inituser-windows:
+ − mkdir /home/$(NEWUSER)
+ − chown $(NEWUSER) /home/$(NEWUSER)
+ − chmod 755 $(DESTDIR)$(LIBDIR)/init/*
+ − ssh $(NEWUSER)@localhost "sh $(DESTDIR)$(LIBDIR)/init/hginit $(DESTDIR)$(LIBDIR)"
+ −