Site Tools


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

http Repo mit lighttpd

Anleitung in http://mercurial.selenic.com/wiki/HgWebDirStepByStep

  1. apt-get install lighttpd
  2. vi /etc/lighttpd/lighttpd.conf : enable mode_rewrite
  3. mkdir /home/hg
  4. cp hgwebdir.cgi /home/hg
  5. vi hgweb.config

Projekt in Repo aufnehmen

Repo ist schon eingerichtet und konfiguriert
  1. su www-data
  2. 3n: cd /home/hg/repos
  3. hg init teamfunk
  4. vi teamfunk/.hg/hgrc
        [web]
        allow_push = *
        push_ssl = false
        allow_archive = gz zip bz2 
  5. local: ggf vorhandenes teamfunk verzeichnis umbenennen: mv teamfunk teamfunkzz
  6. repo clonen: hg clone teamfunk
  7. arbeiten (ggf. vorhandene dateien kopieren: cp teamfunkzz/* teamfunk)
  8. loakles hg-repo pushen. s222: hg push http:/3n:8000/hg/teamfunk
Mögliche Alternative

(bei diesem Verfahren hat das Arbeitsverzeichnis schon ein .hg):

  1. Archive auf lokalem Verzeichnis, commited
  2. auf localem Verzeichnis (s222): hg serve
  3. als www-data auf 3n:
        cd /home/hg/repos;
        hg clone -U http://s222:8000/ penta
  4. ggf. .hg/hgrc anpassen (cp von anderem repo-archive)
  5. lokales .hg/hgrc anpassen:
        [paths]
        default = http://3n:8000/hg/penta

Rep via ssh auf v1

Schon vorhandenes lokales Rep. auf v1 spiegeln
  1. Neues rep. anlegen: hg init ssh: / / hg@3nec.de/repname
  2. ggf. in .hg/hgrc Pfad ändern; z.B
        [paths]
        default =  ssh://hg@3nec.de/lager
  3. lokales Rep pushen: hg push

Nutzung

  1. diffs grafisch anschauen: diffuse filename, meld filename
  2. nur den Status der in hg vorhandenen Files listen: hg stat -q
  3. update vom Archiv, lokale Änderungen werden überschrieben: hg update -C
  4. versehentlich im Wokringdir gelöschte Datei aus Repo wieder herstellen (wird bei hg stat als !filename angezeigt): hg revert filename
  5. 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
  6. 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)
  7. Nach merge-Konflikt Datei aus Rep übernehmen: hg resolve - - tool internal:other file
  8. 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

  1. CVS auschecken: cd tmp; cvs co lpssrc
  2. hg convert lpssrc
  3. Es wird ein Verzeichnis lpssrc-hg angelegt
  4. ggf. zur Kontrolle: cd lpssrc;hg update oder hg log filename etc.
  5. auf s223 repo anlegen
  6. hg push
rechner/mercurial.txt · Last modified: 2024/04/15 00:43 by 127.0.0.1