Differences between revisions 4 and 24 (spanning 20 versions)
Revision 4 as of 2006-12-30 16:29:37
Size: 3091
Editor: ThiloPfennig
Comment: hm schlechte "Übersetzung"
Revision 24 as of 2009-05-19 19:30:57
Size: 3917
Editor: localhost
Comment: converted to 1.6 markup
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. #language de
Line 3: Line 3:
== 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:
This is a translated version of QuickStart. This is the mock-german version.

== Vorbemerkung zur Übersetzung ==
Es ist nicht immer einfach die passenden Worte zu finden für wichtige Begriffe. Zum einen sind Begriffe wie "merge" für Nutzer, die sich mit Versionssystemen auskennen gängig, gleichzeitig handelt es sich dabei aber im englischen um gebräuchliche Worte. Deswegen versuchen wir hier auch diese Begriffe zum Teil zu übersetzen oder erläutern, damit es auch Neueinsteigern in das Thema leichter fällt Mercurial zu benutzen. Unten auf der Seiten findet ihr ein kleines Lexikon. Die Übersetzungen sind dabei zur Zeit noch diskutabel.


== Einen Benutzernamen setzen ==
Voreingestellt nutzt Mercurial für Übergaben 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:
Line 8: Line 14:
username = Author Name <email@address> username = Vorname Nachname <email@seite.de>
Line 14: Line 20:
Wenn Du eine URL hast für ein browsbares Projekt-Repository (zB: http://selenic.com/hg), kannst Du eine Kopie so holen: Wenn Du eine URL für ein browsbares Projekt-Repository hast (z. B: http://selenic.com/hg), kannst Du folgendermaßen eine Kopie anlegen:
Line 20: Line 26:
Dies erzeugt ein neues Verzeichnis das hg (voreingestellt) heisst, holt eine komplette Projekt-Historie und checkt das "tipmost" Changeset aus. Dies erzeugt ein neues Verzeichnis namens {{{hg}}} (voreingestellt), holt eine komplette Projekt-Historie und checkt das neueste Changeset aus.
Line 23: Line 29:
== Ein Mercurial-Projekt einrichten == == Ein neues Mercurial-Projekt einrichten ==

Ein neues hg-Repository (kurz: "Repo") wird aus einem existierende Projektverzeichnis wie folgt eingerichtet:
Line 28: Line 36:
$ <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 34: Line 38:
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 # Übergebe alle Änderungen, bearbeite Changelog-Eintrag
}}}
Line 40: Line 72:
$ hg clone linux linux-work # erzeuge einen neuen Branch (Zweig)
$ cd linux-work
$ hg clone projekt projekt-work # erzeugt einen neuen Zweig
$ cd projekt-work
Line 44: Line 76:
$ 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        # vereinigt den neuen Hinweis ("tip") von projekt-work in unser Arbeitsverzeichnis
$ hg commit        # übergibt alle Ergebnisse der Vereinigung
Line 52: Line 82:
== Patches importieren ==
Line 54: Line 83:
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 78: Line 89:
$ hg tip
28237:747a537bd090880c29eae861df4d81b245aa0190
$ hg export 28237 > foo.patch # exportiere Changeset 28237
$ hg export tip # exportiert den letzten Commit
Line 86: Line 95:
# hole vom primären Mercurial Repo # Klonen vom primären Mercurial Repo
Line 90: Line 99:
# exportiere Dein aktuelles Repo via HTTP mit browsbarer Schnittstelle
foo$ hg serve -n "Mein repo" -p 80
# Aktualisiert ein existierendes Repo
foo$ hg pull http://selenic.com/hg/
Line 93: Line 102:
# pushe Änderungen zu einem entfernten Repo mit SSH
foo$ hg push ssh://user@example.com/~/hg/
# Exportier Dein aktuelles Repo via HTTP mit browsbarer Schnittstelle
foo$ hg serve -n "My repo" -p 80
Line 96: Line 105:
# merge Änderungen von einer Remotemaschine
bar$ hg pull http://foo/
bar$ hg merge # merge Änderungen in Dein Arbeitsverzeichnis
# Schubst Änderungen zu einem entfernten Repo mit SSH
foo$ hg push ssh://user@example.com/hg/
}}}
Line 100: Line 109:
# 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
}}}


== Kleines Lexikon ==

|| '''engl. Begriff'' || '''Übersetzung''' ||
|| branch || Zweig ||
|| merge || vereinigen ||
|| commit || übergeben ||
|| push || schubsen ||

This is a translated version of QuickStart. This is the mock-german version.

Vorbemerkung zur Übersetzung

Es ist nicht immer einfach die passenden Worte zu finden für wichtige Begriffe. Zum einen sind Begriffe wie "merge" für Nutzer, die sich mit Versionssystemen auskennen gängig, gleichzeitig handelt es sich dabei aber im englischen um gebräuchliche Worte. Deswegen versuchen wir hier auch diese Begriffe zum Teil zu übersetzen oder erläutern, damit es auch Neueinsteigern in das Thema leichter fällt Mercurial zu benutzen. Unten auf der Seiten findet ihr ein kleines Lexikon. Die Übersetzungen sind dabei zur Zeit noch diskutabel.

Einen Benutzernamen setzen

Voreingestellt nutzt Mercurial für Übergaben 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 (voreingestellt), holt eine komplette Projekt-Historie und checkt das neueste Changeset aus.

Ein neues Mercurial-Projekt einrichten

Ein neues hg-Repository (kurz: "Repo") 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         # Übergebe alle Änderungen, bearbeite Changelog-Eintrag

Branching und Merging

$ hg clone projekt projekt-work    # erzeugt einen neuen Zweig
$ cd projekt-work
$ <mache Änderungen>
$ hg commit
$ cd ../projekt
$ hg pull ../projekt-work          # holt die Changesets von projekt-work
$ hg merge                         # vereinigt den neuen Hinweis ("tip") von projekt-work in unser Arbeitsverzeichnis
$ hg commit                        # übergibt alle Ergebnisse der Vereinigung

Einen Patch exportieren

(mache Änderungen)
$ hg commit
$ hg export tip   # exportiert den letzten Commit

Netzwerksupport

# Klonen vom primären Mercurial Repo
foo$ hg clone http://selenic.com/hg/
foo$ cd hg

# Aktualisiert ein existierendes Repo
foo$ hg pull http://selenic.com/hg/

# Exportier Dein aktuelles Repo via HTTP mit browsbarer Schnittstelle
foo$ hg serve -n "My repo" -p 80

# Schubst Änderungen zu einem entfernten Repo mit SSH
foo$ hg push ssh://user@example.com/hg/

Kleines Lexikon

engl. Begriff

Übersetzung

branch

Zweig

merge

vereinigen

commit

übergeben

push

schubsen

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