Differences between revisions 3 and 4
Revision 3 as of 2006-12-30 16:24:37
Size: 2711
Editor: ThiloPfennig
Comment: +Einen Usernamen setzen
Revision 4 as of 2006-12-30 16:29:37
Size: 3091
Editor: ThiloPfennig
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

QuickStartDe (last edited 2017-01-20 05:11:10 by timeless)