2388
Comment:
|
3432
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
this is a translated version of QuickStart. This is the german version. == Ein Mercurial-Projekt einrichten == |
#language de This is a translated version of QuickStart. This is the mock-german version. == Einen Benutzernamen setzen == Voreingestellt nutzt Mercurial für Commits einen Benutzernamen der Form '{{{user@localhost}}}'. Dieser ist oft bedeutungslos. Es ist das beste eine richtige E-Mail-Adresse in `~/.hgrc` (oder auf einem Windows-System {{{%USERPROFILE%\Mercurial.ini}}}) zu konfigurieren, in dem man folgende Zeilen hinzufügt: {{{ [ui] username = Vorname Nachname <email@seite.de> }}} == An einem existierenden Mercurial-Projekt arbeiten == Wenn Du eine URL für ein browsbares Projekt-Repository hast (z. B: http://selenic.com/hg), kannst Du folgendermaßen eine Kopie anlegen: {{{ $ hg clone http://selenic.com/hg }}} Dies erzeugt ein neues Verzeichnis namens {{{hg}}}, holt eine komplette Projekt-Historie und checkt das neueste Changeset aus. == Ein neues Mercurial-Projekt einrichten == Ein neues hg-Repository wird aus einem existierende Projektverzeichnis wie folgt eingerichtet: |
Line 7: | Line 32: |
$ <create .hgignore file> $ hg status # zeige alle nicht-ignorierten Dateien $ hg add # füge diese 'unbekannten' Dateien hinzu $ hg commit # committe alle Änderungen , editiere den Changelog-Eintrag |
|
Line 13: | Line 34: |
Mercurial wird nach einer Datei names [".hignore"] sehen im root-Verzeichnis Deines Repositories, das eine Reihe von Regulären Ausdrücken beinhaltet, die in Dateipfaden ignoriert werden sollen. | Mercurial berücksichtigt falls existent eine Datei [".hgignore"] im root-Verzeichnis Deines Repositories, das eine Reihe von regulären Ausdrücken beinhalten kann, die in Dateipfaden ignoriert werden sollen: {{{ syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$ }}} Teste Deine .hgignore Datei mit: {{{ $ hg status # zeigt alle nicht-ignorierten Dateien }}} Dieses Kommando zeigt alle Dateien an, die nicht ignoriert werden mit de 'U'-Flag (unbekannt). Bearbeite Deine .hgignore Datei bis nur die Dateien. die Du verfolgen willst durch status gelistet werden. Es empfiehlt sich, die .hgignore Datei auch durch Mercurial verwalten zu lassen, jedoch keine Dateien, die durch den Build-Prozess erzeugt werden. Wenn Du zufrieden bist, füge Deine Dateien hinzu und committe: {{{ $ hg add # füge diese 'unbekannten' Dateien hinzu $ hg commit # committe alle Änderungen, bearbeite Changelog-Eintrag }}} |
Line 19: | Line 68: |
$ hg clone linux linux-work # erzeuge einen neuen Branch (Zweig) $ cd linux-work |
$ hg clone projekt projekt-work # erzeugt einen neuen Branch (Zweig) $ cd projekt-work |
Line 23: | Line 72: |
$ cd ../linux $ hg pull ../linux-work # hole die Changesets von linux-work $ hg merge # merge den neuen tip (hinweis) von linux-work in # (alte Versionen benutzen stattdessen "hg update -m") # das Arbeitsverzeichnis $ hg commit # committe alle Ergebnisse des Merge |
$ cd ../projekt $ hg pull ../projekt-work # holt die Changesets von projekt-work $ hg merge # merged den neuen tip (hinweis) von projekt-work in # (alte Versionen benutzen stattdessen "hg update -m") # das Arbeitsverzeichnis $ hg commit # committed alle Ergebnisse des Merge |
Line 31: | Line 80: |
== Patches importieren == | |
Line 33: | Line 81: |
Schnell: {{{ $ patch < ../p/foo.patch $ hg addremove # Füge Dateien hinzu und lösche Dateien, # die von dem Patch hinzugefügt oder gelöscht wurden. $ hg commit }}} Schneller: {{{ $ patch < ../p/foo.patch $ hg commit `lsdiff -p1 ../p/foo.patch` }}} Am schnellsten: {{{ $ cat ../p/patchlist | xargs hg import -p1 -b ../p }}} |
|
Line 57: | Line 87: |
$ hg tip 28237:747a537bd090880c29eae861df4d81b245aa0190 $ hg export 28237 > foo.patch # exportiere Changeset 28237 |
$ hg export tip # exportiert den letzten Commit |
Line 72: | Line 100: |
# pushe Änderungen zu einem entfernten Repo mit SSH | # pushed Änderungen zu einem entfernten Repo mit SSH |
Line 75: | Line 103: |
# merge Änderungen von einer Remotemaschine | # merged Änderungen von einer Remotemaschine |
This is a translated version of QuickStart. This is the mock-german version.
Einen Benutzernamen setzen
Voreingestellt nutzt Mercurial für Commits einen Benutzernamen der Form 'user@localhost'. Dieser ist oft bedeutungslos. Es ist das beste eine richtige E-Mail-Adresse in ~/.hgrc (oder auf einem Windows-System %USERPROFILE%\Mercurial.ini) zu konfigurieren, in dem man folgende Zeilen hinzufügt:
[ui] username = Vorname Nachname <email@seite.de>
An einem existierenden Mercurial-Projekt arbeiten
Wenn Du eine URL für ein browsbares Projekt-Repository hast (z. B: http://selenic.com/hg), kannst Du folgendermaßen eine Kopie anlegen:
$ hg clone http://selenic.com/hg
Dies erzeugt ein neues Verzeichnis namens hg, holt eine komplette Projekt-Historie und checkt das neueste Changeset aus.
Ein neues Mercurial-Projekt einrichten
Ein neues hg-Repository wird aus einem existierende Projektverzeichnis wie folgt eingerichtet:
$ cd projekt/ $ hg init # erzeugt .hg
Mercurial berücksichtigt falls existent eine Datei [".hgignore"] im root-Verzeichnis Deines Repositories, das eine Reihe von regulären Ausdrücken beinhalten kann, die in Dateipfaden ignoriert werden sollen:
syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$
Teste Deine .hgignore Datei mit:
$ hg status # zeigt alle nicht-ignorierten Dateien
Dieses Kommando zeigt alle Dateien an, die nicht ignoriert werden mit de 'U'-Flag (unbekannt). Bearbeite Deine .hgignore Datei bis nur die Dateien. die Du verfolgen willst durch status gelistet werden. Es empfiehlt sich, die .hgignore Datei auch durch Mercurial verwalten zu lassen, jedoch keine Dateien, die durch den Build-Prozess erzeugt werden. Wenn Du zufrieden bist, füge Deine Dateien hinzu und committe:
$ hg add # füge diese 'unbekannten' Dateien hinzu $ hg commit # committe alle Änderungen, bearbeite Changelog-Eintrag
Branching und Merging
$ hg clone projekt projekt-work # erzeugt einen neuen Branch (Zweig) $ cd projekt-work $ <mache Änderungen> $ hg commit $ cd ../projekt $ hg pull ../projekt-work # holt die Changesets von projekt-work $ hg merge # merged den neuen tip (hinweis) von projekt-work in # (alte Versionen benutzen stattdessen "hg update -m") # das Arbeitsverzeichnis $ hg commit # committed alle Ergebnisse des Merge
Einen Patch exportieren
(mache Änderungen) $ hg commit $ hg export tip # exportiert den letzten Commit
Netzwerksupport
# hole vom primären Mercurial Repo foo$ hg clone http://selenic.com/hg/ foo$ cd hg # exportiere Dein aktuelles Repo via HTTP mit browsbarer Schnittstelle foo$ hg serve -n "Mein repo" -p 80 # pushed Änderungen zu einem entfernten Repo mit SSH foo$ hg push ssh://user@example.com/~/hg/ # merged Änderungen von einer Remotemaschine bar$ hg pull http://foo/ bar$ hg merge # merge Änderungen in Dein Arbeitsverzeichnis # Setze einen CGI-Server auf Deinem Webserver auf foo$ cp hgwebdir.cgi ~/public_html/hg/index.cgi foo$ emacs ~/public_html/hg/index.cgi # adjust the defaults