Differences between revisions 9 and 19 (spanning 10 versions)
Revision 9 as of 2006-12-30 16:52:18
Size: 3664
Editor: ThiloPfennig
Comment:
Revision 19 as of 2007-09-01 13:40:46
Size: 3927
Editor: p549A0F3A
Comment:
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.


---- /!\ '''Edit conflict - other 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:

---- /!\ '''Edit conflict - your 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:

---- /!\ '''End of edit conflict''' ----
Line 8: Line 18:
username = Author Name <email@address> username = Vorname Nachname <email@seite.de>
Line 14: Line 24:
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 30:
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}}}, holt eine komplette Projekt-Historie und checkt das neueste Changeset aus.
Line 24: Line 34:
Du wirst damit anfangen wollen ein hg-Repository einzurichten:
Ein neues hg-Repository wird aus einem existierende Projektverzeichnis wie folgt eingerichtet:
Line 31: Line 42:
Mercurial wird nach einer Datei namens [".hgignore"] im root-Verzeichnis Deines Repositories sehen, 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:
Line 52: Line 63:
Dies wird alle Dateien listen, die die nicht ignotiert werden mit de 'U'-Flag (unberkannt). Bearbeite Deine .hgignore Datei bis nur die Dateien. die Du verfolgen willst nach Status gelistet werden.
Du wist Deine .hgignore Datei auch verfolgen wollen! Aber Du wirst wahrscheinlich nicht Dateien verfolgen, die durch den Build-Prozess erzeugt werden. Wenn Du zufrieden bist, setze Deine Dateien zum hinzufügen an und committe:
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:
Line 65: Line 76:
$ hg clone projekt projekt-work # erzeuge einen neuen Branch (Zweig) $ hg clone projekt projekt-work # erzeugt einen neuen Branch (Zweig)
Line 70: Line 81:
$ hg pull ../projekt-work # hole die Changesets von projekt-work
$ hg merge # merge den neuen tip (hinweis) von projekt-work in
                            # (alte Versionen benutzen stattdessen "hg update -m")
                            # das Arbeitsverzeichnis
$ hg commit # committe alle Ergebnisse des Merge
$ 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 77: Line 88:
== Patches importieren ==
Line 79: Line 89:
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 103: Line 95:
$ hg export tip # exportiere den letzten Commit $ hg export tip # exportiert den letzten Commit
Line 116: Line 108:
# pushe Änderungen zu einem entfernten Repo mit SSH # pushed Änderungen zu einem entfernten Repo mit SSH
Line 119: Line 111:
# merge Änderungen von einer Remotemaschine # merged Änderungen von einer Remotemaschine

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


/!\ Edit conflict - other 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:


/!\ Edit conflict - your 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:


/!\ End of edit conflict


[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

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