Size: 2711
Comment: +Einen Usernamen setzen
|
Size: 3091
Comment: hm schlechte "Übersetzung"
|
Deletions are marked like this. | Additions are marked like this. |
Line 10: | Line 10: |
== An einem existierenden Mercurial-Projekt arbeiten == Wenn Du eine URL hast für ein browsbares Projekt-Repository (zB: http://selenic.com/hg), kannst Du eine Kopie so holen: {{{ $ hg clone http://selenic.com/hg }}} Dies erzeugt ein neues Verzeichnis das hg (voreingestellt) heisst, holt eine komplette Projekt-Historie und checkt das "tipmost" Changeset aus. |
this is a translated version of QuickStart. This is the german version.
Einen Usernamen setzen
Voreingestellt nutzt Mercurial für Commits einen Usernamen der Form 'user@localhost'. Dieser ist of bedeutungslos. Es ist das beste eine richtige Email_Adress in ~/.hgrc zu konfigurieren, in dem man folgende Zeilen hinzufügt:
[ui] username = Author Name <email@address>
An einem existierenden Mercurial-Projekt arbeiten
Wenn Du eine URL hast für ein browsbares Projekt-Repository (zB: http://selenic.com/hg), kannst Du eine Kopie so holen:
$ hg clone http://selenic.com/hg
Dies erzeugt ein neues Verzeichnis das hg (voreingestellt) heisst, holt eine komplette Projekt-Historie und checkt das "tipmost" Changeset aus.
Ein Mercurial-Projekt einrichten
$ cd projekt/ $ hg init # erzeugt .hg $ <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
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.
Branching und Merging
$ hg clone linux linux-work # erzeuge einen neuen Branch (Zweig) $ cd linux-work $ <mache Änderungen> $ hg commit $ 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
Patches importieren
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
Einen Patch exportieren
(mache Änderungen) $ hg commit $ hg tip 28237:747a537bd090880c29eae861df4d81b245aa0190 $ hg export 28237 > foo.patch # exportiere Changeset 28237
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 # pushe Änderungen zu einem entfernten Repo mit SSH foo$ hg push ssh://user@example.com/~/hg/ # merge Ä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