Hotfix release available: 2025-05-14b "Librarian".
upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian".
upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian".
upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos".
upgrade now! [55.2] (what's this?)
rechner:mercurial
Table of Contents
http Repo mit lighttpd
Anleitung in http://mercurial.selenic.com/wiki/HgWebDirStepByStep
- apt-get install lighttpd
- vi /etc/lighttpd/lighttpd.conf : enable mode_rewrite
- mkdir /home/hg
- cp hgwebdir.cgi /home/hg
- vi hgweb.config
Projekt in Repo aufnehmen
Repo ist schon eingerichtet und konfiguriert
- su www-data
- 3n: cd /home/hg/repos
- hg init teamfunk
- vi teamfunk/.hg/hgrc
[web] allow_push = * push_ssl = false allow_archive = gz zip bz2 - local: ggf vorhandenes teamfunk verzeichnis umbenennen: mv teamfunk teamfunkzz
- repo clonen: hg clone teamfunk
- arbeiten (ggf. vorhandene dateien kopieren: cp teamfunkzz/* teamfunk)
- loakles hg-repo pushen. s222: hg push http:/3n:8000/hg/teamfunk
Mögliche Alternative
(bei diesem Verfahren hat das Arbeitsverzeichnis schon ein .hg):
- Archive auf lokalem Verzeichnis, commited
- auf localem Verzeichnis (s222): hg serve
- als www-data auf 3n:
cd /home/hg/repos; hg clone -U http://s222:8000/ penta - ggf. .hg/hgrc anpassen (cp von anderem repo-archive)
- lokales .hg/hgrc anpassen:
[paths] default = http://3n:8000/hg/penta
Rep via ssh auf v1
Schon vorhandenes lokales Rep. auf v1 spiegeln
- Neues rep. anlegen: hg init ssh: / / hg@3nec.de/repname
- ggf. in .hg/hgrc Pfad ändern; z.B
[paths] default = ssh://hg@3nec.de/lager - lokales Rep pushen: hg push
Nutzung
- diffs grafisch anschauen: diffuse filename, meld filename
- nur den Status der in hg vorhandenen Files listen: hg stat -q
- update vom Archiv, lokale Änderungen werden überschrieben: hg update -C
- versehentlich im Wokringdir gelöschte Datei aus Repo wieder herstellen (wird bei hg stat als !filename angezeigt): hg revert filename
- im working-dir nicht vorhandene Dateien auch im repo löschen (dateien werden mit !name angezeigt und dann beimm nächsten commit gelöscht),
ersetzt: hg forget <einzelne files>: hg remove -A - Dateien verschieben, statt mv file.c new/filezz.c: hg mv file.c new/filezz.c (hg führt dann lokalen mv und rep-mv aus)
- Nach merge-Konflikt Datei aus Rep übernehmen: hg resolve - - tool internal:other file
- Nach merge-Konflikt lokale Datei übernehmen: hg resolve - - tool internal:local file
Konfiguration
Externes Programme
In hgrc:
[extensions] hgext.extdiff= [extdiff] cmd.meld=
Dann kann meld als diff-viewer über:
hg meld file
aufgerufen werden
URL-Abkürzung
Systemweite URL-Abkürzung, auch für neue clones etc.
z.B. hg clone n:/ /naviglove
An Datei /etc/hgrc - anhängen/eintragen:
[extensions] hgext.schemes= [schemes] n = http://3n:8000/hg/
statt n kann eine beliebige Zeichenfolge verwendet werden.
CVS konvertieren
- CVS auschecken: cd tmp; cvs co lpssrc
- hg convert lpssrc
- Es wird ein Verzeichnis lpssrc-hg angelegt
- ggf. zur Kontrolle: cd lpssrc;hg update oder hg log filename etc.
- auf s223 repo anlegen
- hg push
rechner/mercurial.txt · Last modified: 2024/04/15 00:43 by 127.0.0.1
