# HG changeset patch # User Matt Mackall # Date 1284671242 18000 # Node ID 8471261584a0fb17fb1f06488a71787e19b73080 # Parent fb10e46c16790fd048e77176a0b7df26c400a77f# Parent 2ae4d6c31dcc32d53fb55b54f5ebc2714ff218f2 merge with crew diff -r 2ae4d6c31dcc -r 8471261584a0 hgext/bookmarks.py --- a/hgext/bookmarks.py Wed Sep 15 17:48:03 2010 -0500 +++ b/hgext/bookmarks.py Thu Sep 16 16:07:22 2010 -0500 @@ -504,10 +504,12 @@ entry = extensions.wrapcommand(commands.table, 'pull', pull) entry[1].append(('B', 'bookmark', [], - _("bookmark to import"))) + _("bookmark to import"), + _('BOOKMARK'))) entry = extensions.wrapcommand(commands.table, 'push', push) entry[1].append(('B', 'bookmark', [], - _("bookmark to export"))) + _("bookmark to export"), + _('BOOKMARK'))) entry = extensions.wrapcommand(commands.table, 'incoming', incoming) entry[1].append(('B', 'bookmarks', False, _("compare bookmark"))) diff -r 2ae4d6c31dcc -r 8471261584a0 hgext/mq.py --- a/hgext/mq.py Wed Sep 15 17:48:03 2010 -0500 +++ b/hgext/mq.py Thu Sep 16 16:07:22 2010 -0500 @@ -771,7 +771,7 @@ if opts.get('rev'): if not self.applied: raise util.Abort(_('no patches applied')) - revs = cmdutil.revrange(repo, opts['rev']) + revs = cmdutil.revrange(repo, opts.get('rev')) if len(revs) > 1 and revs[0] > revs[1]: revs.reverse() revpatches = self._revpatches(repo, revs) @@ -1831,9 +1831,9 @@ """ q = repo.mq try: - q.qimport(repo, filename, patchname=opts['name'], - existing=opts['existing'], force=opts['force'], rev=opts['rev'], - git=opts['git']) + q.qimport(repo, filename, patchname=opts.get('name'), + existing=opts.get('existing'), force=opts.get('force'), + rev=opts.get('rev'), git=opts.get('git')) finally: q.save_dirty() @@ -1876,7 +1876,7 @@ This command is deprecated. Without -c, it's implied by other relevant commands. With -c, use :hg:`init --mq` instead.""" - return qinit(ui, repo, create=opts['create_repo']) + return qinit(ui, repo, create=opts.get('create_repo')) def clone(ui, source, dest=None, **opts): '''clone main and patch repository at same time @@ -1901,8 +1901,8 @@ if dest is None: dest = hg.defaultdest(source) sr = hg.repository(hg.remoteui(ui, opts), ui.expandpath(source)) - if opts['patches']: - patchespath = ui.expandpath(opts['patches']) + if opts.get('patches'): + patchespath = ui.expandpath(opts.get('patches')) else: patchespath = patchdir(sr) try: @@ -1925,20 +1925,20 @@ pass ui.note(_('cloning main repository\n')) sr, dr = hg.clone(ui, sr.url(), dest, - pull=opts['pull'], + pull=opts.get('pull'), rev=destrev, update=False, - stream=opts['uncompressed']) + stream=opts.get('uncompressed')) ui.note(_('cloning patch repository\n')) - hg.clone(ui, opts['patches'] or patchdir(sr), patchdir(dr), - pull=opts['pull'], update=not opts['noupdate'], - stream=opts['uncompressed']) + hg.clone(ui, opts.get('patches') or patchdir(sr), patchdir(dr), + pull=opts.get('pull'), update=not opts.get('noupdate'), + stream=opts.get('uncompressed')) if dr.local(): if qbase: ui.note(_('stripping applied patches from destination ' 'repository\n')) dr.mq.strip(dr, [qbase], update=False, backup=None) - if not opts['noupdate']: + if not opts.get('noupdate'): ui.note(_('updating destination repository\n')) hg.update(dr, dr.changelog.tip()) @@ -1954,7 +1954,7 @@ def series(ui, repo, **opts): """print the entire series file""" - repo.mq.qseries(repo, missing=opts['missing'], summary=opts['summary']) + repo.mq.qseries(repo, missing=opts.get('missing'), summary=opts.get('summary')) return 0 def top(ui, repo, **opts): @@ -2021,7 +2021,7 @@ """ msg = cmdutil.logmessage(opts) def getmsg(): - return ui.edit(msg, opts['user'] or ui.username()) + return ui.edit(msg, opts.get('user') or ui.username()) q = repo.mq opts['msg'] = msg if opts.get('edit'): @@ -2054,7 +2054,7 @@ """ q = repo.mq message = cmdutil.logmessage(opts) - if opts['edit']: + if opts.get('edit'): if not q.applied: ui.write(_("no patches applied\n")) return 1 @@ -2110,7 +2110,7 @@ q.check_localchanges(repo) message = cmdutil.logmessage(opts) - if opts['edit']: + if opts.get('edit'): if message: raise util.Abort(_('option "-e" incompatible with "-m" or "-l"')) @@ -2144,7 +2144,7 @@ message.extend(msg) message = '\n'.join(message) - if opts['edit']: + if opts.get('edit'): message = ui.edit(message, user or ui.username()) diffopts = q.patchopts(q.diffopts(), *patches) @@ -2157,9 +2157,9 @@ q = repo.mq patch = q.lookup(patch) if q.isapplied(patch): - ret = q.pop(repo, patch, force=opts['force']) + ret = q.pop(repo, patch, force=opts.get('force')) else: - ret = q.push(repo, patch, force=opts['force']) + ret = q.push(repo, patch, force=opts.get('force')) q.save_dirty() return ret @@ -2205,8 +2205,8 @@ applied = set(p.name for p in q.applied) patch = None args = list(args) - if opts['list']: - if args or opts['none']: + if opts.get('list'): + if args or opts.get('none'): raise util.Abort(_('cannot mix -l/--list with options or arguments')) for i in xrange(len(q.series)): status(i) @@ -2219,7 +2219,7 @@ patch = args.pop(0) if patch is None: raise util.Abort(_('no patch to work with')) - if args or opts['none']: + if args or opts.get('none'): idx = q.find_series(patch) if idx is None: raise util.Abort(_('no patch named %s') % patch) @@ -2276,9 +2276,9 @@ q = repo.mq mergeq = None - if opts['merge']: - if opts['name']: - newpath = repo.join(opts['name']) + if opts.get('merge'): + if opts.get('name'): + newpath = repo.join(opts.get('name')) else: newpath, i = lastsavename(q.path) if not newpath: @@ -2286,7 +2286,7 @@ return 1 mergeq = queue(ui, repo.join(""), newpath) ui.warn(_("merging with queue at: %s\n") % mergeq.path) - ret = q.push(repo, patch, force=opts['force'], list=opts['list'], + ret = q.push(repo, patch, force=opts.get('force'), list=opts.get('list'), mergeq=mergeq, all=opts.get('all'), move=opts.get('move')) return ret @@ -2298,14 +2298,14 @@ top of the stack. """ localupdate = True - if opts['name']: - q = queue(ui, repo.join(""), repo.join(opts['name'])) + if opts.get('name'): + q = queue(ui, repo.join(""), repo.join(opts.get('name'))) ui.warn(_('using patch queue: %s\n') % q.path) localupdate = False else: q = repo.mq - ret = q.pop(repo, patch, force=opts['force'], update=localupdate, - all=opts['all']) + ret = q.pop(repo, patch, force=opts.get('force'), update=localupdate, + all=opts.get('all')) q.save_dirty() return ret @@ -2379,8 +2379,8 @@ This command is deprecated, use rebase --mq instead.""" rev = repo.lookup(rev) q = repo.mq - q.restore(repo, rev, delete=opts['delete'], - qupdate=opts['update']) + q.restore(repo, rev, delete=opts.get('delete'), + qupdate=opts.get('update')) q.save_dirty() return 0 @@ -2394,22 +2394,22 @@ if ret: return ret q.save_dirty() - if opts['copy']: + if opts.get('copy'): path = q.path - if opts['name']: - newpath = os.path.join(q.basepath, opts['name']) + if opts.get('name'): + newpath = os.path.join(q.basepath, opts.get('name')) if os.path.exists(newpath): if not os.path.isdir(newpath): raise util.Abort(_('destination %s exists and is not ' 'a directory') % newpath) - if not opts['force']: + if not opts.get('force'): raise util.Abort(_('destination %s exists, ' 'use -f to force') % newpath) else: newpath = savename(path) ui.warn(_("copy %s to %s\n") % (path, newpath)) util.copyfiles(path, newpath) - if opts['empty']: + if opts.get('empty'): try: os.unlink(q.join(q.status_path)) except: @@ -2435,13 +2435,13 @@ the local revision numbers will in general be different after the restore. - Use the --nobackup option to discard the backup bundle once the + Use the --no-backup option to discard the backup bundle once the operation completes. """ backup = 'all' - if opts['backup']: + if opts.get('backup'): backup = 'strip' - elif opts['nobackup']: + elif opts.get('no-backup') or opts.get('nobackup'): backup = 'none' cl = repo.changelog @@ -2479,7 +2479,7 @@ q.save_dirty() repo.mq.strip(repo, list(rootnodes), backup=backup, update=update, - force=opts['force']) + force=opts.get('force')) return 0 def select(ui, repo, *args, **opts): @@ -2517,7 +2517,7 @@ q = repo.mq guards = q.active() - if args or opts['none']: + if args or opts.get('none'): old_unapplied = q.unapplied(repo) old_guarded = [i for i in xrange(len(q.applied)) if not q.pushable(i)[0]] @@ -2525,7 +2525,7 @@ q.save_dirty() if not args: ui.status(_('guards deactivated\n')) - if not opts['pop'] and not opts['reapply']: + if not opts.get('pop') and not opts.get('reapply'): unapplied = q.unapplied(repo) guarded = [i for i in xrange(len(q.applied)) if not q.pushable(i)[0]] @@ -2537,7 +2537,7 @@ ui.status(_('number of guarded, applied patches has changed ' 'from %d to %d\n') % (len(old_guarded), len(guarded))) - elif opts['series']: + elif opts.get('series'): guards = {} noguards = 0 for gs in q.series_guards: @@ -2564,9 +2564,9 @@ ui.write(g, '\n') else: ui.write(_('no active guards\n')) - reapply = opts['reapply'] and q.applied and q.appliedname(-1) + reapply = opts.get('reapply') and q.applied and q.appliedname(-1) popped = False - if opts['pop'] or opts['reapply']: + if opts.get('pop') or opts.get('reapply'): for i in xrange(len(q.applied)): pushable, reason = q.pushable(i) if not pushable: @@ -2601,9 +2601,9 @@ an upstream repository, or if you are about to push your changes to upstream. """ - if not opts['applied'] and not revrange: + if not opts.get('applied') and not revrange: raise util.Abort(_('no revisions specified')) - elif opts['applied']: + elif opts.get('applied'): revrange = ('qbase::qtip',) + revrange q = repo.mq @@ -3087,7 +3087,8 @@ ('b', 'backup', None, _('bundle only changesets with local revision' ' number greater than REV which are not' ' descendants of REV (DEPRECATED)')), - ('n', 'nobackup', None, _('no backups'))], + ('n', 'no-backup', None, _('no backups')), + ('', 'nobackup', None, _('no backups (DEPRECATED)'))], _('hg strip [-f] [-n] REV...')), "qtop": (top, [] + seriesopts, _('hg qtop [-s]')), "qunapplied": diff -r 2ae4d6c31dcc -r 8471261584a0 i18n/de.po --- a/i18n/de.po Wed Sep 15 17:48:03 2010 -0500 +++ b/i18n/de.po Thu Sep 16 16:07:22 2010 -0500 @@ -1,31 +1,45 @@ # German translations for Mercurial # Deutsche Übersetzungen für Mercurial # Copyright (C) 2009 Matt Mackall and others -# -# Übersetzungen -# ============= -# branch Zweig/Verzweigung -# bundle Bündel -# change Änderung -# changeset Änderungssatz -# check out auschecken -# commit Version -# commit (v) übernehmen -# deprecated veraltet -# hook Aktion -# merge zusammenführen -# notation Schreibweise -# repository (Projekt)archiv +# +# Übersetzungshilfen +# ================== +# +# Der Benutzer sollte mit formeller Anrede angesprochen werden. Je nach +# Fall kann aber auch eine unpersönliche Anrede ("man") verwendet werden. +# +# Deutsche Begriffe sind fein, man sollte es aber nicht übertreiben. Ein +# Hilfstext à la "Beim Versionieren von Etiketten auf Zweigen" hilft +# niemandem. Erfahrene Benutzer sind kurz irritiert, weil sie bekannte +# Begriffe vermissen, während neue Nutzer sich eh noch nichts unter den +# Begriffen vorstellen können und entweder `hg help` oder Google bemühen +# müssen. +# Gleichzeitig bringt fördert Suche nach "Mercurial Etikett" wenig +# Brauchbares zu Tage. +# Hier sollten diese krassen Eindeutschungen nur in der Erklärung zu "tag" +# verwendet, sonst aber eher vermieden werden. +# +# branch Branch/Zweig/Verzweigung +# bundle Bündel +# change Änderung +# changeset Änderungssatz +# check out auschecken +# commit Commit +# commit (v) übernehmen +# deprecated veraltet +# hook Aktion +# merge zusammenführen +# notation Schreibweise +# repository Projektarchiv # manage/track versionieren -# -# Die Koordination der Übersetzung erfolgt auf https://bitbucket.org/FabianKreutz/hg-i18n-de/ +# msgid "" msgstr "" "Project-Id-Version: Mercurial\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-11-13 10:15+0200\n" -"PO-Revision-Date: 2009-10-20 18:09+0200\n" -"Last-Translator: Fabian Kreutz \n" +"PO-Revision-Date: 2010-09-13 03:38+0100\n" +"Last-Translator: Christoph Mewes \n" "Language-Team: German (Tobias Bell, Fabian Kreutz, Lutz Horn)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -209,11 +223,17 @@ "a file is compatible with the unified format of GNU diff, which can be\n" "used by GNU patch and many other standard tools." msgstr "" +"Das Standardformat von Mercurial für das Anzeigen von Änderungen\n" +"zwischen zwei Versionen einer Datei ist mit dem Unified-Format von GNU\n" +"diff kompatibel und kann mit GNU patch und vielen anderen\n" +"Standard-Werkzeugen genutzt werden." msgid "" "While this standard format is often enough, it does not encode the\n" "following information:" msgstr "" +"Obwohl das Standarformat oft ausreichend ist, kodiert es nicht die\n" +"folgenden Informationen:" msgid "" "- executable status and other permission bits\n" @@ -221,6 +241,10 @@ "- changes in binary files\n" "- creation or deletion of empty files" msgstr "" +"- Ausführbarkeit und andere Berechtigungen\n" +"- Kopier- oder Verschiebeoperationen\n" +"- Änderungen in Binärdateien\n" +"- Erstellen/Löschen leerer Dateien" msgid "" "Mercurial also supports the extended diff format from the git VCS\n" @@ -228,6 +252,10 @@ "by default because a few widespread tools still do not understand this\n" "format." msgstr "" +"Mercurial unterstützt auch das erweiterte diff-Format vom Git VCS,\n" +"das diese Einschränkungen nicht aufweist. Das Git-Format wird nicht\n" +"standardmäßig erzeugt, da einige weit verbreitete Werkzeuge es noch\n" +"nicht unterstützen." msgid "" "This means that when generating diffs from a Mercurial repository\n" @@ -238,6 +266,13 @@ "pull) are not affected by this, because they use an internal binary\n" "format for communicating changes." msgstr "" +"Das bedeutet, dass beim Erzeugen von Diffs für ein Mercurial\n" +"Projektarchiv (z.B. mit \"hg export\") auf Operationen wie Kopieren,\n" +"Verschieben und die anderen oben genannten Dinge achten sollte,\n" +"da beim Anwenden eines Standard-Diffs auf ein anderes Projektarchiv\n" +"diese Zusatzinformationen verlorengehen. Mercurials interne Operationen\n" +"(wie Push und Pull) sind davon nicht betroffen, da sie über ein\n" +"internes, binäres Format zur Kommunikation verwenden." msgid "" "To make Mercurial produce the git extended diff format, use the --git\n" @@ -245,6 +280,11 @@ "section of your hgrc. You do not need to set this option when\n" "importing diffs in this format or using them in the mq extension.\n" msgstr "" +"Um Mercurial dazu zu bringen, das erweiterte Git-Format zu erzeugen,\n" +"kann man entweder den für viele Befehle verfügbaren Schalter --git\n" +"verwenden werden oder 'git = True' in der Sektion [diff] in der\n" +"hgrc angeben. Wenn Diffs in diesem Format importiert oder mit der mq\n" +"Erweiterung genutzt werden, muss diese Option nicht angegeben werden.\n" msgid "" "HG\n" @@ -254,14 +294,23 @@ " 'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n" " Windows) is searched." msgstr "" +"HG\n" +" Pfad zur 'hg' Programmdatei, wird automatisch beim Ausführen von\n" +" Hooks, Erweiterungen oder externen Werkzeugen übergeben. Wenn nicht\n" +" gesetzt oder leer, wird der Name der hg Programmdatei genommen,\n" +" wenn dieser eingefroren ist, oder eine Programmdatei namens 'hg'\n" +" (mit $PATHEXT% [standardmäßig auf COM/EXE/BAT/CMD gesetzt] als\n" +" Erweiterung unter Windows) gesucht." msgid "" "HGEDITOR\n" " This is the name of the editor to run when committing. See EDITOR." msgstr "" +"HGEDITOR\n" +" Dies ist der Name des Editors, der zum Bearbeiten der Versions-Meldung verwendet wird. Siehe auch EDITOR." msgid " (deprecated, use .hgrc)" -msgstr "" +msgstr " (veraltet, benutze .hgrc)" msgid "" "HGENCODING\n" @@ -270,6 +319,11 @@ " changeset descriptions, tag names, and branches. This setting can\n" " be overridden with the --encoding command-line option." msgstr "" +"HGENCODING\n" +" Dies überschreibt die von Mercurial ermittelte Standard-\n" +" Lokalisierung. Diese Einstellung wird zum Konvertieren von\n" +" Benutzernamen, Versions-Meldungen, Etiketten und Zweigen. Diese\n" +" Einstellung kann über den Schalter --encoding überschrieben werden." msgid "" "HGENCODINGMODE\n" @@ -280,6 +334,14 @@ " \"ignore\", which drops them. This setting can be overridden with\n" " the --encodingmode command-line option." msgstr "" +"HGENCODINGMODE\n" +" Dieses steuert, wie sich Mercurial beim Auftreten unbekannter Zeichen\n" +" verhält, wenn es Benutzereingaben verarbeitet. Der Standard ist\n" +" \"strict\", das zu einem Abbruch führt, wenn ein Zeichen nicht erkannt\n" +" werden konnte. Andere Einstellungen sind \"replace\", das unbekannte\n" +" Zeichen ersetzt, und \"ignore\", das diese Zeichen verwirft. Diese\n" +" Einstellung kann über den Schalter --encondingmode auf der\n" +" Kommandozeile überschrieben werden." msgid "" "HGMERGE\n" @@ -287,6 +349,10 @@ " will be executed with three arguments: local file, remote file,\n" " ancestor file." msgstr "" +"HGMERGE\n" +" Die Programmdatei, die zum Lösen von Konflikten verwendet werden\n" +" soll. Das Programm wird mit drei Argumenten aufgerufen: die lokale\n" +" Datei, die entfernte Datei und die Vorgängerdatei." msgid "" "HGRCPATH\n" @@ -295,20 +361,34 @@ " platform default search path is used. If empty, only the .hg/hgrc\n" " from the current repository is read." msgstr "" +"HGRCPATH\n" +" Eine Liste von Dateien oder Verzeichnissen, in denen nach hgrc-\n" +" Dateien gesucht werden soll. Als Trenner zwischen zwei Elementen\n" +" dient \":\" unter Unix und \";\" unter Windows. Wenn HGRCPATH nicht\n" +" gesetzt ist, wird der plattformspezifische Standardwert verwendet.\n" +" Wenn die Variable gesetzt, aber leer ist, wird nur .hg/hgrc aus dem\n" +" aktuellen Projektarchiv ausgewertet." msgid " For each element in HGRCPATH:" -msgstr "" +msgstr " Für jedes Element in HGRCPATH gilt:" msgid "" " - if it's a directory, all files ending with .rc are added\n" " - otherwise, the file itself will be added" msgstr "" +" - Wenn es ein Verzeichnis ist, werden alle Dateien, die auf .rc\n" +" enden, hinzugefügt.\n" +" - Ansonsten wird die Datei selbst hinzugefügt." msgid "" "HGUSER\n" " This is the string used as the author of a commit. If not set,\n" " available values will be considered in this order:" msgstr "" +"HGUSER\n" +" Diese Angabe wird als Autor von Commits verwendet. Wenn sie nicht\n" +" gesetzt ist, werden die verfügbaren Werte in der folgenden\n" +" Reihenfolge ausgewertet:" msgid "" " - HGUSER (deprecated)\n" @@ -317,21 +397,33 @@ " - interactive prompt\n" " - LOGNAME (with ``@hostname`` appended)" msgstr "" +" - HGUSER (veraltet)\n" +" - hgrc-Dateien aus dem HGRCPATH\n" +" - EMAIL\n" +" - Wert aus einer ineraktiven Eingabeaufforderung\n" +" - LOGNAME (mit angefügtem ``@hostname``)" msgid "" "EMAIL\n" " May be used as the author of a commit; see HGUSER." msgstr "" +"EMAIL\n" +" Kann als Autor eines Commits verwendet werden; siehe auch HGUSER." msgid "" "LOGNAME\n" " May be used as the author of a commit; see HGUSER." msgstr "" +"LOGNAME\n" +" Kann als Autor eines Commits verwendet werden; siehe auch HGUSER." msgid "" "VISUAL\n" " This is the name of the editor to use when committing. See EDITOR." msgstr "" +"VISUAL\n" +" Dies ist der Name des Editors, der beim Erzeugen eines Commits\n" +" verwendet werden soll. Siehe auch EDITOR." msgid "" "EDITOR\n" @@ -342,12 +434,23 @@ " non-empty one is chosen. If all of them are empty, the editor\n" " defaults to 'vi'." msgstr "" +"EDITOR\n" +" Manchmal muss Mercurial eine Textdatei in einem Editor öffnen, damit\n" +" der Nutzer sie bearbeiten kann, zum Beispiel when eine Commit-\n" +" Nachricht geschrieben wird. Der verwendete Editor wird aus den drei\n" +" Umgebungsvariablen HGEDITOR, VISUAL und EDITOR (in dieser Reihenfolge)\n" +" ermittelt. Der erste nicht-leere wird verwendet. Wenn alle Angaben\n" +" leer sind, wird der Standard 'vi' verwendet." msgid "" "PYTHONPATH\n" " This is used by Python to find imported modules and may need to be\n" " set appropriately if this Mercurial is not installed system-wide.\n" msgstr "" +"PYTHONPATH\n" +" Dies wird von Python genutzt, um importierte Module zu finden, und\n" +" muss entsprechend angepasst werden, wenn Mercurial nicht\n" +" systemweit installiert ist.\n" msgid "" "Mercurial has the ability to add new features through the use of\n" @@ -355,6 +458,10 @@ "existing commands, change the default behavior of commands, or\n" "implement hooks." msgstr "" +"Mercurial hat die Fähigkeit, neue Funktionen über Erweiterungen\n" +"einzubinden. Erweiterungen können neue Befehle oder Schalter für\n" +"bestehende Befehle hinzufügen, das Standardverhalten ändern\n" +"oder Hooks implementieren." msgid "" "Extensions are not loaded by default for a variety of reasons:\n" @@ -365,30 +472,46 @@ "Mercurial. It is thus up to the user to activate extensions as\n" "needed." msgstr "" +"Erweiterungen werden aus einer Vielzahl von Gründen nicht standardmäßig\n" +"geladen: Sie können die Startzeit verlängern; sie können nur für\n" +"erweiterte Nutzung gedacht sein; sie können möglicherweise gefährliche\n" +"Fähigkeiten (wie das Zerstören oder Verändern der Projektgeschichte)\n" +"bereitstellen; sie können noch nicht für den allgemeinen Einsatz bereit\n" +"sein; oder sie verändern das übliche Verhalten des Kerns von Mercurial.\n" +"Daher müssen Erweiterungen erst vom Benutzer bei Bedarf aktiviert werden." msgid "" "To enable the \"foo\" extension, either shipped with Mercurial or in\n" "the Python search path, create an entry for it in your hgrc, like\n" "this::" msgstr "" +"Um die Erweiterung \"foo\", die entweder mit Mercurial ausgeliefert wird\n" +"oder sich im Python-Suchpfad befindet, zu aktivieren, erstellen Sie einen\n" +"Eintrag wie den folgenden in Ihrer hgrc::" msgid "" " [extensions]\n" " foo =" msgstr "" +" [extensions]\n" +" foo =" msgid "You may also specify the full path to an extension::" -msgstr "" +msgstr "Sie können auch den vollen Pfad zu einer Erweiterung angeben::" msgid "" " [extensions]\n" " myfeature = ~/.hgext/myfeature.py" msgstr "" +" [extensions]\n" +" meinefunktion = ~/.hgext/meinefunktion.py" msgid "" "To explicitly disable an extension enabled in an hgrc of broader\n" "scope, prepend its path with !::" msgstr "" +"Um eine Erweiterung explizit zu deaktivieren, die von einer allgemeineren\n" +"hgrc aktiviert wurde, setzen Sie ein ! vor den Pfad::" msgid "" " [extensions]\n" @@ -397,6 +520,11 @@ " # ditto, but no path was supplied for extension baz\n" " baz = !\n" msgstr "" +" [extensions]\n" +" # deaktiviert die Erweiterung bar, die im Verzeichnis\n" +" # /pfad/zur/erweiterung/bar.py liegt bar = !/pfad/zur/erweiterung/bar.py\n" +" # ditto, aber es wurde kein Pfad für die Erweiterung baz angegeben\n" +" baz = !\n" msgid "" "When Mercurial accepts more than one revision, they may be specified\n" @@ -589,36 +717,55 @@ "line, via the --template option, or select an existing\n" "template-style (--style)." msgstr "" +"Mercurial erlaubt es Ihnen, die Ausgabe von Befehlen mit Vorlagen\n" +"anzupassen. Sie können eine Vorlage entweder über die Kommandozeile\n" +"(über den Schalter --template) angeben, oder einen vorhandenen\n" +"Vorlagenstil auswählen (--style)." msgid "" "You can customize output for any \"log-like\" command: log,\n" "outgoing, incoming, tip, parents, heads and glog." msgstr "" +"Sie können die Ausgabe für jeden \"log-ähnlichen\" Befehl anpassen:\n" +"log, outgoing, incoming, tip, parents, heads und glog." msgid "" "Three styles are packaged with Mercurial: default (the style used\n" "when no explicit preference is passed), compact and changelog.\n" "Usage::" msgstr "" +"Drei Stile werden mit Mercurial mitgeliefert: default (der Stil, der\n" +"genutzt wird, wenn kein anderer explizit angegeben wird), compact und\n" +"changelog. Benutzung::" msgid " $ hg log -r1 --style changelog" -msgstr "" +msgstr " $ hg log -r1 --style changelog" msgid "" "A template is a piece of text, with markup to invoke variable\n" "expansion::" msgstr "" - -msgid "" -" $ hg log -r1 --template \"{node}\\n\"\n" +"Ein Template ist ein Stück Text, das Markierungen enthält, die bei der\n" +"Ausgabe mit den eigentlichen Informationen ersetzt werden::" + +msgid "" +" $ hg log -r1 --template \"{node}\\n" +"\"\n" " b56ce7b07c52de7d5fd79fb89701ea538af65746" msgstr "" +" $ hg log -r1 --template \"{node}\\n" +"\"\n" +" b56ce7b07c52de7d5fd79fb89701ea538af65746" msgid "" "Strings in curly braces are called keywords. The availability of\n" "keywords depends on the exact context of the templater. These\n" "keywords are usually available for templating a log-like command:" msgstr "" +"Zeichenketten in geschweiften Klammern werden als Schlüsselwörter\n" +"bezeichnet. Die Verfügbarkeit von Schlüsselwörtern hängt von dem\n" +"ausgeführten Befehl ab. Diese Schlüsselwörter stehen üblicherweise für\n" +"Vorlagen von \"log-ähnlichen\" Befehlen zur Verfügung:" msgid "" ":author: String. The unmodified author of the changeset.\n" @@ -646,6 +793,31 @@ " changeset.\n" ":latesttagdistance: Integer. Longest path to the latest tag." msgstr "" +":author: Zeichenkette. Der unveränderte Autor eines Änderungssatzes.\n" +":branches: Zeichenkette. Der Name des Branches, in dem der Änderungssatz\n" +" versioniert wurde. Ist leer, wenn der Branch-Name default\n" +" ist.\n" +":date: Datumsangabe. Das Datum, wann ein Änderungssatz versioniert\n" +" wurde.\n" +":desc: Zeichenkette. Der Text der Beschreibung eines\n" +" Änderungssatzes.\n" +":diffstat: Zeichenkette. Statistik über die Änderungen in dem folgenden\n" +" Format: \"geänderte Dateien: +hinzugefügt/-entfernte Zeilen\"\n" +":files: Liste von Zeichenketten. Alle geänderten, hinzugefügten oder\n" +" gelöschten Dateien dieses Änderungssatzes.\n" +":file_adds: Liste von Zeichenketten. Alle hinzugefügten Dateien.\n" +":file_mods: Liste von Zeichenketten. Alle geänderten Dateien.\n" +":file_dels: Liste von Zeichenketten. Alle gelöschten Dateien.\n" +":node: Zeichenkette. Die Prüfsumme, die einen Änderungssatz\n" +" identifiziert, als 40 Zeichen lange hexadezimale Zeichenkette.\n" +":parents: Liste von Zeichenketten. Die Eltern des Änderungssatzes.\n" +":rev: Zahl. Die für dieses Projektarchiv geltende Nummer eines\n" +" Änderungssatzes.\n" +":tags: Liste von Zeichenketten. Alle Tags, die diesem Änderungssatz\n" +" zugewiesen wurden.\n" +":latesttag: Zeichenkette. Aktuellstes globales Tag in den Nachfahren\n" +" dieses Änderungssatzes.\n" +":latesttagdistance: Zahl. Längster Pfad zum aktuellsten Tag." msgid "" "The \"date\" keyword does not produce human-readable output. If you\n" @@ -654,14 +826,23 @@ "variable. You can also use a chain of filters to get the desired\n" "output::" msgstr "" - -msgid "" -" $ hg tip --template \"{date|isodate}\\n\"\n" +"Das \"date\" Schlüsselwort erzeugt keine menschenlesbare Ausgabe. Wenn\n" +"Sie ein Datum in Ihrer Ausgabe verwenden wollen, können Sie einen Filter\n" +"einsetzen, um es zu verarbeiten. Filter sind Funktionen, die eine\n" +"Zeichenkette basierend auf der Eingabe-Variablen zurückgeben. Sie können\n" +"auch mehrere Filter verketten, um das gewünschte Ergebnis zu erhalten::" + +msgid "" +" $ hg tip --template \"{date|isodate}\\n" +"\"\n" " 2008-08-21 18:22 +0000" msgstr "" +" $ hg tip --template \"{date|isodate}\\n" +"\"\n" +" 2008-08-21 18:22 +0000" msgid "List of filters:" -msgstr "" +msgstr "Liste aller Filter:" msgid "" ":addbreaks: Any text. Add an XHTML \"
\" tag before the end of\n" @@ -718,6 +899,69 @@ ":user: Any text. Returns the user portion of an email\n" " address.\n" msgstr "" +":addbreaks: Beliebiger Text. Führt ein XHTML \"
\"-Tag vor das\n" +" Ende jeder Zeile bis auf die letzte ein.\n" +":age: Datumsangabe. Gibt eine menschenlesbare Datums- und\n" +" Zeitdifferenz zwischen dem gegebenen Datum und der\n" +" aktuellen Zeit aus.\n" +":basename: Beliebiger Text. Behandelt jeden Text als Pfadangabe und\n" +" gibt den letzten Bestandteil des Pfades nach dem Auftrennen\n" +" mit dem Trennzeichen für Verzeichnisse zurück (überhängende\n" +" Trenner werden ignoriert). Zum Beispiel wird aus\n" +" \"foo/bar/baz\" dann \"baz\" und \"foo/bar//\" wird zu\n" +" \"bar\".\n" +":stripdir: Behandelt den Text als Pfadangabe und entfernt das letzte\n" +" Verzeichnis, wenn möglich. Zum Beispiel wird aus \"foo\"\n" +" und \"foo/bar//\" dann \"bar\".\n" +":date: Datumsangabe. Gibt ein Datum als Unix Datum zurück,\n" +" inklusive der Zeitzone: \"Mon Sep 04 15:13:13 2006 0700\".\n" +":domain: Beliebiger Text. Findet die erste Zeichenkette, die wie\n" +" eine E-Mail-Adresse aussieht, und extrahiert davon die\n" +" Domain-Komponente:\n" +" Beispiel: ``Nutzer `` wird zu\n" +" ``example.com``.\n" +":domain: Beliebiger Text. Extrahiert die erste Zeichenkette, die wie\n" +" eine E-Mail-Adresse aussieht.\n" +" Beispiel: ``Nutzer `` wird zu\n" +" ``user@example.com``.\n" +":escape: Beliebiger Text. Ersetzt die besonderen XML/XHTML-Zeichen\n" +" \"&\", \"<\" und \">\" mit XML-Entitäten.\n" +":fill68: Beliebiger Text. Umbricht den Text bei 68 Zeichen.\n" +":fill76: Beliebiger Text. Umbricht den Text bei 76 Zeichen.\n" +":firstline: Beliebiger Text. Gibt die erste Zeile des Texts zurück.\n" +":nonempty: Beliebiger Text. Gibt '(none)' für eine leere Zeichenkette\n" +" zurück.\n" +":hgdate: Datumsangabe. Gibt das Datum als Zahlpaar zurück:\n" +" \"1157407993 25200\" (Unix Zeitstempel,\n" +" Zeitzonenverschiebung)\n" +":isodate: Datumsangabe. Gibt das Datum im ISO 8601-Format zurück:\n" +" \"2009-08-18 13:00 +0200\".\n" +":isodatesec: Datumsangabe. Gibt das Datum im ISO 8601-Format inklusive\n" +" Sekunden zurück: \"2009-08-18 13:00 +0200\". Siehe auch\n" +" den rfc3339date-Filter.\n" +":localdate: Datumsangabe. Konvertiert ein Datum in das lokale\n" +" Datumsformat.\n" +":obfuscate: Beliebiger Text. Gibt den Text als Folge von XML-Entitäten\n" +" zurück.\n" +":person: Beliebiger Text. Gibt den Text vor einer E-Mail-Adresse\n" +" zurück.\n" +":rfc822date: Datumsangabe. Gibt das Datum im gleichen Format zurück,\n" +" das auch in Kopfzeilen von E-Mails verwendet wird:\n" +" \"Tue, 18 Aug 2009 13:00:13 +0200\".\n" +":rfc3339date: Datumsangabe. Gibt das Datum im Internet-Datumsformat,\n" +" spezifiziert im RFC 3339, zurück:\n" +" \"2009-08-18T13:00:13+02:00\".\n" +":short: Prüfsumme. Gibt die Kurzform der Prüfsumme zurück, d.h.\n" +" als 12 Zeichen lange hexadezimale Zeichenkette.\n" +":shortdate: Datumsangabe. Gibt ein Datum wie \"2006-09-18\" zurück.\n" +":strip: Beliebiger Text. Entfernt jeden führenden und überhängenden\n" +" Leerraum.\n" +":tabindent: Beliebiger Text. Gibt den Text zurück, wobei jede Zeile bis\n" +" auf die erste mit einem Tabulator eingerückt ist.\n" +":urlescape: Beliebiger Text. Maskiert alle \"besonderen\" Zeichen.\n" +" Aus \"foo bar\" wird zum Beispiel \"foo%20bar\".\n" +":users: Beliebiger Text. Gibt den Nutzerteil einer E-Mail-Adresse\n" +" (vor dem @-Zeichen) zurück.\n" msgid "Valid URLs are of the form::" msgstr "Gültige URLs haben folgende Form::" @@ -1066,7 +1310,7 @@ msgstr "Benennt ein gegebenes Lesezeichen um" msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]" -msgstr "" +msgstr "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]" msgid "hooks for integrating with the Bugzilla bug tracker" msgstr "Bugzilla integration" @@ -1227,10 +1471,14 @@ msgid "" " Default 'changeset {node|short} in repo {root} refers '\n" -" 'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'" -msgstr "" -" Standard: 'Änderung {node|short} in Archiv {root} erwähnt Bug {bug}.\\n'\n" -" 'Details:\\n\\t{desc|tabindent}'" +" 'to bug {bug}.\\n" +"details:\\n" +"\\t{desc|tabindent}'" +msgstr "" +" Standard: 'Änderung {node|short} in Archiv {root} erwähnt Bug {bug}.\\n" +"'\n" +" 'Details:\\n" +"\\t{desc|tabindent}'" msgid "" "strip\n" @@ -1313,8 +1561,10 @@ " bzuser=unknown@domain.com\n" " bzdir=/opt/bugzilla-3.2\n" " template=Changeset {node|short} in {root|basename}.\n" -" {hgweb}/{webroot}/rev/{node|short}\\n\n" -" {desc}\\n\n" +" {hgweb}/{webroot}/rev/{node|short}\\n" +"\n" +" {desc}\\n" +"\n" " strip=5" msgstr "" " [bugzilla]\n" @@ -1323,8 +1573,12 @@ " version=3.0\n" " bzuser=unknown@domain.com\n" " bzdir=/opt/bugzilla-3.2\n" -" template=Änderung {node|short} in Archiv {root|basename}.\\n\n" -"{hgweb}/{webroot}/rev/{node|short}\\n\\n{desc}\\n\n" +" template=Änderung {node|short} in Archiv {root|basename}.\\n" +"\n" +"{hgweb}/{webroot}/rev/{node|short}\\n" +"\\n" +"{desc}\\n" +"\n" " strip=5" msgid "" @@ -10413,14 +10667,17 @@ "\n" " " +#, fuzzy msgid "create changeset information from CVS" -msgstr "" +msgstr "erstellt Änderungssätze aus CVS" msgid "" " This command is intended as a debugging tool for the CVS to\n" " Mercurial converter, and can be used as a direct replacement for\n" " cvsps." msgstr "" +" Dieser Befehl ist als Debuggingwerkzeug für den Konverter von CVS zu\n" +" Mercurial gedacht und kann als direkte Ersetzung für cvsps dienen." msgid "" " Hg debugcvsps reads the CVS rlog for current directory (or any\n" @@ -10428,6 +10685,10 @@ " series of changesets based on matching commit log entries and\n" " dates." msgstr "" +" Hg debugcvsps liest das CVS-Logbuch für das aktuelle Verzeichnis\n" +" (oder jedes angegebene Verzeichnis) aus dem CVS-Projektarchiv aus\n" +" und konvertiert den Log in eine Serie von Änderungssetzen,\n" +" basierend auf übereinstimmenden Log-Einträgen und Datumsangaben." msgid "username mapping filename" msgstr "Abbildungsdatei für Benutzernamen" @@ -10463,37 +10724,38 @@ msgstr "hg convert [OPTION]... QUELLE [ZIEL [REVMAP]]" msgid "only return changes on specified branches" -msgstr "" +msgstr "nur die Änderungen des angegebenen Branches zurückgeben" msgid "prefix to remove from file names" -msgstr "" +msgstr "Präfix, das von Dateinamen entfernt werden soll" msgid "only return changes after or between specified tags" -msgstr "" +msgstr "nur Änderungen nach oder zwischen angegebenen Tags zurückgeben" msgid "update cvs log cache" -msgstr "" +msgstr "CVS Log-Zwischenspeicher aktualisieren" msgid "create new cvs log cache" -msgstr "" +msgstr "neuen CVS Log-Zwischenspeicher erzeugen" msgid "set commit time fuzz in seconds" -msgstr "" +msgstr "setze erlaubte Abweichung von der Commit-Zeit in Sekunden" msgid "specify cvsroot" -msgstr "" +msgstr "gibt cvsroot an" msgid "show parent changesets" -msgstr "" - +msgstr "zeigt die Eltern-Änderungssätze an" + +#, fuzzy msgid "show current changeset in ancestor branches" -msgstr "" +msgstr "zeigt den aktuellen Änderungssatz in Vorgänger-Branches" msgid "ignored for compatibility" -msgstr "" +msgstr "ignoriert aus Kompatibilitätsgründen" msgid "hg debugcvsps [OPTION]... [PATH]..." -msgstr "" +msgstr "hg debugcvsps [OPTION]... [PATH]..." msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n" msgstr "Warnung: Leichte Arbeitskopien können zu Konversationsfehlern führen; erwäge einen regulären Zweig zu nutzen.\n" @@ -10570,7 +10832,7 @@ #, python-format msgid "spliced in %s as parents of %s\n" -msgstr "" +msgstr "in %s als Eltern von %s verbunden\n" msgid "scanning source...\n" msgstr "Untersuche Quelle...\n" @@ -10718,17 +10980,17 @@ msgid "tree analysis stopped because it points to an unregistered archive %s...\n" msgstr "Baumanalyse gestoppt, da er ein unregistriertes Archiv referenziert %s...\n" -#, python-format +#, fuzzy, python-format msgid "could not parse cat-log of %s" -msgstr "" +msgstr "konnte cat-log von %s nicht verarbeiten" #, python-format msgid "%s is not a local Mercurial repo" -msgstr "" - -#, python-format +msgstr "%s ist kein lokales Mercurial Projektarchiv" + +#, fuzzy, python-format msgid "initializing destination %s repository\n" -msgstr "" +msgstr "Initialisiere Ziel-Projektarchiv %s\n" #, python-format msgid "pulling from %s into %s\n" @@ -10764,9 +11026,13 @@ msgid "Mercurial failed to run itself, check hg executable is in PATH" msgstr "" +"Mercurial konnte sich selbst nicht ausführen, prüfen Sie, ob die\n" +"Programmdatei in PATH enthalten ist." msgid "svn: cannot probe remote repository, assume it could be a subversion repository. Use --source if you know better.\n" msgstr "" +"svn: Kann entferntes Projektarchiv nicht untersuchen, nehme an, es handelt sich um ein Subversion-Projektarchiv.\n" +"Verwenden Sie --source, wenn Sie es besser wissen.\n" msgid "Subversion python bindings could not be loaded" msgstr "Pythons Subversion-Unterstützung konnte nicht geladen werden" @@ -10835,11 +11101,11 @@ #, python-format msgid "initializing svn repo %r\n" -msgstr "" +msgstr "Initialisiere svn-Projektarchiv %r\n" #, python-format msgid "initializing svn wc %r\n" -msgstr "" +msgstr "Initialisiere svn-Arbeitskopie %r\n" msgid "unexpected svn output:\n" msgstr "Unerwartete Ausgabe von Subversion:\n" @@ -10848,7 +11114,7 @@ msgstr "Ausgabe von Subversion nicht verstanden" msgid "XXX TAGS NOT IMPLEMENTED YET\n" -msgstr "" +msgstr "XXX TAGS WURDEN NOCH NICHT IMPLEMENTIERT\n" msgid "command to allow external programs to compare revisions" msgstr "Erlaubt externen Programmen, Revisionen zu vergleichen" @@ -11122,7 +11388,7 @@ msgstr "Nutzt eine Programm um den Fehlerstatus zu bestimmen" msgid "error while verifying signature" -msgstr "" +msgstr "Fehler beim Überprüfen der Signatur" #, python-format msgid "%s Bad signature from \"%s\"\n" @@ -11144,7 +11410,7 @@ msgstr "%s:%d Knoten existiert nicht\n" msgid "verify all the signatures there may be for a particular revision" -msgstr "" +msgstr "überprüfe alle für eine bestimmte Revision vorhandenen Signaturen" #, python-format msgid "No valid signature for %s\n" @@ -11189,13 +11455,13 @@ msgstr "Versionsmeldung" msgid "hg sign [OPTION]... [REVISION]..." -msgstr "" +msgstr "hg sign [OPTION]... [REVISION]..." msgid "hg sigcheck REVISION" -msgstr "" +msgstr "hg sigcheck REVISION" msgid "hg sigs" -msgstr "" +msgstr "hg sigs" #, fuzzy msgid "command to view revision graphs from a shell" @@ -11259,12 +11525,15 @@ msgstr "hg glog [OPTION]... [DATEI]" msgid "hooks for integrating with the CIA.vc notification service" -msgstr "" +msgstr "Hooks zur Integration mit dem CIA.cv-Benachrichtigungsdienst" msgid "" "This is meant to be run as a changegroup or incoming hook. To\n" "configure it, set the following options in your hgrc::" msgstr "" +"Dies ist dafür gedacht, als Hook für changegroup oder incoming\n" +"eingesetzt zu werden. Um es zu konfigurieren, setzen Sie die\n" +"folgenden Optionen in Ihrer hgrc::" msgid "" " [cia]\n" @@ -11277,7 +11546,8 @@ " # Append a diffstat to the log message (optional)\n" " #diffstat = False\n" " # Template to use for log messages (optional)\n" -" #template = {desc}\\n{baseurl}/rev/{node}-- {diffstat}\n" +" #template = {desc}\\n" +"{baseurl}/rev/{node}-- {diffstat}\n" " # Style to use (optional)\n" " #style = foo\n" " # The URL of the CIA notification service (optional)\n" @@ -11288,6 +11558,29 @@ " # print message instead of sending it (optional)\n" " #test = False" msgstr "" +" [cia]\n" +" # Ihr registrierter CIA-Benutzername\n" +" user = foo\n" +" # der Name des Projekts bei CIA\n" +" project = foo\n" +" # das Modul (Unterprojekt) (optional)\n" +" #module = foo\n" +" # Hänge eine Statistik über die Änderungen an die Commit-Nachricht an\n" +" # (optional)\n" +" #diffstat = False\n" +" # Vorlage für die Commit-Nachrichten (optional)\n" +" #template = {desc}\\n" +"{baseurl}/rev/{node}-- {diffstat}\n" +" # zu verwendender Stil (optional)\n" +" #style = foo\n" +" # Die URL des CIA Benachrichtigungsdienstes (optional)\n" +" # Sie können mailto:-URLs verwenden, um E-Mails zu senden, z.B.\n" +" # mailto:cia@cia.vc\n" +" # Stellen Sie sicher, dass Sie email.from korrekt eingerichtet haben,\n" +" # wenn Sie dies tun.\n" +" #url = http://cia.vc/\n" +" # Nachrichten ausgeben statt sie zu senden (optional)\n" +" #test = False" msgid "" " [hooks]\n" @@ -11295,22 +11588,29 @@ " changegroup.cia = python:hgcia.hook\n" " #incoming.cia = python:hgcia.hook" msgstr "" +" [hooks]\n" +" # einer von diesen:\n" +" changegroup.cia = python:hgcia.hook\n" +" #incoming.cia = python:hgcia.hook" msgid "" " [web]\n" " # If you want hyperlinks (optional)\n" " baseurl = http://server/path/to/repo\n" msgstr "" +" [web]\n" +" # Wenn Sie Hyperlinks möchten (optional)\n" +" baseurl = http://server/path/to/repo\n" #, python-format msgid "hgcia: sending update to %s\n" -msgstr "" +msgstr "hgcia: Sende Aktualisierung an %s\n" msgid "email.from must be defined when sending by email" -msgstr "" +msgstr "email.from muss definiert werden, wenn E-Mails gesendet werden" msgid "browse the repository in a graphical way" -msgstr "" +msgstr "durchstöbert das Projektarchiv auf grafische Weise" msgid "" "The hgk extension allows browsing the history of a repository in a\n" @@ -11371,7 +11671,7 @@ msgstr "" msgid "print revisions" -msgstr "" +msgstr "Änderungen ausgeben" msgid "print extension options" msgstr "" @@ -11383,13 +11683,14 @@ msgstr "" msgid "generate patch" -msgstr "" +msgstr "Patch erzeugen" msgid "recursive" -msgstr "" - +msgstr "rekursiv" + +#, fuzzy msgid "pretty" -msgstr "" +msgstr "hübsch" msgid "stdin" msgstr "" @@ -11521,23 +11822,23 @@ msgstr "" msgid "*** counting directories: " -msgstr "" +msgstr "*** zähle Verzeichnisse:" #, python-format msgid "found %d\n" -msgstr "" +msgstr "%d gefunden\n" #, python-format msgid "*** to raise the limit from %d to %d (run as root):\n" -msgstr "" +msgstr "*** um das Limit von %d auf %d zu heben (als root ausführen):\n" #, python-format msgid "*** echo %d > %s\n" -msgstr "" +msgstr "*** echo %d > %s\n" #, python-format msgid "cannot watch %s until inotify watch limit is raised" -msgstr "" +msgstr "Kann Verzeichnis %s nicht überwachen, bis das inotify-Limit erhöht wurde." #, python-format msgid "inotify service not available: %s" @@ -14253,7 +14554,7 @@ "\n" "Bitte eine Einführung für die Patch-Serie eingeben." -#, python-format, fuzzy +#, fuzzy, python-format msgid "This patch series consists of %d patches." msgstr "Diese Patch-Serie besteht aus %d Patchen.\n" @@ -16172,7 +16473,7 @@ msgstr " (Aktuelles patch Werkzeug könnte mit patch inkompatibel or fehlkonfiguriert sein. Prüfe die .hgrc Datei!)\n" msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n" -msgstr "Fehlschlag des internen patch Werkzeugs. Bitte melden Sie diesen Fehler bei http://www.selenic.com/mercurial/bts\n" +msgstr " Fehlschlag des internen patch Werkzeugs. Bitte melden Sie diesen Fehler bei http://www.selenic.com/mercurial/bts\n" msgid "Checking commit editor...\n" msgstr "Prüfe Editor für Versionsmeldungen...\n" @@ -18900,16 +19201,16 @@ msgstr "Namen ausschließen, die auf das angegebene Muster passen" msgid "use as commit message" -msgstr "Nutzt als Versionsmeldung" +msgstr "Nutzt als Commit-Nachricht" msgid "read commit message from " -msgstr "Liest Versionsmeldung aus " +msgstr "Liest Commit-Nachricht aus " msgid "record datecode as commit date" -msgstr "Protokolliert Datumscode als Versionsdatum" +msgstr "Protokolliert Datumscode als Commit-Datum" msgid "record the specified user as committer" -msgstr "Protokolliert den angegebenen Nutzer als Versionsersteller" +msgstr "Protokolliert den angegebenen Nutzer als Autor" msgid "display using template map file" msgstr "Anzeige unter Nutzung der Vorlagenzuordnungsdatei" @@ -18918,13 +19219,13 @@ msgstr "Anzeige mit Vorlage" msgid "do not show merges" -msgstr "Zeigt keine Zusammenführungen" +msgstr "Zeigt keine Merges" msgid "treat all files as text" msgstr "Behandelt alle Dateien als Text" msgid "don't include dates in diff headers" -msgstr "Fügt Datum nicht im Kopf des Diff an" +msgstr "Fügt Datum nicht im Kopf des Diff ein" msgid "show which function each change is in" msgstr "Zeigt die Funktion, in der die Änderung passiert ist" @@ -18948,7 +19249,7 @@ msgstr "Zusammenfassung der Änderungen im diffstat-Stil" msgid "guess renamed files by similarity (0<=s<=100)" -msgstr "Bewertet ähnliche Dateien (0<=s<=100) als Umbenennung" +msgstr "rät Umbenennungn anhand der Ähnlichkeit (0<=s<=100)" msgid "[OPTION]... [FILE]..." msgstr "[OPTION]... [DATEI]..." @@ -18981,7 +19282,7 @@ msgstr "Dateien nicht dekodieren" msgid "directory prefix for files in archive" -msgstr "Verzeichnisprefix für Dateien im Archiv" +msgstr "Verzeichnispräfix für Dateien im Archiv" msgid "revision to distribute" msgstr "zu verteilende Revision" @@ -19023,37 +19324,37 @@ msgstr "Führe keine Aktualisierung der Dateien durch" msgid "[-gbsr] [-c CMD] [REV]" -msgstr "[-gbsr] [-c PROGRAMM] [REV]" +msgstr "[-gbsr] [-c BEFEHL] [REV]" msgid "set branch name even if it shadows an existing branch" -msgstr "Setzt Zweignamen, selbst wenn es einen bestehenden Zweig verdeckt" +msgstr "Setzt Branchnamen, selbst wenn es einen bestehenden Branch verdeckt" msgid "reset branch name to parent branch name" -msgstr "Setzt Zweignamen zum Namen des Vorgängers zurück" +msgstr "Setzt Branchnamen zum Namen des Vorgängers zurück" msgid "[-fC] [NAME]" msgstr "" msgid "show only branches that have unmerged heads" -msgstr "Zeigt nur Zweige mit mehreren Köpfen" +msgstr "Zeigt nur Branches mit mehreren Köpfen" msgid "show normal and closed branches" -msgstr "Zeigt normale und geschlossene Zweige" +msgstr "Zeigt normale und geschlossene Branches" msgid "[-a]" msgstr "" msgid "run even when remote repository is unrelated" -msgstr "Auch ausführen wenn das entfernte Archiv keinen Bezug hat" +msgstr "Auch ausführen wenn das entfernte Projektarchiv keinen Bezug hat" msgid "a changeset up to which you would like to bundle" -msgstr "Der Änderungssatz bis zu dem gruppiert werden soll" +msgstr "Der Änderungssatz bis zu dem gebündelt werden soll" msgid "a base changeset to specify instead of a destination" msgstr "Ein Basisänderungssatz anstelle eines Ziels" msgid "bundle all changesets in the repository" -msgstr "Gruppiert alle Änderungssätze des Archivs" +msgstr "Bündelt alle Änderungssätze des Projektarchivs" msgid "bundle compression type to use" msgstr "Kompressionstyp für die Ausgabedatei" @@ -19074,7 +19375,7 @@ msgstr "[OPTION]... DATEI..." msgid "the clone will only contain a repository (no working copy)" -msgstr "Der Klon wird nur das Archiv enthalten (keine Arbeitskopie)" +msgstr "Der Klon wird nur das Projektarchiv enthalten (keine Arbeitskopie)" msgid "revision, tag or branch to check out" msgstr "" @@ -19089,7 +19390,7 @@ msgstr "Markiert neue/fehlende Dateien als hinzugefügt/entfernt" msgid "mark a branch as closed, hiding it from the branch list" -msgstr "Markiert einen Zweig als beendet und blendet ihn in der Zweigliste aus" +msgstr "Markiert einen Branch als geschlossen und blendet ihn in der Branchlist aus" msgid "record a copy that has already occurred" msgstr "Identifiziert eine Kopie, die bereits stattgefunden hat" @@ -19113,10 +19414,10 @@ msgstr "[-o] BEFEHL" msgid "try extended date formats" -msgstr "Erlaubt erweiterte Datumsformate" +msgstr "versuche erweiterte Datumsformate" msgid "[-e] DATE [RANGE]" -msgstr "[-e] DATUM [PRÜFDATUM]" +msgstr "[-e] DATUM [BEREICH]" msgid "FILE REV" msgstr "DATEI REV" @@ -19170,7 +19471,7 @@ msgstr "Folgt der Versionshistorie oder Dateihistorie über Kopien und Umbenennungen hinweg" msgid "ignore case when matching" -msgstr "Ignoriert Groß- und Kleinschreibung" +msgstr "Ignoriert Groß- und Kleinschreibung beim Suchen" msgid "print only filenames and revisions that match" msgstr "Zeigt nur zutreffende Dateinamen und Revisionen" @@ -19179,7 +19480,7 @@ msgstr "Zeigt zutreffende Zeilennummern" msgid "search in given revision range" -msgstr "Sucht in gegebenem Revisionsintervall" +msgstr "Sucht in gegebenem Revisionsbereich" msgid "[OPTION]... PATTERN [FILE]..." msgstr "[OPTION]... MUSTER [DATEI]..." @@ -19188,10 +19489,10 @@ msgstr "Zeigt nur Köpfe, die Nachkommen dieser Revision sind" msgid "show only the active branch heads from open branches" -msgstr "Zeigt nur aktive Köpfe von offenen Zweigen" +msgstr "Zeigt nur aktive Köpfe von offenen Branches" msgid "show normal and closed branch heads" -msgstr "Zeigt normale und geschlossene Kopfversionen" +msgstr "Zeigt normale und geschlossene Branch-Köpfe" msgid "[-r STARTREV] [REV]..." msgstr "" @@ -19209,10 +19510,10 @@ msgstr "Zeigt die globale Revisions-ID" msgid "show branch" -msgstr "Zeigt gegebenen Zweig" +msgstr "Zeigt gegebenen Branch" msgid "show tags" -msgstr "Zeigt Etiketten" +msgstr "Zeigt Tags" msgid "[-nibt] [-r REV] [SOURCE]" msgstr "[-nibt] [-r REV] [QUELLE]" @@ -19224,10 +19525,10 @@ msgstr "Basispfad" msgid "skip check for outstanding uncommitted changes" -msgstr "Erzwingt trotz lokaler Änderungen im Arbeitsverzeichnis" +msgstr "überspringt die Überprüfungen auf ausstehende, unversionierte Änderungen" msgid "don't commit, just update the working directory" -msgstr "Kein Übernehmen, nur Aktualisierung des Arbeitsverzeichnisses" +msgstr "Kein Commit, nur Aktualisierung des Arbeitsverzeichnisses" msgid "apply patch to the nodes from which it was generated" msgstr "Wendet Patch auf die Knoten an, von denen er erstellt wurde" @@ -19239,13 +19540,13 @@ msgstr "" msgid "show newest record first" -msgstr "Zeigt neuste Änderung zuerst" +msgstr "Zeigt neueste Änderung zuerst" msgid "file to store the bundles into" -msgstr "Dateiname zum Zwischenspeichern" +msgstr "Dateiname zum Speichern der Bündel" msgid "a specific remote revision up to which you would like to pull" -msgstr "eine bestimmte enfernte Revision bis zu der geholt werden soll" +msgstr "eine bestimmte enfernte Revision bis zu der gepullt werden soll" msgid "[-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]" msgstr "[-p] [-n] [-M] [-f] [-r REV]... [--bundle DATEINAME] [QUELLE]" @@ -19266,7 +19567,7 @@ msgstr "[OPTION]... [MUSTER]..." msgid "only follow the first parent of merge changesets" -msgstr "Folgt nur dem ersten Vorgänger einer Zusammenführungsversion" +msgstr "Folgt nur dem ersten Vorgänger von Merges" msgid "show revisions matching date spec" msgstr "Zeigt Revisionen passend zur Datums-Spezifikation" @@ -19278,19 +19579,19 @@ msgstr "Sucht unabhängig von Groß- und Kleinschreibung ein Stichwort" msgid "include revisions where files were removed" -msgstr "Revisionen hinzufügen, in denen Dateien entfernt wurden" +msgstr "Revisionen einschließen, in denen Dateien entfernt wurden" msgid "show only merges" -msgstr "Zeigt nur Zusammenführungen" +msgstr "Zeigt nur Merges" msgid "revisions committed by user" -msgstr "Revisionen erzeugt vom Nutzer" +msgstr "Revisionen vom Nutzer" msgid "show only changesets within the given named branch" -msgstr "Zeigt nur Änderungssätze innerhalb des angegebenen Zweigs" +msgstr "Zeigt nur Änderungssätze innerhalb des angegebenen Branches" msgid "do not display revision or any of its ancestors" -msgstr "Gibt weder diese Revision noch ihre Nachfolger aus" +msgstr "Gibt weder diese Revision noch ihre Vorgänger aus" msgid "[OPTION]... [FILE]" msgstr "[OPTION]... [DATEI]" @@ -19302,10 +19603,10 @@ msgstr "" msgid "force a merge with outstanding changes" -msgstr "Erzwingt eine Zusammenführung mit den ausstehenden Änderungen" +msgstr "Erzwingt einen Merge mit ausstehenden Änderungen" msgid "revision to merge" -msgstr "Zusammenzuführende Revision" +msgstr "zu mergende Revision" msgid "review revisions to merge (no merge is performed)" msgstr "" @@ -19314,7 +19615,7 @@ msgstr "" msgid "a specific revision up to which you would like to push" -msgstr "eine bestimmte Revision bis zu der ausgeliefert werden soll" +msgstr "eine bestimmte Revision bis zu der gepusht werden soll" msgid "[-M] [-p] [-n] [-f] [-r REV]... [DEST]" msgstr "[-M] [-p] [-n] [-f] [-r REV]... [ZIEL]" @@ -19329,16 +19630,16 @@ msgstr "" msgid "update to new tip if changesets were pulled" -msgstr "Auf die neue Spitze (tip) anheben, falls Änderungssätze geholt wurden" +msgstr "Auf den neuen tip aktualisieren, falls Änderungssätze geholt wurden" msgid "[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]" -msgstr "[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [QUELLE]" +msgstr "[-u] [-f] [-r REV]... [-e BEFEHL] [--remotecmd BEFEHL] [QUELLE]" msgid "force push" -msgstr "Erzwingt Auslieferung" +msgstr "Erzwingt Push" msgid "[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]" -msgstr "[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [ZIEL]" +msgstr "[-f] [-r REV]... [-e BEFEHL] [--remotecmd BEFEHL] [ZIEL]" msgid "record delete for missing files" msgstr "Protokolliert die Löschung fehlender Dateien" @@ -19353,10 +19654,10 @@ msgstr "[OPTION]... QUELLE... ZIEL" msgid "select all unresolved files" -msgstr "Wählt alle noch konfliktbehafteten Dateien aus" +msgstr "Wählt alle konfliktbehafteten Dateien aus" msgid "list state of files needing merge" -msgstr "Zeigt Dateien, deren automatische Zusammenführung fehlschlug" +msgstr "Zeigt Dateien, die einen manuellen Merge erfordern" msgid "mark files as resolved" msgstr "Markiert eine Datei als konfliktfrei" @@ -19365,13 +19666,13 @@ msgstr "Markiert eine Datei als konfliktbehaftet" msgid "hide status prefix" -msgstr "Verdeckt den Status-Präfix" +msgstr "Versteckt das Status-Präfix" msgid "revert all changes when no arguments given" -msgstr "Nimmt alle lokalen Änderungen zurück (ohne andere Parameter)" +msgstr "Nimmt alle Änderungen zurück (wenn ohne andere Parameter aufgerufen)" msgid "tipmost revision matching date" -msgstr "der Spitze (tip) nächste Revision mit passendem Datum" +msgstr "dem tip nächste Revision mit passendem Datum" msgid "revision to revert to" msgstr "Revision, bis zu der Änderungen zurückgenommen werden" @@ -19401,10 +19702,10 @@ msgstr "Name der auf der Webseite angezeigt wird (Standard: Arbeitsverzeichnis)" msgid "name of the webdir config file (serve more than one repository)" -msgstr "Name der webdir-Konfigurationsdatei (mehr als ein Archiv ausliefern)" +msgstr "Name der webdir-Konfigurationsdatei (mehr als ein Projektarchiv ausliefern)" msgid "for remote clients" -msgstr "für entfernte Klienten" +msgstr "für entfernte Clients" msgid "web templates to use" msgstr "Zu nutzende Web-Vorlagen" @@ -19416,7 +19717,7 @@ msgstr "Nutzt IPv6 zusätzlich zu IPv4" msgid "SSL certificate file" -msgstr "SSL Zertifikatsdatei" +msgstr "SSL-Zertifikatsdatei" msgid "show untrusted configuration options" msgstr "" @@ -19431,7 +19732,7 @@ msgstr "Zeigt den Status aller Dateien" msgid "show only modified files" -msgstr "Zeigt nur modifizierte Dateien" +msgstr "Zeigt nur geänderte Dateien" msgid "show only added files" msgstr "Zeigt nur hinzugefügte Dateien" @@ -19440,13 +19741,13 @@ msgstr "Zeigt nur entfernte Dateien" msgid "show only deleted (but tracked) files" -msgstr "Zeigt nur gelöschte (aber überwachte) Dateien" +msgstr "Zeigt nur gelöschte (aber versionierte) Dateien" msgid "show only files without changes" msgstr "Zeigt nur Dateien ohne Änderungen" msgid "show only unknown (not tracked) files" -msgstr "Zeigt nur unbekannte (nicht überwachte) Dateien" +msgstr "Zeigt nur unbekannte (nicht versionierte) Dateien" msgid "show only ignored files" msgstr "Zeigt nur ignorierte Dateien" @@ -19455,19 +19756,19 @@ msgstr "Zeigt die Quelle von kopierten Dateien" msgid "show difference from revision" -msgstr "Zeigt die Differenz zu einer Revision" +msgstr "Zeigt die Unterschiede zu einer Revision" msgid "replace existing tag" -msgstr "Ersetzt bereits gesetztes Etikett" +msgstr "Ersetzt bereits existierendes Tag" msgid "make the tag local" -msgstr "Etikett wird nur lokal gesetzt" +msgstr "Tag wird nur lokal gesetzt" msgid "revision to tag" -msgstr "Zu etikettierende Revision" +msgstr "Zu taggende Revision" msgid "remove a tag" -msgstr "Entfernt ein Etikett" +msgstr "Entfernt ein Tag" msgid "[-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME..." msgstr "[-l] [-m TEXT] [-d DATUM] [-u BENUTZER] [-r REV] NAME..." @@ -19476,13 +19777,13 @@ msgstr "" msgid "update to new tip if changesets were unbundled" -msgstr "Aktualisiert das Arbeitsverzeichnis auf die neue Spitze" +msgstr "aktualisiere auf den neuen tip when Änderungssätze entpackt wurden" msgid "[-u] FILE..." msgstr "[-u] DATEI..." msgid "discard uncommitted changes (no backup)" -msgstr "Entferne nicht versionierte Änderungen (kein Backup)" +msgstr "entferne nicht versionierte Änderungen (kein Backup)" msgid "check for uncommitted changes" msgstr "prüft auf nicht versionierte Änderungen" @@ -19498,14 +19799,18 @@ msgstr "nicht im Manifest gefunden" msgid "branch name not in UTF-8!" -msgstr "Name der Verzweigung nicht in UTF-8!" +msgstr "Branchname ist nicht in UTF-8!" msgid "working directory state appears damaged!" msgstr "Status des Arbeitsverzeichnis scheint beschädigt zu sein!" #, python-format -msgid "'\\n' and '\\r' disallowed in filenames: %r" -msgstr "'\\n' und '\\r' sind nicht in Dateinamen erlaubt: %r" +msgid "" +"'\\n" +"' and '\\r' disallowed in filenames: %r" +msgstr "" +"'\\n" +"' und '\\r' sind nicht in Dateinamen erlaubt: %r" #, python-format msgid "directory %r already in dirstate" @@ -19532,7 +19837,7 @@ msgstr "FIFO" msgid "socket" -msgstr "Sockel" +msgstr "Socket" msgid "directory" msgstr "Verzeichnis" @@ -19559,11 +19864,11 @@ #, python-format msgid "timed out waiting for lock held by %s" -msgstr "Zeitüberschreitung beim Warten auf %s" +msgstr "Zeitüberschreitung beim Warten auf Sperre von %s" #, python-format msgid "lock held by %s" -msgstr "Zur Zeit von %s reserviert" +msgstr "Zur Zeit von %s gesperrt" #, python-format msgid "abort: %s: %s\n" @@ -19571,7 +19876,7 @@ #, python-format msgid "abort: could not lock %s: %s\n" -msgstr "Abbruch: Kann %s nicht reservieren: %s\n" +msgstr "Abbruch: Kann %s nicht sperren: %s\n" #, python-format msgid "hg %s: %s\n" @@ -19589,21 +19894,21 @@ msgstr " leere Zeichenkette\n" msgid "killed!\n" -msgstr " getötet!\n" +msgstr "getötet!\n" #, python-format msgid "hg: unknown command '%s'\n" -msgstr "hg: unbekanntes Kommando '%s'\n" +msgstr "hg: unbekannter Befehl '%s'\n" #, python-format msgid "abort: could not import module %s!\n" msgstr "Abbruch: Kann Modul %s nicht importieren!\n" msgid "(did you forget to compile extensions?)\n" -msgstr "(Erweiterungen nicht compiliert?)\n" +msgstr "(Erweiterungen nicht kompiliert?)\n" msgid "(is your Python install correct?)\n" -msgstr "(Python Installation korrekt?)\n" +msgstr "(Python-Installation korrekt?)\n" #, python-format msgid "abort: error: %s\n" @@ -19656,11 +19961,11 @@ #, python-format msgid "malformed --config option: %r (use --config section.name=value)" -msgstr "missgebildete --config Option: %s (nutze --config Sektion.Name=Wert)" +msgstr "fehlerhafte --config Option: %s (nutze --config Sektion.Name=Wert)" #, python-format msgid "extension '%s' overrides commands: %s\n" -msgstr "Erweiterung '%s' überschreibt die Kommandos: %s\n" +msgstr "Erweiterung '%s' überschreibt die Befehle: %s\n" msgid "Option --config may not be abbreviated!" msgstr "Option --config kann nicht abgekürzt werden!" @@ -19773,10 +20078,10 @@ msgstr "Umgebungsvariablen" msgid "Specifying Single Revisions" -msgstr "Angabe Einzelner Revisionen" +msgstr "Angabe einzelner Revisionen" msgid "Specifying Multiple Revisions" -msgstr "Angabe Mehrerer Revisionen" +msgstr "Angabe mehrerer Revisionen" msgid "Diff Formats" msgstr "Diff-Formate" @@ -19815,26 +20120,26 @@ msgstr "Quellarchiv unterstützt keine Revisions-Abfragen und lässt daher das Klonen bis zu einer Revision nicht zu" msgid "clone from remote to remote not supported" -msgstr "Klonen von entferntem Archiv zu entferntem Archiv nicht möglich" +msgstr "Klonen von entferntem zu entferntem Projektarchiv nicht möglich" #, python-format msgid "updating to branch %s\n" -msgstr "Aktualisiere auf Zweig %s\n" +msgstr "Aktualisiere auf Branch %s\n" #, python-format msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n" msgstr "" msgid "use 'hg resolve' to retry unresolved file merges\n" -msgstr "Verwende 'hg resolve', um die Zusammenführung erneut zu versuchen\n" +msgstr "Nutze 'hg resolve', um ungelöste Merges zu wiederholen\n" msgid "use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon\n" msgstr "" -"Nutze 'hg resolve', um nicht aufgelöste Zusammenführungen zu wiederholen oder\n" -"'hg up --clean' um andere Änderungen aufzugeben\n" +"Nutze 'hg resolve', um ungelöste Merges zu wiederholen\n" +"oder 'hg update -C' um aufzugeben\n" msgid "(branch merge, don't forget to commit)\n" -msgstr "(Zweig-Zusammenführung, vergiss nicht 'hg commit' auszuführen)\n" +msgstr "(Branch-Merge, vergiss nicht 'hg commit' auszuführen)\n" #, python-format msgid "error reading %s/.hg/hgrc: %s\n" @@ -19944,14 +20249,14 @@ msgstr "" msgid "push failed (unexpected response):" -msgstr "push fehlgeschlagen (Unerwartete Antwort)" +msgstr "Push fehlgeschlagen (unerwartete Antwort)" #, python-format msgid "push failed: %s" -msgstr "push fehlgeschlagen: %s" +msgstr "Push fehlgeschlagen: %s" msgid "Python support for SSL and HTTPS is not installed" -msgstr "Python Unterstützung für SSL und HTTPS ist nicht installiert" +msgstr "Python-Unterstützung für SSL und HTTPS ist nicht installiert" msgid "cannot create new http repository" msgstr "Kann neues HTTP-Projektarchiv nicht erzeugen" @@ -19962,7 +20267,7 @@ #, python-format msgid "skipping unreadable ignore file '%s': %s\n" -msgstr "Überspringe nicht lesbare ignore Datei '%s': %s\n" +msgstr "Überspringe nicht lesbare ignore-Datei '%s': %s\n" #, python-format msgid "repository %s not found" @@ -19982,10 +20287,10 @@ #, python-format msgid "%r cannot be used in a tag name" -msgstr "%r kann nicht in einem Namen für Etiketten genutzt werden" +msgstr "%r kann nicht in einem Tagnamen genutzt werden" msgid "working copy of .hgtags is changed (please commit .hgtags manually)" -msgstr "Arbeitskopie von .hgtags wurde geändert (Bitte .hgtags manuell versionieren)" +msgstr "Arbeitskopie von .hgtags wurde geändert (bitte versioniere .hgtags manuell)" #, python-format msgid "working directory has unknown parent '%s'!" @@ -19996,7 +20301,7 @@ msgstr "Unbekannte Revision '%s'" msgid "abandoned transaction found - run hg recover" -msgstr "unfertige Transaktion gefunden - führe hg recover aus" +msgstr "abgebrochene Transaktion gefunden - führe hg recover aus" msgid "rolling back interrupted transaction\n" msgstr "Setze unterbrochene Transaktion zurück\n" @@ -20009,7 +20314,7 @@ #, python-format msgid "Named branch could not be reset, current branch still is: %s\n" -msgstr "Benannter Zweig konnte nicht zurückgesetzt werden, aktueller Zweig ist: %s\n" +msgstr "Benannter Branch konnte nicht zurückgesetzt werden, aktueller Zweig ist weiterhin: %s\n" msgid "no rollback information available\n" msgstr "Keine rollback-Information verfügbar\n" @@ -20027,7 +20332,7 @@ msgstr "Arbeitsverzeichnis von %s" msgid "cannot partially commit a merge (do not specify files or patterns)" -msgstr "Eine Zusammenführung kann nicht teilweise versioniert werden (Gib keine Dateien oder Muster an)" +msgstr "Ein Merge kann nicht teilweise versioniert werden (Gib keine Dateien oder Muster an)" msgid "file not found!" msgstr "Datei nicht gefunden!" @@ -20036,10 +20341,10 @@ msgstr "Kein Treffer unterhalb des Verzeichnisses!" msgid "file not tracked!" -msgstr "Datei wird nicht nachverfolgt!" +msgstr "Datei wird nicht versioniert!" msgid "unresolved merge conflicts (see hg resolve)" -msgstr "Ungelöster Zusammenführungs-Konflikt (siehe hg resolve)" +msgstr "Ungelöster Merge-Konflikt (siehe hg resolve)" #, python-format msgid "committing subrepository %s\n" @@ -20047,7 +20352,7 @@ #, python-format msgid "trouble committing %s!\n" -msgstr "Problem bei Erstellen der neuen Version von %s!\n" +msgstr "Problem beim Versionieren von %s!\n" #, python-format msgid "%s does not exist!\n" @@ -20107,17 +20412,17 @@ msgstr "Fordere alle Änderungen an\n" msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset." -msgstr "Teilweise Holen kann nicht ausgeführt werden, da das andere Projektarchiv keine Teilmengen von Änderungsgruppen unterstützt." +msgstr "Teilweiser Pull kann nicht ausgeführt werden, da das andere Projektarchiv keine Teilmengen von Änderungsgruppen unterstützt." #, python-format msgid "abort: push creates new remote branch '%s'!\n" -msgstr "Abbruch: Ausliefern erzeugt neuen entfernten Zweig '%s'!\n" +msgstr "Abbruch: Push erzeugt neuen entfernten Branch '%s'!\n" msgid "abort: push creates new remote heads!\n" -msgstr "Abbruch: Ausliefern erzeugt neue entfernte Köpfe!\n" +msgstr "Abbruch: Push erzeugt neue entfernte Köpfe!\n" msgid "(did you forget to merge? use push -f to force)\n" -msgstr "(Hast du vergessen zusammenzuführen? Nutze push -f um zu erzwingen)\n" +msgstr "(Hast du vergessen zu mergen? Nutze push -f um zu erzwingen)\n" msgid "note: unsynced remote changes!\n" msgstr "Hinweis: Nicht synchronisierte entfernte Änderungen!\n" @@ -20134,7 +20439,7 @@ msgstr "Füge Änderungssätze hinzu\n" msgid "received changelog group is empty" -msgstr "Erhaltene changelog group ist leer" +msgstr "Erhaltene Changelog-Gruppe ist leer" msgid "adding manifests\n" msgstr "Füge Manifeste hinzu\n" @@ -20143,7 +20448,7 @@ msgstr "Füge Dateiänderungen hinzu\n" msgid "received file revlog group is empty" -msgstr "Erhaltene Datei revlog group ist leer" +msgstr "Revlog-Gruppe der erhaltenen Datei ist leer" #, python-format msgid " (%+d heads)" @@ -20151,7 +20456,7 @@ #, python-format msgid "added %d changesets with %d changes to %d files%s\n" -msgstr "Fügte %d Änderungssätze mit %d Änderungen zu %d Dateien%s hinzu\n" +msgstr "Fügte %d Änderungssätze mit %d Änderungen an %d Dateien%s hinzu\n" msgid "Unexpected response from remote server:" msgstr "" @@ -20382,7 +20687,7 @@ #, python-format msgid "Unsupported line endings type: %s" -msgstr "Nicht unterstützter Typ von Zeilenende: %s" +msgstr "Nicht unterstütztes Zeilenende: %s" #, python-format msgid " %d files changed, %d insertions(+), %d deletions(-)\n" @@ -20401,11 +20706,11 @@ msgstr "Speichere Bündel in %s\n" msgid "adding branch\n" -msgstr "füge Zweig hinzu\n" +msgstr "füge Branch hinzu\n" #, python-format msgid "cannot %s; remote repository does not support the %r capability" -msgstr "Kann nicht %s; entferntes Archiv hat keine %r-Kapabilität" +msgstr "Kann nicht %s; entferntes Projektarchiv unterstützt nicht die %r-Fähigkeiten" #, python-format msgid "unknown compression type %r" @@ -20438,7 +20743,7 @@ #, python-format msgid "incompatible revision flag %x" -msgstr "Inkompatibler Revisions-Schater %x" +msgstr "Inkompatibler Revisions-Schalter %x" #, python-format msgid "%s not found in the transaction" @@ -20452,20 +20757,20 @@ #, python-format msgid "%s looks like a binary file." -msgstr "%s scheint eine Binärdatei zu sein" +msgstr "%s scheint eine Binärdatei zu sein." msgid "can only specify two labels." -msgstr "Kann nur zwei Marken angeben" +msgstr "Kann nur zwei Marken angeben." msgid "warning: conflicts during merge.\n" -msgstr "Warnung: Konflikte bei Zusammenführung.\n" +msgstr "Warnung: Konflikte beim Zusammenführen.\n" #, python-format msgid "couldn't parse location %s" -msgstr "Kann Ort %s nicht entziffern" +msgstr "Kann Ort %s nicht analysieren" msgid "could not create remote repo" -msgstr "Konnte entferntes Archiv nicht erstellen" +msgstr "Konnte entferntes Projektarchiv nicht erstellen" msgid "no suitable response from remote hg" msgstr "Keine passende Antwort des entfernten hg" @@ -20475,20 +20780,20 @@ #, python-format msgid "push refused: %s" -msgstr "Hochladen abgeweisen: %s" +msgstr "Hochladen abgewiesen: %s" msgid "unsynced changes" -msgstr "asynchrone Änderungen" +msgstr "unsynchronisierte Änderungen" #, python-format msgid "'%s' does not appear to be an hg repository" -msgstr "'%s' scheint kein hg-Archiv zu sein" +msgstr "'%s' scheint kein hg-Projektarchiv zu sein" msgid "cannot lock static-http repository" -msgstr "Kann statisches http-Archiv nicht abschliessen" +msgstr "Kann statisches HTTP-Projektarchiv nicht sperren" msgid "cannot create new static-http repository" -msgstr "Kann kein neues, statisches http-Archiv erstellen" +msgstr "Kann kein neues, statisches HTTP-Projektarchiv erstellen" #, python-format msgid "invalid entry in fncache, line %s" @@ -20499,8 +20804,8 @@ " subrepository sources for %s differ\n" "use (l)ocal source (%s) or (r)emote source (%s)?" msgstr "" -" Unterarchivquellen für %s sind verschieden\n" -"nutze (l)okale Quelle (%s) oder entfe(r)nte Quelle (%s)?" +" Unterarchivquellen für %s sind verschieden.\n" +"Nutze (l)okale Quelle (%s) oder entfe(r)nte Quelle (%s)?" msgid "&Remote" msgstr "Entfe&rnt" @@ -20510,16 +20815,16 @@ " local changed subrepository %s which remote removed\n" "use (c)hanged version or (d)elete?" msgstr "" -" lokales Unterarchiv ändert %s, aber entferntes löscht\n" -"nutze (c) geänderte Version oder (d) lösche?" +" Lokales Unterarchiv ändert %s, aber entferntes löscht.\n" +"Nutze (c) geänderte Version oder (d) lösche?" #, python-format msgid "" " remote changed subrepository %s which local removed\n" "use (c)hanged version or (d)elete?" msgstr "" -" Entferntes Unterarchiv ändert %s, aber lokales löscht\n" -"nutze (c) geänderte Version oder (d) lösche?" +" Entferntes Unterarchiv ändert %s, aber lokales löscht.\n" +"Nutze (c) geänderte Version oder (d) lösche?" #, python-format msgid "removing subrepo %s\n" @@ -20542,14 +20847,14 @@ #, python-format msgid "node '%s' is not well formed" -msgstr "Knoten '%s' ist fehlerhaft" +msgstr "Knoten '%s' ist nicht wohlgeformt" msgid "unmatched quotes" msgstr "unpassende Klammern" #, python-format msgid "error expanding '%s%%%s'" -msgstr "Fehler bei Auflösung von '%s%%%s'" +msgstr "Fehler beim Auflösen von '%s%%%s'" #, python-format msgid "unknown filter '%s'" @@ -20561,10 +20866,10 @@ #, python-format msgid "template file %s: %s" -msgstr "Vorlagedatei %s: %s" +msgstr "Vorlagendatei %s: %s" msgid "cannot use transaction when it is already committed/aborted" -msgstr "Kann Transaktion nicht verwenden, wenn sie bereits Übernommen/Abgebrochen ist" +msgstr "Kann Transaktion nicht verwenden, wenn sie bereits übernommen/abgebrochen ist" #, python-format msgid "failed to truncate %s\n" @@ -20574,10 +20879,10 @@ msgstr "Transaktionsabbruch!\n" msgid "rollback completed\n" -msgstr "Rücknahme abgeschlossen\n" +msgstr "Zurückrollen abgeschlossen\n" msgid "rollback failed - please run hg recover\n" -msgstr "Rücksetzen fehlgeschlagen - bitte führe hg recover aus\n" +msgstr "Zurückrollen fehlgeschlagen - bitte führe hg recover aus\n" #, python-format msgid "Not trusting file %s from untrusted user %s, group %s\n" @@ -20585,22 +20890,22 @@ #, python-format msgid "Ignored: %s\n" -msgstr "Ignoriere: %s\n" +msgstr "Ignoriert: %s\n" #, python-format msgid "ignoring untrusted configuration option %s.%s = %s\n" -msgstr "Ignoriere nicht vertrauenswürdigen Konfigurationseintrag %s.%s = %s\n" +msgstr "Ignoriere nicht vertrauenswürdige Einstellung %s.%s = %s\n" #, python-format msgid "%s.%s not a boolean ('%s')" msgstr "%s.%s ist kein bool'scher Wert ('%s')" msgid "enter a commit username:" -msgstr "Gib einen Benutzernamen für die Version ein:" +msgstr "Geben Sie einen Benutzernamen für den Commit ein:" #, python-format msgid "No username found, using '%s' instead\n" -msgstr "Kein Benutzername gefunden, nutze %s stattdessen\n" +msgstr "Kein Benutzername gefunden, nutze '%s' stattdessen\n" msgid "no username supplied (see \"hg help config\")" msgstr "kein Benutzername angegeben (siehe \"hg help config\")" @@ -20622,10 +20927,10 @@ msgstr "Bearbeiten fehlgeschlagen" msgid "http authorization required" -msgstr "HTTP-Autorisation benötigt" +msgstr "HTTP-Authorisierung erforderlich" msgid "http authorization required\n" -msgstr "HTTP-Autorisation benötigt\n" +msgstr "HTTP-Authorisierung erforderlich\n" #, python-format msgid "realm: %s\n" @@ -20640,7 +20945,7 @@ #, python-format msgid "http auth: user %s, password %s\n" -msgstr "HTTP Auth: Benutzer %s, Passwort%s\n" +msgstr "HTTP Auth: Benutzer %s, Passwort %s\n" #, python-format msgid "command '%s' failed: %s" @@ -20648,7 +20953,7 @@ #, python-format msgid "path contains illegal component: %s" -msgstr "Pfad enthält illegalen Teil: %s" +msgstr "Pfad enthält ungültige Komponente: %s" #, python-format msgid "path %r is inside repo %r" @@ -20675,54 +20980,54 @@ #, python-format msgid "impossible time zone offset: %d" -msgstr "Unmögliche Zeitzonen Verschiebung: %d" +msgstr "Unmögliche Zeitzonen-Verschiebung: %d" #, python-format msgid "invalid day spec: %s" -msgstr "Ungültige Angabe des Tages: %s" +msgstr "Ungültige Datumsangabe: %s" #, python-format msgid "%.0f GB" -msgstr "" +msgstr "%.0f GB" #, python-format msgid "%.1f GB" -msgstr "" +msgstr "%.1f GB" #, python-format msgid "%.2f GB" -msgstr "" +msgstr "%.2f GB" #, python-format msgid "%.0f MB" -msgstr "" +msgstr "%.0f MB" #, python-format msgid "%.1f MB" -msgstr "" +msgstr "%.1f MB" #, python-format msgid "%.2f MB" -msgstr "" +msgstr "%.2f MB" #, python-format msgid "%.0f KB" -msgstr "" +msgstr "%.0f KB" #, python-format msgid "%.1f KB" -msgstr "" +msgstr "%.1f KB" #, python-format msgid "%.2f KB" -msgstr "" +msgstr "%.2f KB" #, python-format msgid "%.0f bytes" msgstr "%.0f Bytes" msgid "cannot verify bundle or remote repos" -msgstr "Kann keine Bündel oder entfernte Archive verifizieren" +msgstr "Kann Bündel oder entfernte Projektarchive nicht verifizieren" msgid "interrupted" msgstr "unterbrochen" @@ -20733,11 +21038,11 @@ #, python-format msgid "data length off by %d bytes" -msgstr "Datenlänge um %d bytes daneben" +msgstr "Datenlänge um %d Bytes verschoben" #, python-format msgid "index contains %d extra bytes" -msgstr "Index enthält %d überflüssige Bytes" +msgstr "Index enthält %d zusätzliche Bytes" #, python-format msgid "warning: `%s' uses revlog format 1" @@ -20776,7 +21081,7 @@ msgstr "Doppelte Revision %d (%d)" msgid "abandoned transaction found - run hg recover\n" -msgstr "unfertige Transaktion gefunden - führe hg recover aus\n" +msgstr "abgebroche Transaktion gefunden - führe hg recover aus\n" #, python-format msgid "repository uses revlog format %d\n" @@ -20801,10 +21106,10 @@ #, python-format msgid "reading manifest delta %s" -msgstr "Lese Manifest delta %s" +msgstr "Lese Manifest-Delta %s" msgid "crosschecking files in changesets and manifests\n" -msgstr "Gegenüberstellung der Dateien in Änderungssätzen und Manifesten\n" +msgstr "Überkreuzprüfung der Dateien in Änderungssätzen und Manifesten\n" #, python-format msgid "changeset refers to unknown manifest %s" @@ -20814,7 +21119,7 @@ msgstr "im Änderungssatz aber nicht im Manifest" msgid "in manifest but not in changeset" -msgstr "im Manifest, aber nicht im Änderungssatz" +msgstr "im Manifest aber nicht im Änderungssatz" msgid "checking files\n" msgstr "Prüfe Dateien\n" @@ -20825,7 +21130,7 @@ #, python-format msgid "broken revlog! (%s)" -msgstr "Beschädigtes Revlof! (%s)" +msgstr "Beschädigtes Revlog! (%s)" msgid "missing revlog!" msgstr "Fehlendes Revlog!" @@ -20860,7 +21165,7 @@ #, python-format msgid "%s in manifests not found" -msgstr "%s nicht im Manifest gefunden" +msgstr "%s nicht in den Manifestens gefunden" #, python-format msgid "warning: orphan revlog '%s'" @@ -20918,3 +21223,4 @@ "\n" " Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n" " " + diff -r 2ae4d6c31dcc -r 8471261584a0 i18n/pt_BR.po --- a/i18n/pt_BR.po Wed Sep 15 17:48:03 2010 -0500 +++ b/i18n/pt_BR.po Thu Sep 16 16:07:22 2010 -0500 @@ -231,8 +231,8 @@ msgstr "" " [acl]\n" " # Permite ou recusa acesso para revisões de entrada apenas se sua origem\n" -" # estiver listada aqui, caso contrário ignora esta verificação. A origem é\n" -" # \"serve\" para todo tipo de acesso remoto (http ou ssh), \"push\",\n" +" # estiver listada aqui, caso contrário ignora esta verificação. A origem\n" +" # é \"serve\" para todo tipo de acesso remoto (http ou ssh), \"push\",\n" " # \"pull\" ou \"bundle\" quando os comandos correspondentes forem\n" " # executados do lado local.\n" " # Padrão: serve\n" @@ -343,8 +343,8 @@ " # folder:\n" " docs/** = doc_writer" msgstr "" -" # O usuário \"escritor_de_docs\" tem acesso de escrita para qualquer arquivo\n" -" # sob a pasta \"docs\":\n" +" # O usuário \"escritor_de_docs\" tem acesso de escrita para qualquer\n" +" # arquivo sob a pasta \"docs\":\n" " docs/** = escritor_de_docs" msgid "" @@ -415,12 +415,12 @@ "By default, when several bookmarks point to the same changeset, they\n" "will all move forward together. It is possible to obtain a more\n" "git-like experience by adding the following configuration option to\n" -"your .hgrc::" +"your configuration file::" msgstr "" "Por padrão, quando vários marcadores apontam para a mesma revisão,\n" "todos serão movidos para a frente juntos. É possível obter um\n" "funcionamento mais semelhante ao do sistema git com a adição das\n" -"seguintes opções de configuração ao seu .hgrc::" +"seguintes opções de configuração ao seu arquivo de configuração::" msgid "" " [bookmarks]\n" @@ -1046,6 +1046,10 @@ " de trabalho, se existir.\n" " " +#, python-format +msgid "skipping malformed alias: %s\n" +msgstr "omitindo apelido mal formado: %s\n" + msgid "count rate for the specified revision or range" msgstr "conta a freqüência para uma revisão ou faixa especificada" @@ -1114,8 +1118,8 @@ "Esse modulo também provê a função render_text, que pode ser utilizada\n" "para adicionar efeitos a qualquer texto." -msgid "Default effects may be overridden from the .hgrc file::" -msgstr "Os efeitos padrão podem ser redefinidos pelo arquivo .hgrc::" +msgid "Default effects may be overridden from your configuration file::" +msgstr "Os efeitos padrão podem ser redefinidos pelo seu arquivo de configuração::" msgid "" " [color]\n" @@ -1266,11 +1270,11 @@ msgid "" " If no destination directory name is specified, it defaults to the\n" -" basename of the source with '-hg' appended. If the destination\n" +" basename of the source with ``-hg`` appended. If the destination\n" " repository doesn't exist, it will be created." msgstr "" " Se não for especificado o nome do diretório de destino, o padrão\n" -" será o nome base da origem com '-hg' anexado. Se o repositório\n" +" será o nome base da origem com ``-hg`` anexado. Se o repositório\n" " de destino não existir, ele será criado." msgid "" @@ -1327,26 +1331,30 @@ msgid "" " If the file doesn't exist, it's automatically created. It's\n" -" updated on each commit copied, so convert-repo can be interrupted\n" +" updated on each commit copied, so :hg:`convert` can be interrupted\n" " and can be run repeatedly to copy new commits." msgstr "" " Se o arquivo não existir, será automaticamente criado. Ele é\n" -" atualizado a cada commit copiado, assim a conversão pode ser\n" -" interrompida e executada repetidamente para copiar novos commits." - -msgid "" -" The [username mapping] file is a simple text file that maps each\n" +" atualizado a cada commit copiado, assim :hg:`convert` pode ser\n" +" interrompido e executado repetidamente para copiar novos commits." + +msgid "" +" The username mapping file is a simple text file that maps each\n" " source commit author to a destination commit author. It is handy\n" " for source SCMs that use unix logins to identify authors (eg:\n" -" CVS). One line per author mapping and the line format is:\n" -" srcauthor=whatever string you want" -msgstr "" -" O arquivo [mapa de nome de usuário] é um arquivo texto simples\n" +" CVS). One line per author mapping and the line format is::" +msgstr "" +" O arquivo de mapeamento de nome de usuário é um arquivo texto simples\n" " que mapeia cada autor de commit da origem para um autor de commit\n" -" no destino. Isso é uma ajuda para sistemas de origem que utilizam\n" -" logins unix para identificar os autores (ex: CVS). Uma linha por\n" -" mapeamento de autor no formato:\n" -" autor_origem=qualquer string que você quiser" +" no destino. Isso auxilia na conversão de sistemas que utilizam\n" +" logins unix para identificar os autores (ex: CVS). É usada uma linha\n" +" por mapeamento, com a forma::" + +msgid " source author = destination author" +msgstr " autor na origem = autor no destino" + +msgid " Empty lines and lines starting with a ``#`` are ignored." +msgstr " Linhas vazias ou começadas por ``#`` são ignoradas." msgid "" " The filemap is a file that allows filtering and remapping of files\n" @@ -1366,33 +1374,33 @@ msgstr " rename caminho/para/a/origem caminho/para/o/destino" msgid "" -" Comment lines start with '#'. A specificed path matches if it\n" +" Comment lines start with ``#``. A specificed path matches if it\n" " equals the full relative name of a file or one of its parent\n" -" directories. The 'include' or 'exclude' directive with the longest\n" -" matching path applies, so line order does not matter." -msgstr "" -" Linhas de comentário iniciam com '#'. Um caminho especificado\n" +" directories. The ``include`` or ``exclude`` directive with the\n" +" longest matching path applies, so line order does not matter." +msgstr "" +" Linhas de comentário iniciam com ``#``. Um caminho especificado\n" " será considerado se for igual ao caminho relativo completo de um\n" " arquivo ou de um de seus diretórios pais. A ordem das linhas não é\n" -" importante: será usada a diretiva 'include' ou 'exclude' com o\n" +" importante: será usada a diretiva ``include`` ou ``exclude`` com o\n" " caminho mais longo que combine." msgid "" -" The 'include' directive causes a file, or all files under a\n" +" The ``include`` directive causes a file, or all files under a\n" " directory, to be included in the destination repository, and the\n" " exclusion of all other files and directories not explicitly\n" -" included. The 'exclude' directive causes files or directories to\n" -" be omitted. The 'rename' directive renames a file or directory if\n" +" included. The ``exclude`` directive causes files or directories to\n" +" be omitted. The ``rename`` directive renames a file or directory if\n" " is converted. To rename from a subdirectory into the root of the\n" -" repository, use '.' as the path to rename to." -msgstr "" -" A diretiva 'include' faz com que um arquivo, ou todos os arquivos\n" +" repository, use ``.`` as the path to rename to." +msgstr "" +" A diretiva ``include`` faz com que um arquivo, ou todos os arquivos\n" " em um diretório, sejam incluídos no repositório de destino, e\n" " exclui todos os outros arquivos e diretórios não incluídos\n" -" explicitamente. A diretiva 'exclude' faz com que os arquivos e\n" -" diretórios sejam omitidos. A diretiva 'rename' renomeia um\n" +" explicitamente. A diretiva ``exclude`` faz com que os arquivos e\n" +" diretórios sejam omitidos. A diretiva ``rename`` renomeia um\n" " arquivo ou diretório que for convertido. Para renomear de um\n" -" subdiretório para o raiz do repositório, use '.' como caminho\n" +" subdiretório para o raiz do repositório, use ``.`` como caminho\n" " de destino." msgid "" @@ -1401,7 +1409,20 @@ " useful if you want to e.g. give a Subversion merge two parents, or\n" " graft two disconnected series of history together. Each entry\n" " contains a key, followed by a space, followed by one or two\n" -" comma-separated values. The key is the revision ID in the source\n" +" comma-separated values::" +msgstr "" +" O splicemap é um arquivo que permite a inserção de histórico\n" +" sintético, permitindo que você especifique os pais de uma\n" +" revisão. Isto é útil se você por exemplo quiser que um merge do\n" +" Subversion tenha dois pais, ou para juntar duas linhas desconexas\n" +" de histórico. Cada entrada contém uma chave, seguida de um\n" +" espaço, seguido de um ou mais valores separados por vírgulas::" + +msgid " key parent1, parent2" +msgstr " chave primeiropai, segundopai" + +msgid "" +" The key is the revision ID in the source\n" " revision control system whose parents should be modified (same\n" " format as a key in .hg/shamap). The values are the revision IDs\n" " (in either the source or destination revision control system) that\n" @@ -1410,13 +1431,7 @@ " specify the revision on \"trunk\" as the first parent and the one on\n" " the \"release-1.0\" branch as the second." msgstr "" -" O splicemap é um arquivo que permite a inserção de histórico\n" -" sintético, permitindo que você especifique os pais de uma\n" -" revisão. Isto é útil se você por exemplo quiser que um merge do\n" -" Subversion tenha dois pais, ou para juntar duas linhas desconexas\n" -" de histórico. Cada entrada contém uma chave, seguida de um\n" -" espaço, seguido de um ou mais valores separados por vírgulas. A\n" -" chave é o identificador de revisão no sistema de controle de\n" +" A chave é o identificador de revisão no sistema de controle de\n" " versão de origem cujos pais devam ser modificados (mesmo formato\n" " de uma chave em .hg/shamap). Os valores são os identificadores de\n" " revisão (no sistema de origem ou no de destino) que devem ser\n" @@ -1431,23 +1446,30 @@ " conjunction with a splicemap, it allows for a powerful combination\n" " to help fix even the most badly mismanaged repositories and turn them\n" " into nicely structured Mercurial repositories. The branchmap contains\n" -" lines of the form \"original_branch_name new_branch_name\".\n" -" \"original_branch_name\" is the name of the branch in the source\n" -" repository, and \"new_branch_name\" is the name of the branch is the\n" -" destination repository. This can be used to (for instance) move code\n" -" in one repository from \"default\" to a named branch." +" lines of the form::" msgstr "" " O branchmap é um arquivo que permite a renomeação de um ramo\n" " quando este for trazido de um repositório externo qualquer. Se\n" " usado em conjunto com um splicemap, fornece uma poderosa\n" " combinação que auxilia o conserto de repositórios mal\n" " gerenciados, transformando-os em repositórios Mercurial\n" -" estruturados apropriadamente. O branchmap contém linhas da forma\n" -" \"nome_ramo_original nome_novo_ramo\". \"nome_ramo_original\" é\n" -" o nome do ramo no repositório de origem, e \"nome_novo_ramo\" é\n" -" o nome do ramo no repositório de destino. Isto pode ser usado\n" -" para por exemplo mover código em um repositório de \"default\"\n" -" para um ramo nomeado." +" estruturados apropriadamente. O branchmap contém linhas da forma::" + +msgid " original_branch_name new_branch_name" +msgstr " nome_ramo_original nome_novo_ramo" + +msgid "" +" where \"original_branch_name\" is the name of the branch in the\n" +" source repository, and \"new_branch_name\" is the name of the branch\n" +" is the destination repository. No whitespace is allowed in the\n" +" branch names. This can be used to (for instance) move code in one\n" +" repository from \"default\" to a named branch." +msgstr "" +" onde \"nome_ramo_original\" é o nome do ramo no repositório de\n" +" origem, e \"nome_novo_ramo\" é o nome do ramo no repositório de\n" +" destino. Espaços em branco não são suportados nos nomes de ramo.\n" +" Isto pode ser usado para por exemplo mover código em um\n" +" repositório de \"default\" para um ramo nomeado." msgid "" " Mercurial Source\n" @@ -2731,8 +2753,8 @@ msgid "Signing %d:%s\n" msgstr "Assinando %d: %s\n" -msgid "Error while signing" -msgstr "Erro ao assinar" +msgid "error while signing" +msgstr "erro ao assinar" msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)" msgstr "a cópia de trabalho de .hgsigs foi mudada (por favor consolide .hgsigs manualmente ou use --force)" @@ -2935,11 +2957,12 @@ msgid "" "The :hg:`view` command will launch the hgk Tcl script. For this command\n" "to work, hgk must be in your search path. Alternately, you can specify\n" -"the path to hgk in your .hgrc file::" +"the path to hgk in your configuration file::" msgstr "" "O comando :hg:`view` irá lançar o script Tcl hgk. Para esse comando\n" "funcionar, hgk deve estar em seu caminho de busca. Alternativamente,\n" -"você pode especificar o caminho para o hgk em seu arquivo .hgrc::" +"você pode especificar o caminho para o hgk em seu arquivo de\n" +"configuração::" msgid "" " [hgk]\n" @@ -3296,6 +3319,14 @@ "distribuição em arquivos." msgid "" +"Keywords expand to the changeset data pertaining to the latest change\n" +"relative to the working directory parent of each file." +msgstr "" +"Palavras chave expandem para os dados da revisão correspondentes\n" +"à última mudança relativa ao pai do diretório de trabalho de cada\n" +"arquivo." + +msgid "" "Configuration is done in the [keyword], [keywordset] and [keywordmaps]\n" "sections of hgrc files." msgstr "" @@ -4330,9 +4361,6 @@ msgid "qfold requires at least one patch name" msgstr "qfold requer ao menos um nome de patch" -msgid "No patches applied" -msgstr "Nenhum patch aplicado" - #, python-format msgid "Skipping already folded patch %s" msgstr "Omitindo patch %s já incorporado" @@ -4342,8 +4370,8 @@ msgstr "qfold não pode incorporar o patch %s já aplicado" #, python-format -msgid "Error folding patch %s" -msgstr "Erro incorporando patch %s" +msgid "error folding patch %s" +msgstr "erro incorporando patch %s" msgid "push or pop patches until named patch is at top of stack" msgstr "empilha ou desempilha patches até que o patch nomeado esteja no topo" @@ -4748,8 +4776,8 @@ msgid "only a local queue repository may be initialized" msgstr "apenas um repositório de fila local pode ser inicializado" -msgid "There is no Mercurial repository here (.hg not found)" -msgstr "Não há um repositório do Mercurial aqui (.hg não encontrado)" +msgid "there is no Mercurial repository here (.hg not found)" +msgstr "não há um repositório do Mercurial aqui (.hg não encontrado)" msgid "no queue repository" msgstr "repositório da fila não existente" @@ -5266,10 +5294,11 @@ msgid "" "To ignore global commands like :hg:`version` or :hg:`help`, you have\n" -"to specify them in the global .hgrc\n" +"to specify them in your user configuration file.\n" msgstr "" "Para ignorar comandos globais como :hg:`version`ou :hg:`help`,\n" -"você precisa especificá-los no .hgrc global.\n" +"você precisa especificá-los no seu arquivo de configuração de\n" +"usuário.\n" msgid "interpret suffixes to refer to ancestor revisions" msgstr "interpreta sufixos para referência a revisões ancestrais" @@ -6466,8 +6495,8 @@ msgid "%s: empty changeset" msgstr "%s: revisão vazia" -msgid "Fix up the merge and run hg transplant --continue" -msgstr "Conserte a mesclagem e execute hg transplant --continue" +msgid "fix up the merge and run hg transplant --continue" +msgstr "conserte a mesclagem e execute hg transplant --continue" #, python-format msgid "%s transplanted as %s\n" @@ -8191,8 +8220,8 @@ msgid " patch test failed!\n" msgstr " patch de teste falhou!\n" -msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n" -msgstr " (O utilitário de patch atual pode ser incompatível com o patch, ou pode estar configurado incorretamente. Por favor verifique seu arquivo .hgrc)\n" +msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your configuration file)\n" +msgstr " (O utilitário de patch atual pode ser incompatível com o patch, ou pode estar configurado incorretamente. Por favor verifique seu arquivo de configuração)\n" msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n" msgstr " Falha do sistema interno de patches, por favor informe esse erro em http://mercurial.selenic.com/bts/\n" @@ -8203,8 +8232,8 @@ msgid " No commit editor set and can't find vi in PATH\n" msgstr " Nenhum editor para consolidação configurado, e não foi possível encontrar 'vi' no PATH\n" -msgid " (specify a commit editor in your .hgrc file)\n" -msgstr " (especifique um editor para consolidação em seu arquivo .hgrc)\n" +msgid " (specify a commit editor in your configuration file)\n" +msgstr " (especifique um editor para consolidação em seu arquivo de configuração)\n" #, python-format msgid " Can't find editor '%s' in PATH\n" @@ -8213,8 +8242,8 @@ msgid "Checking username...\n" msgstr "Verificando nome de usuário...\n" -msgid " (specify a username in your .hgrc file)\n" -msgstr " (especifique um nome de usuário em seu arquivo .hgrc)\n" +msgid " (specify a username in your configuration file)\n" +msgstr " (especifique um nome de usuário em seu arquivo de configuração)\n" msgid "No problems detected\n" msgstr "Nenhum problema detectado\n" @@ -9038,12 +9067,12 @@ " fornecido, mostra todas as definições de nomes disponíveis." msgid "" -" Path names are defined in the [paths] section of\n" -" ``/etc/mercurial/hgrc`` and ``$HOME/.hgrc``. If run inside a\n" +" Path names are defined in the [paths] section of your\n" +" configuration file and in ``/etc/mercurial/hgrc``. If run inside a\n" " repository, ``.hg/hgrc`` is used, too." msgstr "" -" Nomes de caminho são definidos na seção [paths] de\n" -" ``/etc/mercurial/hgrc`` e ``$HOME/.hgrc``. Se executado em um\n" +" Nomes de caminho são definidos na seção [paths] de seu arquivo\n" +" de configuração e em ``/etc/mercurial/hgrc``. Se executado em um\n" " repositório, ``.hg/hgrc`` também será usado." msgid "" @@ -9128,6 +9157,9 @@ " em arquivos não resolvidos.\n" " " +msgid "other repository doesn't support revision lookup, so a rev cannot be specified." +msgstr "o outro repositório não suporta busca por revisão, portanto uma revisão não pode ser especificada." + msgid "push changes to the specified destination" msgstr "envia mudanças para o destino especificado" @@ -9288,17 +9320,16 @@ msgstr "arquivo %s não removido: arquivo não rastreado\n" #, python-format -msgid "not removing %s: file %s (use -f to force removal)\n" -msgstr "arquivo %s não removido: %s (use -f para forçar a remoção)\n" - -msgid "still exists" -msgstr "ainda existe" - -msgid "is modified" -msgstr "alterado" - -msgid "has been marked for add" -msgstr "foi marcado para adição" +msgid "not removing %s: file still exists (use -f to force removal)\n" +msgstr "%s não removido: o arquivo ainda existe (use -f para forçar a remoção)\n" + +#, python-format +msgid "not removing %s: file is modified (use -f to force removal)\n" +msgstr "%s não removido: o arquivo foi modificado (use -f para forçar a remoção)\n" + +#, python-format +msgid "not removing %s: file has been marked for add (use -f to force removal)\n" +msgstr "%s não removido: o arquivo foi marcado para adição (use -f para forçar a remoção)\n" msgid "rename files; equivalent of copy + remove" msgstr "renomeia arquivos; equivalente a uma cópia seguida de remoção" @@ -9324,14 +9355,14 @@ msgid "" " Merges with unresolved conflicts are often the result of\n" -" non-interactive merging using the ``internal:merge`` hgrc setting,\n" -" or a command-line merge tool like ``diff3``. The resolve command\n" -" is used to manage the files involved in a merge, after :hg:`merge`\n" -" has been run, and before :hg:`commit` is run (i.e. the working\n" -" directory must have two parents)." -msgstr "" -" Mesclagens com conflitos não resolvidos podem resultar de mesclagens\n" -" rnão interativas usando a configuração ``internal:merge`` do hgrc\n" +" non-interactive merging using the ``internal:merge`` configuration\n" +" setting, or a command-line merge tool like ``diff3``. The resolve\n" +" command is used to manage the files involved in a merge, after\n" +" :hg:`merge` has been run, and before :hg:`commit` is run (i.e. the\n" +" working directory must have two parents)." +msgstr "" +" Mesclagens com conflitos não resolvidos podem resultar de mesclagens não\n" +" interativas usando a opção ``internal:merge`` do arquivo de configuração\n" " ou um utilitário de mesclagem de linha de comando, como o ``diff3``.\n" " O comando resolve é usado para gerenciar os arquivos envolvidos em uma\n" " mesclagem após a execução de :hg:`merge` e antes da execução de\n" @@ -9626,6 +9657,9 @@ " especifique a porta como 0; nesse caso, o servidor irá imprimir\n" " o número da porta que ele usar." +msgid "There is no Mercurial repository here (.hg not found)" +msgstr "Não há um repositório do Mercurial aqui (.hg não encontrado)" + #, python-format msgid "listening at http://%s%s/%s (bound to %s:%d)\n" msgstr "ouvindo em http://%s%s/%s (associado a %s:%d)\n" @@ -10823,8 +10857,8 @@ msgstr "não encontrado no manifesto" #, python-format -msgid "No such file in rev %s" -msgstr "Não há tal arquivo na revisão %s" +msgid "no such file in rev %s" +msgstr "não há tal arquivo na revisão %s" msgid "branch name not in UTF-8!" msgstr "nome do ramo não está em UTF-8!" @@ -10870,6 +10904,18 @@ msgstr "cópia falhou: %s não é um arquivo ou um link simbólico\n" #, python-format +msgid "invalid character in dag description: %s..." +msgstr "caractere inválido na descrição do dag: %s..." + +#, python-format +msgid "expected id %i, got %i" +msgstr "esperado id %i, obtido %i" + +#, python-format +msgid "parent id %i is larger than current id %i" +msgstr "id do pai %i é maior que o id atual %i" + +#, python-format msgid "invalid event type in dag: %s" msgstr "tipo de entrada inválido no dag: %s" @@ -11089,11 +11135,11 @@ msgid "extension '%s' overrides commands: %s\n" msgstr "a extensão '%s' sobrepõe o comando: %s\n" -msgid "Option --config may not be abbreviated!" -msgstr "A opção --config não pode ser abreviada!" - -msgid "Option --cwd may not be abbreviated!" -msgstr "A opção --cwd não pode ser abreviada!" +msgid "option --config may not be abbreviated!" +msgstr "a opção --config não pode ser abreviada!" + +msgid "option --cwd may not be abbreviated!" +msgstr "a opção --cwd não pode ser abreviada!" msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!" msgstr "A opção -R deve ser separada de outras opções (por exemplo, não usar -qR) e --repository pode ser abreviada apenas como --repo!" @@ -11195,8 +11241,8 @@ msgstr "as revisões iniciais não são diretamente relacionadas" #, python-format -msgid "Inconsistent state, %s:%s is good and bad" -msgstr "Estado inconsistente, %s:%s é bom e ruim" +msgid "inconsistent state, %s:%s is good and bad" +msgstr "estado inconsistente, %s:%s é bom e ruim" #, python-format msgid "unknown bisect kind %s" @@ -11488,14 +11534,14 @@ msgid "" "To make Mercurial produce the git extended diff format, use the --git\n" "option available for many commands, or set 'git = True' in the [diff]\n" -"section of your hgrc. You do not need to set this option when\n" -"importing diffs in this format or using them in the mq extension.\n" +"section of your configuration file. You do not need to set this option\n" +"when importing diffs in this format or using them in the mq extension.\n" msgstr "" "Para fazer com que o Mercurial produza o formato estendido git\n" "diff, use a opção --git disponível para vários comandos, ou\n" -"defina 'git = True' na seção [diff] de seu hgrc. Você não precisa\n" -"definir essa opção para importar diffs nesse formato, nem para\n" -"usá-lo com a extensão mq.\n" +"defina 'git = True' na seção [diff] de seu arquivo de configuração.\n" +"Você não precisa definir essa opção para importar diffs nesse formato,\n" +"nem para usá-lo com a extensão mq.\n" msgid "" "HG\n" @@ -11518,8 +11564,8 @@ "HGEDITOR\n" " Este é o nome do editor usado em consolidações. Veja EDITOR." -msgid " (deprecated, use .hgrc)" -msgstr " (obsoleto, use .hgrc)" +msgid " (deprecated, use configuration file)" +msgstr " (obsoleto, use o arquivo de configuração)" msgid "" "HGENCODING\n" @@ -11566,16 +11612,16 @@ msgid "" "HGRCPATH\n" -" A list of files or directories to search for hgrc files. Item\n" -" separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n" -" platform default search path is used. If empty, only the .hg/hgrc\n" -" from the current repository is read." +" A list of files or directories to search for configuration\n" +" files. Item separator is \":\" on Unix, \";\" on Windows. If HGRCPATH\n" +" is not set, platform default search path is used. If empty, only\n" +" the .hg/hgrc from the current repository is read." msgstr "" "HGRCPATH\n" -" Uma lista de arquivos ou diretórios onde procurar arquivos hgrc.\n" -" O separador de itens é \":\" em Unix, \";\" no Windows. Se\n" -" HGRCPATH não estiver definido, o caminho de busca padrão da\n" -" plataforma será usado. Se vazio, será lido apenas .hg/hgrc no\n" +" Uma lista de arquivos ou diretórios onde procurar por arquivos de\n" +" configuração. O separador de itens é \":\" em Unix, \";\" no\n" +" Windows. Se HGRCPATH não estiver definido, o caminho de busca padrão\n" +" da plataforma será usado. Se vazio, será lido apenas o .hg/hgrc no\n" " repositório atual." msgid " For each element in HGRCPATH:" @@ -11591,14 +11637,14 @@ msgid "" "HGPLAIN\n" -" When set, this disables any options in .hgrc that might change\n" -" Mercurial's default output. This includes encoding, defaults,\n" -" verbose mode, debug mode, quiet mode, tracebacks, and\n" +" When set, this disables any configuration settings that might\n" +" change Mercurial's default output. This includes encoding,\n" +" defaults, verbose mode, debug mode, quiet mode, tracebacks, and\n" " localization. This can be useful when scripting against Mercurial\n" " in the face of existing user configuration." msgstr "" "HGPLAIN\n" -" Se definido, desabilita qualquer opção em .hgrc que possa mudar\n" +" Se definido, desabilita qualquer opção de configuração que possa mudar\n" " a saída padrão do Mercurial. Isto inclui codificação, seção defaults,\n" " modo verboso, modo debug, modo silencioso, adições de tracebacks\n" " e localização. Isto pode ser útil para a inclusão do Mercurial em\n" @@ -11623,13 +11669,13 @@ msgid "" " - HGUSER (deprecated)\n" -" - hgrc files from the HGRCPATH\n" +" - configuration files from the HGRCPATH\n" " - EMAIL\n" " - interactive prompt\n" " - LOGNAME (with ``@hostname`` appended)" msgstr "" " - HGUSER (obsoleto)\n" -" - arquivos hgrc no HGRCPATH\n" +" - arquivos de configuração no HGRCPATH\n" " - EMAIL\n" " - consulta interativa\n" " - LOGNAME (com ``@hostname`` anexado)" @@ -11712,13 +11758,13 @@ "usuário ativar extensões como desejar." msgid "" -"To enable the \"foo\" extension, either shipped with Mercurial or in\n" -"the Python search path, create an entry for it in your hgrc, like\n" -"this::" +"To enable the \"foo\" extension, either shipped with Mercurial or in the\n" +"Python search path, create an entry for it in your configuration file,\n" +"like this::" msgstr "" "Para habilitar a extensão \"foo\", tanto se for distribuída com\n" "o Mercurial como estiver no caminho de busca do Python, crie uma\n" -"entrada para ela em seu hgrc, da seguinte forma::" +"entrada para ela em seu arquivo de configuração, da seguinte forma::" msgid "" " [extensions]\n" @@ -11740,11 +11786,11 @@ " myfeature = ~/.hgext/myfeature.py" msgid "" -"To explicitly disable an extension enabled in an hgrc of broader\n" -"scope, prepend its path with !::" +"To explicitly disable an extension enabled in a configuration file of\n" +"broader scope, prepend its path with !::" msgstr "" "Para desabilitar explicitamente uma extensão habilitada em um\n" -"hgrc de escopo mais amplo, prefixe seu caminho com !::" +"arquivo de configuração de escopo mais amplo, prefixe seu caminho com !::" msgid "" " [extensions]\n" @@ -13711,18 +13757,18 @@ " Compression yes" msgid "" -" Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n" -" with the --ssh command line option." +" Alternatively specify \"ssh -C\" as your ssh command in your\n" +" configuration file or with the --ssh command line option." msgstr "" " Alternativamente especifique \"ssh -C\" como seu comando ssh\n" -" em seu hgrc ou pela opção de linha de comando --ssh ." - -msgid "" -"These URLs can all be stored in your hgrc with path aliases under the\n" -"[paths] section like so::" -msgstr "" -"Estas URLs podem ser todas armazenadas em seu hgrc com apelidos\n" -"de caminho na seção [paths] , da seguinte forma::" +" em seu arquivo de configuração ou pela opção de linha de comando --ssh ." + +msgid "" +"These URLs can all be stored in your configuration file with path\n" +"aliases under the [paths] section like so::" +msgstr "" +"Estas URLs podem ser todas armazenadas em seu arquivo de configuração\n" +"com apelidos de caminho na seção [paths] , da seguinte forma::" msgid "" " [paths]\n" @@ -14078,8 +14124,8 @@ msgid "requesting all changes\n" msgstr "pedindo todas as mudanças\n" -msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset." -msgstr "Pull parcial não pode ser feito porque o outro repositório não suporta 'changegroupsubset'." +msgid "partial pull cannot be done because other repository doesn't support changegroupsubset." +msgstr "pull parcial não pode ser feito porque o outro repositório não suporta 'changegroupsubset'." #, python-format msgid "%d changesets found\n" @@ -14157,8 +14203,8 @@ msgid "transferred %s in %.1f seconds (%s/sec)\n" msgstr "transferidos %s em %.1f segundos (%s/s)\n" -msgid "no [smtp]host in hgrc - cannot send mail" -msgstr "nenhum servidor smtp ('host' em '[smtp]') no hgrc - impossível enviar e-mail" +msgid "smtp.host not configured - cannot send mail" +msgstr "servidor smtp não configurado - impossível enviar e-mail" #, python-format msgid "sending mail: smtp host %s, port %s\n" @@ -14202,6 +14248,13 @@ msgstr "falha ao remover %s do manifesto" #, python-format +msgid "invalid pattern (%s): %s" +msgstr "padrão inválido (%s): %s" + +msgid "invalid pattern" +msgstr "padrão inválido" + +#, python-format msgid "diff context lines count must be an integer, not %r" msgstr "o número de linhas de contexto de diff deve ser um inteiro, e não %r" @@ -14371,8 +14424,8 @@ msgstr "comando de patch falhou: %s" #, python-format -msgid "Unsupported line endings type: %s" -msgstr "Tipo de quebra de linha não suportado: %s" +msgid "unsupported line endings type: %s" +msgstr "tipo de quebra de linha não suportado: %s" msgid "" "internal patcher failed\n" @@ -15042,165 +15095,125 @@ "By default, when several bookmarks point to the same changeset, they\n" "will all move forward together. It is possible to obtain a more\n" "git-like experience by adding the following configuration option to\n" -"your configuration file::" +"your .hgrc::" msgstr "" "Por padrão, quando vários marcadores apontam para a mesma revisão,\n" "todos serão movidos para a frente juntos. É possível obter um\n" "funcionamento mais semelhante ao do sistema git com a adição das\n" -"seguintes opções de configuração ao seu arquivo de configuração::" - -#, python-format -msgid "skipping malformed alias: %s\n" -msgstr "omitindo apelido mal formado: %s\n" - -msgid "Default effects may be overridden from your configuration file::" -msgstr "Os efeitos padrão podem ser redefinidos pelo seu arquivo de configuração::" - -msgid "error while signing" -msgstr "erro ao assinar" +"seguintes opções de configuração ao seu .hgrc::" + +msgid "Default effects may be overridden from the .hgrc file::" +msgstr "Os efeitos padrão podem ser redefinidos pelo arquivo .hgrc::" + +msgid "Error while signing" +msgstr "Erro ao assinar" msgid "" "The :hg:`view` command will launch the hgk Tcl script. For this command\n" "to work, hgk must be in your search path. Alternately, you can specify\n" -"the path to hgk in your configuration file::" +"the path to hgk in your .hgrc file::" msgstr "" "O comando :hg:`view` irá lançar o script Tcl hgk. Para esse comando\n" "funcionar, hgk deve estar em seu caminho de busca. Alternativamente,\n" -"você pode especificar o caminho para o hgk em seu arquivo de\n" -"configuração::" - -#, python-format -msgid "error folding patch %s" -msgstr "erro incorporando patch %s" - -msgid "there is no Mercurial repository here (.hg not found)" -msgstr "não há um repositório do Mercurial aqui (.hg não encontrado)" +"você pode especificar o caminho para o hgk em seu arquivo .hgrc::" + +msgid "No patches applied" +msgstr "Nenhum patch aplicado" + +msgid "Error folding patch %s" +msgstr "Erro incorporando patch %s" msgid "" "To ignore global commands like :hg:`version` or :hg:`help`, you have\n" -"to specify them in your user configuration file.\n" +"to specify them in the global .hgrc\n" msgstr "" "Para ignorar comandos globais como :hg:`version`ou :hg:`help`,\n" -"você precisa especificá-los no seu arquivo de configuração de\n" -"usuário.\n" - -msgid "fix up the merge and run hg transplant --continue" -msgstr "conserte a mesclagem e execute hg transplant --continue" - -msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your configuration file)\n" -msgstr " (O utilitário de patch atual pode ser incompatível com o patch, ou pode estar configurado incorretamente. Por favor verifique seu arquivo de configuração)\n" - -msgid " (specify a commit editor in your configuration file)\n" -msgstr " (especifique um editor para consolidação em seu arquivo de configuração)\n" - -msgid " (specify a username in your configuration file)\n" -msgstr " (especifique um nome de usuário em seu arquivo de configuração)\n" - -msgid "" -" Path names are defined in the [paths] section of your\n" -" configuration file and in ``/etc/mercurial/hgrc``. If run inside a\n" +"você precisa especificá-los no .hgrc global.\n" + +msgid "Fix up the merge and run hg transplant --continue" +msgstr "Conserte a mesclagem e execute hg transplant --continue" + +msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n" +msgstr " (O utilitário de patch atual pode ser incompatível com o patch, ou pode estar configurado incorretamente. Por favor verifique seu arquivo .hgrc)\n" + +msgid " (specify a commit editor in your .hgrc file)\n" +msgstr " (especifique um editor para consolidação em seu arquivo .hgrc)\n" + +msgid " (specify a username in your .hgrc file)\n" +msgstr " (especifique um nome de usuário em seu arquivo .hgrc)\n" + +msgid "" +" Path names are defined in the [paths] section of\n" +" ``/etc/mercurial/hgrc`` and ``$HOME/.hgrc``. If run inside a\n" " repository, ``.hg/hgrc`` is used, too." msgstr "" -" Nomes de caminho são definidos na seção [paths] de seu arquivo\n" -" de configuração e em ``/etc/mercurial/hgrc``. Se executado em um\n" +" Nomes de caminho são definidos na seção [paths] de\n" +" ``/etc/mercurial/hgrc`` e ``$HOME/.hgrc``. Se executado em um\n" " repositório, ``.hg/hgrc`` também será usado." -msgid "other repository doesn't support revision lookup, so a rev cannot be specified." -msgstr "o outro repositório não suporta busca por revisão, portanto uma revisão não pode ser especificada." - -#, python-format -msgid "not removing %s: file still exists (use -f to force removal)\n" -msgstr "%s não removido: o arquivo ainda existe (use -f para forçar a remoção)\n" - -#, python-format -msgid "not removing %s: file is modified (use -f to force removal)\n" -msgstr "%s não removido: o arquivo foi modificado (use -f para forçar a remoção)\n" - -#, python-format -msgid "not removing %s: file has been marked for add (use -f to force removal)\n" -msgstr "%s não removido: o arquivo foi marcado para adição (use -f para forçar a remoção)\n" - -msgid "" -" Merges with unresolved conflicts are often the result of\n" -" non-interactive merging using the ``internal:merge`` configuration\n" -" setting, or a command-line merge tool like ``diff3``. The resolve\n" -" command is used to manage the files involved in a merge, after\n" -" :hg:`merge` has been run, and before :hg:`commit` is run (i.e. the\n" -" working directory must have two parents)." -msgstr "" -" Mesclagens com conflitos não resolvidos podem resultar de mesclagens\n" -" rnão interativas usando a configuração ``internal:merge``,\n" -" ou um utilitário de mesclagem de linha de comando, como o ``diff3``.\n" -" O comando resolve é usado para gerenciar os arquivos envolvidos em uma\n" -" mesclagem após a execução de :hg:`merge` e antes da execução de\n" -" :hg:`commit` (ou seja, enquanto o diretório de trabalho tiver dois\n" -" pais)." - -#, python-format -msgid "no such file in rev %s" -msgstr "não há tal arquivo na revisão %s" - -#, python-format -msgid "invalid character in dag description: %s..." -msgstr "caractere inválido na descrição do dag: %s..." - -#, python-format -msgid "expected id %i, got %i" -msgstr "esperado id %i, obtido %i" - -#, python-format -msgid "parent id %i is larger than current id %i" -msgstr "id do pai %i é maior que o id atual %i" - -msgid "option --config may not be abbreviated!" -msgstr "a opção --config não pode ser abreviada!" - -msgid "option --cwd may not be abbreviated!" -msgstr "a opção --cwd não pode ser abreviada!" - -#, python-format -msgid "inconsistent state, %s:%s is good and bad" -msgstr "estado inconsistente, %s:%s é bom e ruim" +msgid "not removing %s: file %s (use -f to force removal)\n" +msgstr "arquivo %s não removido: %s (use -f para forçar a remoção)\n" + +msgid "still exists" +msgstr "ainda existe" + +msgid "is modified" +msgstr "alterado" + +msgid "has been marked for add" +msgstr "foi marcado para adição" + +msgid "No such file in rev %s" +msgstr "Não há tal arquivo na revisão %s" + +msgid "Option --config may not be abbreviated!" +msgstr "A opção --config não pode ser abreviada!" + +msgid "Option --cwd may not be abbreviated!" +msgstr "A opção --cwd não pode ser abreviada!" + +msgid "Inconsistent state, %s:%s is good and bad" +msgstr "Estado inconsistente, %s:%s é bom e ruim" msgid "" "To make Mercurial produce the git extended diff format, use the --git\n" "option available for many commands, or set 'git = True' in the [diff]\n" -"section of your configuration file. You do not need to set this option\n" -"when importing diffs in this format or using them in the mq extension.\n" +"section of your hgrc. You do not need to set this option when\n" +"importing diffs in this format or using them in the mq extension.\n" msgstr "" "Para fazer com que o Mercurial produza o formato estendido git\n" "diff, use a opção --git disponível para vários comandos, ou\n" -"defina 'git = True' na seção [diff] de seu arquivo de configuração.\n" -"Você não precisa definir essa opção para importar diffs nesse formato,\n" -"nem para usá-lo com a extensão mq.\n" - -msgid " (deprecated, use configuration file)" -msgstr " (obsoleto, use o arquivo de configuração)" +"defina 'git = True' na seção [diff] de seu hgrc. Você não precisa\n" +"definir essa opção para importar diffs nesse formato, nem para\n" +"usá-lo com a extensão mq.\n" + +msgid " (deprecated, use .hgrc)" +msgstr " (obsoleto, use .hgrc)" msgid "" "HGRCPATH\n" -" A list of files or directories to search for configuration\n" -" files. Item separator is \":\" on Unix, \";\" on Windows. If HGRCPATH\n" -" is not set, platform default search path is used. If empty, only\n" -" the .hg/hgrc from the current repository is read." +" A list of files or directories to search for hgrc files. Item\n" +" separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n" +" platform default search path is used. If empty, only the .hg/hgrc\n" +" from the current repository is read." msgstr "" "HGRCPATH\n" -" Uma lista de arquivos ou diretórios onde procurar por arquivos de\n" -" configuração. O separador de itens é \":\" em Unix, \";\" no\n" -" Windows. Se HGRCPATH não estiver definido, o caminho de busca padrão\n" -" da plataforma será usado. Se vazio, será lido apenas o .hg/hgrc no\n" +" Uma lista de arquivos ou diretórios onde procurar arquivos hgrc.\n" +" O separador de itens é \":\" em Unix, \";\" no Windows. Se\n" +" HGRCPATH não estiver definido, o caminho de busca padrão da\n" +" plataforma será usado. Se vazio, será lido apenas .hg/hgrc no\n" " repositório atual." msgid "" "HGPLAIN\n" -" When set, this disables any configuration settings that might\n" -" change Mercurial's default output. This includes encoding,\n" -" defaults, verbose mode, debug mode, quiet mode, tracebacks, and\n" +" When set, this disables any options in .hgrc that might change\n" +" Mercurial's default output. This includes encoding, defaults,\n" +" verbose mode, debug mode, quiet mode, tracebacks, and\n" " localization. This can be useful when scripting against Mercurial\n" " in the face of existing user configuration." msgstr "" "HGPLAIN\n" -" Se definido, desabilita qualquer opção de configuração que possa mudar\n" +" Se definido, desabilita qualquer opção em .hgrc que possa mudar\n" " a saída padrão do Mercurial. Isto inclui codificação, seção defaults,\n" " modo verboso, modo debug, modo silencioso, adições de tracebacks\n" " e localização. Isto pode ser útil para a inclusão do Mercurial em\n" @@ -15208,60 +15221,52 @@ msgid "" " - HGUSER (deprecated)\n" -" - configuration files from the HGRCPATH\n" +" - hgrc files from the HGRCPATH\n" " - EMAIL\n" " - interactive prompt\n" " - LOGNAME (with ``@hostname`` appended)" msgstr "" " - HGUSER (obsoleto)\n" -" - arquivos de configuração no HGRCPATH\n" +" - arquivos hgrc no HGRCPATH\n" " - EMAIL\n" " - consulta interativa\n" " - LOGNAME (com ``@hostname`` anexado)" msgid "" -"To enable the \"foo\" extension, either shipped with Mercurial or in the\n" -"Python search path, create an entry for it in your configuration file,\n" -"like this::" +"To enable the \"foo\" extension, either shipped with Mercurial or in\n" +"the Python search path, create an entry for it in your hgrc, like\n" +"this::" msgstr "" "Para habilitar a extensão \"foo\", tanto se for distribuída com\n" "o Mercurial como estiver no caminho de busca do Python, crie uma\n" -"entrada para ela em seu arquivo de configuração, da seguinte forma::" - -msgid "" -"To explicitly disable an extension enabled in a configuration file of\n" -"broader scope, prepend its path with !::" +"entrada para ela em seu hgrc, da seguinte forma::" + +msgid "" +"To explicitly disable an extension enabled in an hgrc of broader\n" +"scope, prepend its path with !::" msgstr "" "Para desabilitar explicitamente uma extensão habilitada em um\n" -"arquivo de configuração de escopo mais amplo, prefixe seu caminho com !::" - -msgid "" -" Alternatively specify \"ssh -C\" as your ssh command in your\n" -" configuration file or with the --ssh command line option." +"hgrc de escopo mais amplo, prefixe seu caminho com !::" + +msgid "" +" Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n" +" with the --ssh command line option." msgstr "" " Alternativamente especifique \"ssh -C\" como seu comando ssh\n" -" em seu arquivo de configuração ou pela opção de linha de comando --ssh ." - -msgid "" -"These URLs can all be stored in your configuration file with path\n" -"aliases under the [paths] section like so::" -msgstr "" -"Estas URLs podem ser todas armazenadas em seu arquivo de configuração\n" -"com apelidos de caminho na seção [paths] , da seguinte forma::" - -msgid "partial pull cannot be done because other repository doesn't support changegroupsubset." -msgstr "pull parcial não pode ser feito porque o outro repositório não suporta 'changegroupsubset'." - -msgid "smtp.host not configured - cannot send mail" -msgstr "servidor smtp não configurado - impossível enviar e-mail" - -#, python-format -msgid "invalid pattern (%s): %s" -msgstr "padrão inválido (%s): %s" - -msgid "invalid pattern" -msgstr "padrão inválido" - -#, python-format -msgid "unsupported line endings type: %s" -msgstr "tipo de quebra de linha não suportado: %s" +" em seu hgrc ou pela opção de linha de comando --ssh ." + +msgid "" +"These URLs can all be stored in your hgrc with path aliases under the\n" +"[paths] section like so::" +msgstr "" +"Estas URLs podem ser todas armazenadas em seu hgrc com apelidos\n" +"de caminho na seção [paths] , da seguinte forma::" + +msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset." +msgstr "Pull parcial não pode ser feito porque o outro repositório não suporta 'changegroupsubset'." + +msgid "no [smtp]host in hgrc - cannot send mail" +msgstr "nenhum servidor smtp ('host' em '[smtp]') no hgrc - impossível enviar e-mail" + +msgid "Unsupported line endings type: %s" +msgstr "Tipo de quebra de linha não suportado: %s" diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-bookmarks-pushpull.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-bookmarks-pushpull.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,65 @@ + $ echo "[extensions]" >> $HGRCPATH + $ echo "bookmarks=" >> $HGRCPATH + + $ echo "[bookmarks]" >> $HGRCPATH + $ echo "track.current = True" >> $HGRCPATH + +initialize + + $ hg init a + $ cd a + $ echo 'test' > test + $ hg commit -Am'test' + adding test + +set bookmarks + + $ hg bookmark X + $ hg bookmark Y + $ hg bookmark Z + +import bookmark by name + + $ hg init ../b + $ cd ../b + $ hg pull ../a + pulling from ../a + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + (run 'hg update' to get a working copy) + $ hg bookmarks + no bookmarks set + $ hg pull -B X ../a + pulling from ../a + searching for changes + no changes found + importing bookmark X + $ hg bookmark + X 0:4e3505fd9583 + +export bookmark by name + + $ hg bookmark W + $ hg bookmark foo + $ hg bookmark foobar + $ hg push -B W ../a + pushing to ../a + searching for changes + no changes found + exporting bookmark W + $ hg -R ../a bookmarks + Y 0:4e3505fd9583 + X 0:4e3505fd9583 + * Z 0:4e3505fd9583 + W -1:000000000000 + +push/pull name that doesn't exist + + $ hg push -B badname ../a + bookmark badname does not exist on the local or remote repository! + $ hg pull -B anotherbadname ../a + abort: remote bookmark anotherbadname not found! + $ true diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-clone-update-order --- a/tests/test-clone-update-order Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -#!/bin/sh - -echo -echo % prepare repo a -mkdir a -cd a -hg init -echo foo > bar -hg commit -Am default -hg up -r null -hg branch mine -echo hello > world -hg commit -Am hello -hg up -r null -hg branch other -echo good > bye -hg commit -Am other -hg up -r mine - -echo % test -U -u -hg clone -U -u . .#other ../b -r 0 -r 1 -r 2 -b other - -echo % test -U -hg clone -U .#other ../b -r 0 -r 1 -r 2 -b other -rm -rf ../b - -echo % test -u . -hg clone -u . .#other ../b -r 0 -r 1 -r 2 -b other -rm -rf ../b - -echo % test -u 0 -hg clone -u 0 .#other ../b -r 0 -r 1 -r 2 -b other -rm -rf ../b - -echo % test -u 1 -hg clone -u 1 .#other ../b -r 0 -r 1 -r 2 -b other -rm -rf ../b - -echo % test -u 2 -hg clone -u 2 .#other ../b -r 0 -r 1 -r 2 -b other -rm -rf ../b - -echo % test -r 0 -hg clone -u 2 .#other ../b -r 0 -r 1 -r 2 -b other -rm -rf ../b - -echo % test -r mine ... mine is ignored -hg clone -u 2 .#other ../b -r mine -r 0 -r 1 -r 2 -b other -rm -rf ../b - -echo % test -b default -hg clone .#other ../b -b default -b mine -rm -rf ../b - -echo % test #other -hg clone .#other ../b -rm -rf ../b - -echo % test tip -hg clone -U . ../c -r 1 -r 2 > /dev/null -hg clone ../c ../b -rm -rf ../b ../c -cd .. - -rm -rf a -exit 0 diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-clone-update-order.out --- a/tests/test-clone-update-order.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ - -% prepare repo a -adding bar -0 files updated, 0 files merged, 1 files removed, 0 files unresolved -marked working directory as branch mine -adding world -0 files updated, 0 files merged, 1 files removed, 0 files unresolved -marked working directory as branch other -adding bye -1 files updated, 0 files merged, 1 files removed, 0 files unresolved -% test -U -u -abort: cannot specify both --noupdate and --updaterev -% test -U -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -% test -u . -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -updating to branch mine -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test -u 0 -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -updating to branch default -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test -u 1 -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -updating to branch mine -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test -u 2 -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -updating to branch other -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test -r 0 -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -updating to branch other -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test -r mine ... mine is ignored -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -updating to branch other -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test -b default -requesting all changes -adding changesets -adding manifests -adding file changes -added 3 changesets with 3 changes to 3 files (+2 heads) -updating to branch default -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test -requesting all changes -adding changesets -adding manifests -adding file changes -added 1 changesets with 1 changes to 1 files -updating to branch other -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% test tip -updating to branch other -1 files updated, 0 files merged, 0 files removed, 0 files unresolved diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-clone-update-order.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone-update-order.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,110 @@ + $ hg init + $ echo foo > bar + $ hg commit -Am default + adding bar + $ hg up -r null + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg branch mine + marked working directory as branch mine + $ echo hello > world + $ hg commit -Am hello + adding world + $ hg up -r null + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg branch other + marked working directory as branch other + $ echo good > bye + $ hg commit -Am other + adding bye + $ hg up -r mine + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + + $ hg clone -U -u . .#other ../b -r 0 -r 1 -r 2 -b other + abort: cannot specify both --noupdate and --updaterev + + $ hg clone -U .#other ../b -r 0 -r 1 -r 2 -b other + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+2 heads) + $ rm -rf ../b + + $ hg clone -u . .#other ../b -r 0 -r 1 -r 2 -b other + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+2 heads) + updating to branch mine + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b + + $ hg clone -u 0 .#other ../b -r 0 -r 1 -r 2 -b other + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+2 heads) + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b + + $ hg clone -u 1 .#other ../b -r 0 -r 1 -r 2 -b other + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+2 heads) + updating to branch mine + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b + + $ hg clone -u 2 .#other ../b -r 0 -r 1 -r 2 -b other + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+2 heads) + updating to branch other + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b + +Test -r mine ... mine is ignored: + + $ hg clone -u 2 .#other ../b -r mine -r 0 -r 1 -r 2 -b other + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+2 heads) + updating to branch other + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b + + $ hg clone .#other ../b -b default -b mine + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files (+2 heads) + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b + + $ hg clone .#other ../b + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + updating to branch other + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b + + $ hg clone -U . ../c -r 1 -r 2 > /dev/null + $ hg clone ../c ../b + updating to branch other + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm -rf ../b ../c + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-command-template --- a/tests/test-command-template Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,211 +0,0 @@ -#!/bin/sh - -hg init a -cd a -echo a > a -hg add a -echo line 1 > b -echo line 2 >> b -hg commit -l b -d '1000000 0' -u 'User Name ' -hg add b -echo other 1 > c -echo other 2 >> c -echo >> c -echo other 3 >> c -hg commit -l c -d '1100000 0' -u 'A. N. Other ' -hg add c -hg commit -m 'no person' -d '1200000 0' -u 'other@place' -echo c >> c -hg commit -m 'no user, no domain' -d '1300000 0' -u 'person' -echo foo > .hg/branch -hg commit -m 'new branch' -d '1400000 0' -u 'person' -hg co -q 3 -echo other 4 >> d -hg add d -hg commit -m 'new head' -d '1500000 0' -u 'person' -hg merge -q foo -hg commit -m 'merge' -d '1500001 0' -u 'person' -# second branch starting at nullrev -hg update null -echo second > second -hg add second -hg commit -m second -d '1000000 0' -u 'User Name ' -echo third > third -hg add third -hg mv second fourth -hg commit -m third -d "2020-01-01 10:01" - -# make sure user/global hgrc does not affect tests -echo '[ui]' > .hg/hgrc -echo 'logtemplate =' >> .hg/hgrc -echo 'style =' >> .hg/hgrc - -echo '# default style is like normal output' -echo '# normal' -hg log > log.out -hg log --style default > style.out -cmp log.out style.out || diff -u log.out style.out -echo '# verbose' -hg log -v > log.out -hg log -v --style default > style.out -cmp log.out style.out || diff -u log.out style.out -echo '# debug' -hg log --debug > log.out -hg log --debug --style default > style.out -cmp log.out style.out || diff -u log.out style.out - -echo '# revision with no copies (used to print a traceback)' -hg tip -v --template '\n' - -echo '# compact style works' -hg log --style compact -hg log -v --style compact -hg log --debug --style compact - -# Test xml styles -echo '# xml style works (--style xml)' -hg log --style xml -echo '# xml style works (-v --style xml)' -hg log -v --style xml -echo '# xml style works (--debug --style xml)' -hg log --debug --style xml - -echo '# error if style not readable' -touch q -chmod 0 q -hg log --style ./q - -echo '# error if no style' -hg log --style notexist - -echo '# error if style missing key' -echo 'q = q' > t -hg log --style ./t - -echo '# error if include fails' -echo 'changeset = q' >> t -hg log --style ./t - -echo '# include works' -rm q -echo '{rev}' > q -hg log --style ./t - -echo '# ui.style works' -echo '[ui]' > .hg/hgrc -echo 'style = t' >> .hg/hgrc -hg log - -echo '# issue338' -hg log --style=changelog > changelog -cat changelog - -echo '# issue 2130' -hg heads --style changelog - -echo "# keys work" -for key in author branches date desc file_adds file_dels file_mods \ - file_copies file_copies_switch files \ - manifest node parents rev tags diffstat extras; do - for mode in '' --verbose --debug; do - hg log $mode --template "$key$mode: {$key}\n" - done -done - -echo '# filters work' -hg log --template '{author|domain}\n' -hg log --template '{author|person}\n' -hg log --template '{author|user}\n' -hg log --template '{date|age}\n' > /dev/null || exit 1 -hg log -l1 --template '{date|age}\n' -hg log --template '{date|date}\n' -hg log --template '{date|isodate}\n' -hg log --template '{date|isodatesec}\n' -hg log --template '{date|rfc822date}\n' -hg log --template '{desc|firstline}\n' -hg log --template '{node|short}\n' -hg log --template '\n' -hg log --template '{rev}: {children}\n' - -echo '# formatnode filter works' -echo '# quiet' -hg -q log -r 0 --template '{node|formatnode}\n' -echo '# normal' -hg log -r 0 --template '{node|formatnode}\n' -echo '# verbose' -hg -v log -r 0 --template '{node|formatnode}\n' -echo '# debug' -hg --debug log -r 0 --template '{node|formatnode}\n' - -echo '# error on syntax' -echo 'x = "f' >> t -hg log - -cd .. - -echo '# latesttag' -hg init latesttag -cd latesttag - -echo a > file -hg ci -Am a -d '0 0' - -echo b >> file -hg ci -m b -d '1 0' - -echo c >> head1 -hg ci -Am h1c -d '2 0' - -hg update -q 1 -echo d >> head2 -hg ci -Am h2d -d '3 0' - -echo e >> head2 -hg ci -m h2e -d '4 0' - -hg merge -q -hg ci -m merge -d '5 0' - -echo '# No tag set' -hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' - -echo '# one common tag: longuest path wins' -hg tag -r 1 -m t1 -d '6 0' t1 -hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' - -echo '# one ancestor tag: more recent wins' -hg tag -r 2 -m t2 -d '7 0' t2 -hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' - -echo '# two branch tags: more recent wins' -hg tag -r 3 -m t3 -d '8 0' t3 -hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' - -echo '# merged tag overrides' -hg tag -r 5 -m t5 -d '9 0' t5 -hg tag -r 3 -m at3 -d '10 0' at3 -hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' -cd .. - -echo '# style path expansion (issue1948)' -mkdir -p home/styles -cat > home/styles/teststyle < latesttag/.hg/hgrc < style1989 < - second - -6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person - merge - -5:3 13207e5a10d9 1970-01-18 08:40 +0000 person - new head - -4 32a18f097fcc 1970-01-17 04:53 +0000 person - new branch - -3 10e46f2dcbf4 1970-01-16 01:06 +0000 person - no user, no domain - -2 97054abb4ab8 1970-01-14 21:20 +0000 other@place - no person - -1 b608e9d1a3f0 1970-01-13 17:33 +0000 A. N. Other - other 1 -other 2 - -other 3 - -0 1e4e1b8f71e0 1970-01-12 13:46 +0000 User Name - line 1 -line 2 - -8[tip]:7,-1 95c24699272e 2020-01-01 10:01 +0000 test - third - -7:-1,-1 29114dbae42b 1970-01-12 13:46 +0000 User Name - second - -6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person - merge - -5:3,-1 13207e5a10d9 1970-01-18 08:40 +0000 person - new head - -4:3,-1 32a18f097fcc 1970-01-17 04:53 +0000 person - new branch - -3:2,-1 10e46f2dcbf4 1970-01-16 01:06 +0000 person - no user, no domain - -2:1,-1 97054abb4ab8 1970-01-14 21:20 +0000 other@place - no person - -1:0,-1 b608e9d1a3f0 1970-01-13 17:33 +0000 A. N. Other - other 1 -other 2 - -other 3 - -0:-1,-1 1e4e1b8f71e0 1970-01-12 13:46 +0000 User Name - line 1 -line 2 - -# xml style works (--style xml) - - - -tip -test -2020-01-01T10:01:00+00:00 -third - - - -User Name -1970-01-12T13:46:40+00:00 -second - - - - -person -1970-01-18T08:40:01+00:00 -merge - - - -person -1970-01-18T08:40:00+00:00 -new head - - -foo -person -1970-01-17T04:53:20+00:00 -new branch - - -person -1970-01-16T01:06:40+00:00 -no user, no domain - - -other -1970-01-14T21:20:00+00:00 -no person - - -A. N. Other -1970-01-13T17:33:20+00:00 -other 1 -other 2 - -other 3 - - -User Name -1970-01-12T13:46:40+00:00 -line 1 -line 2 - - -# xml style works (-v --style xml) - - - -tip -test -2020-01-01T10:01:00+00:00 -third - -fourth -third -second - - -fourth - - - - -User Name -1970-01-12T13:46:40+00:00 -second - -second - - - - - -person -1970-01-18T08:40:01+00:00 -merge - - - - - -person -1970-01-18T08:40:00+00:00 -new head - -d - - - -foo -person -1970-01-17T04:53:20+00:00 -new branch - - - - -person -1970-01-16T01:06:40+00:00 -no user, no domain - -c - - - -other -1970-01-14T21:20:00+00:00 -no person - -c - - - -A. N. Other -1970-01-13T17:33:20+00:00 -other 1 -other 2 - -other 3 - -b - - - -User Name -1970-01-12T13:46:40+00:00 -line 1 -line 2 - -a - - - -# xml style works (--debug --style xml) - - - -tip - - -test -2020-01-01T10:01:00+00:00 -third - -fourth -third -second - - -fourth - -default - - - - -User Name -1970-01-12T13:46:40+00:00 -second - -second - -default - - - - -person -1970-01-18T08:40:01+00:00 -merge - - -default - - - - -person -1970-01-18T08:40:00+00:00 -new head - -d - -default - - -foo - - -person -1970-01-17T04:53:20+00:00 -new branch - - -foo - - - - -person -1970-01-16T01:06:40+00:00 -no user, no domain - -c - -default - - - - -other -1970-01-14T21:20:00+00:00 -no person - -c - -default - - - - -A. N. Other -1970-01-13T17:33:20+00:00 -other 1 -other 2 - -other 3 - -b - -default - - - - -User Name -1970-01-12T13:46:40+00:00 -line 1 -line 2 - -a - -default - - -# error if style not readable -abort: Permission denied: ./q -# error if no style -abort: style not found: notexist -# error if style missing key -abort: ./t: no key named 'changeset' -# error if include fails -abort: template file ./q: Permission denied -# include works -8 -7 -6 -5 -4 -3 -2 -1 -0 -# ui.style works -8 -7 -6 -5 -4 -3 -2 -1 -0 -# issue338 -2020-01-01 test - - * fourth, second, third: - third - [95c24699272e] [tip] - -1970-01-12 User Name - - * second: - second - [29114dbae42b] - -1970-01-18 person - - * merge - [c7b487c6c50e] - - * d: - new head - [13207e5a10d9] - -1970-01-17 person - - * new branch - [32a18f097fcc] - -1970-01-16 person - - * c: - no user, no domain - [10e46f2dcbf4] - -1970-01-14 other - - * c: - no person - [97054abb4ab8] - -1970-01-13 A. N. Other - - * b: - other 1 other 2 - - other 3 - [b608e9d1a3f0] - -1970-01-12 User Name - - * a: - line 1 line 2 - [1e4e1b8f71e0] - -# issue 2130 -2020-01-01 test - - * fourth, second, third: - third - [95c24699272e] [tip] - -1970-01-18 person - - * merge - [c7b487c6c50e] - -1970-01-17 person - - * new branch - [32a18f097fcc] - -# keys work -author: test -author: User Name -author: person -author: person -author: person -author: person -author: other@place -author: A. N. Other -author: User Name -author--verbose: test -author--verbose: User Name -author--verbose: person -author--verbose: person -author--verbose: person -author--verbose: person -author--verbose: other@place -author--verbose: A. N. Other -author--verbose: User Name -author--debug: test -author--debug: User Name -author--debug: person -author--debug: person -author--debug: person -author--debug: person -author--debug: other@place -author--debug: A. N. Other -author--debug: User Name -branches: -branches: -branches: -branches: -branches: foo -branches: -branches: -branches: -branches: -branches--verbose: -branches--verbose: -branches--verbose: -branches--verbose: -branches--verbose: foo -branches--verbose: -branches--verbose: -branches--verbose: -branches--verbose: -branches--debug: -branches--debug: -branches--debug: -branches--debug: -branches--debug: foo -branches--debug: -branches--debug: -branches--debug: -branches--debug: -date: 1577872860.00 -date: 1000000.00 -date: 1500001.00 -date: 1500000.00 -date: 1400000.00 -date: 1300000.00 -date: 1200000.00 -date: 1100000.00 -date: 1000000.00 -date--verbose: 1577872860.00 -date--verbose: 1000000.00 -date--verbose: 1500001.00 -date--verbose: 1500000.00 -date--verbose: 1400000.00 -date--verbose: 1300000.00 -date--verbose: 1200000.00 -date--verbose: 1100000.00 -date--verbose: 1000000.00 -date--debug: 1577872860.00 -date--debug: 1000000.00 -date--debug: 1500001.00 -date--debug: 1500000.00 -date--debug: 1400000.00 -date--debug: 1300000.00 -date--debug: 1200000.00 -date--debug: 1100000.00 -date--debug: 1000000.00 -desc: third -desc: second -desc: merge -desc: new head -desc: new branch -desc: no user, no domain -desc: no person -desc: other 1 -other 2 - -other 3 -desc: line 1 -line 2 -desc--verbose: third -desc--verbose: second -desc--verbose: merge -desc--verbose: new head -desc--verbose: new branch -desc--verbose: no user, no domain -desc--verbose: no person -desc--verbose: other 1 -other 2 - -other 3 -desc--verbose: line 1 -line 2 -desc--debug: third -desc--debug: second -desc--debug: merge -desc--debug: new head -desc--debug: new branch -desc--debug: no user, no domain -desc--debug: no person -desc--debug: other 1 -other 2 - -other 3 -desc--debug: line 1 -line 2 -file_adds: fourth third -file_adds: second -file_adds: -file_adds: d -file_adds: -file_adds: -file_adds: c -file_adds: b -file_adds: a -file_adds--verbose: fourth third -file_adds--verbose: second -file_adds--verbose: -file_adds--verbose: d -file_adds--verbose: -file_adds--verbose: -file_adds--verbose: c -file_adds--verbose: b -file_adds--verbose: a -file_adds--debug: fourth third -file_adds--debug: second -file_adds--debug: -file_adds--debug: d -file_adds--debug: -file_adds--debug: -file_adds--debug: c -file_adds--debug: b -file_adds--debug: a -file_dels: second -file_dels: -file_dels: -file_dels: -file_dels: -file_dels: -file_dels: -file_dels: -file_dels: -file_dels--verbose: second -file_dels--verbose: -file_dels--verbose: -file_dels--verbose: -file_dels--verbose: -file_dels--verbose: -file_dels--verbose: -file_dels--verbose: -file_dels--verbose: -file_dels--debug: second -file_dels--debug: -file_dels--debug: -file_dels--debug: -file_dels--debug: -file_dels--debug: -file_dels--debug: -file_dels--debug: -file_dels--debug: -file_mods: -file_mods: -file_mods: -file_mods: -file_mods: -file_mods: c -file_mods: -file_mods: -file_mods: -file_mods--verbose: -file_mods--verbose: -file_mods--verbose: -file_mods--verbose: -file_mods--verbose: -file_mods--verbose: c -file_mods--verbose: -file_mods--verbose: -file_mods--verbose: -file_mods--debug: -file_mods--debug: -file_mods--debug: -file_mods--debug: -file_mods--debug: -file_mods--debug: c -file_mods--debug: -file_mods--debug: -file_mods--debug: -file_copies: fourth (second) -file_copies: -file_copies: -file_copies: -file_copies: -file_copies: -file_copies: -file_copies: -file_copies: -file_copies--verbose: fourth (second) -file_copies--verbose: -file_copies--verbose: -file_copies--verbose: -file_copies--verbose: -file_copies--verbose: -file_copies--verbose: -file_copies--verbose: -file_copies--verbose: -file_copies--debug: fourth (second) -file_copies--debug: -file_copies--debug: -file_copies--debug: -file_copies--debug: -file_copies--debug: -file_copies--debug: -file_copies--debug: -file_copies--debug: -file_copies_switch: -file_copies_switch: -file_copies_switch: -file_copies_switch: -file_copies_switch: -file_copies_switch: -file_copies_switch: -file_copies_switch: -file_copies_switch: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--verbose: -file_copies_switch--debug: -file_copies_switch--debug: -file_copies_switch--debug: -file_copies_switch--debug: -file_copies_switch--debug: -file_copies_switch--debug: -file_copies_switch--debug: -file_copies_switch--debug: -file_copies_switch--debug: -files: fourth second third -files: second -files: -files: d -files: -files: c -files: c -files: b -files: a -files--verbose: fourth second third -files--verbose: second -files--verbose: -files--verbose: d -files--verbose: -files--verbose: c -files--verbose: c -files--verbose: b -files--verbose: a -files--debug: fourth second third -files--debug: second -files--debug: -files--debug: d -files--debug: -files--debug: c -files--debug: c -files--debug: b -files--debug: a -manifest: 8:94961b75a2da -manifest: 7:f2dbc354b94e -manifest: 6:91015e9dbdd7 -manifest: 5:4dc3def4f9b4 -manifest: 4:90ae8dda64e1 -manifest: 3:cb5a1327723b -manifest: 2:6e0e82995c35 -manifest: 1:4e8d705b1e53 -manifest: 0:a0c8bcbbb45c -manifest--verbose: 8:94961b75a2da -manifest--verbose: 7:f2dbc354b94e -manifest--verbose: 6:91015e9dbdd7 -manifest--verbose: 5:4dc3def4f9b4 -manifest--verbose: 4:90ae8dda64e1 -manifest--verbose: 3:cb5a1327723b -manifest--verbose: 2:6e0e82995c35 -manifest--verbose: 1:4e8d705b1e53 -manifest--verbose: 0:a0c8bcbbb45c -manifest--debug: 8:94961b75a2da554b4df6fb599e5bfc7d48de0c64 -manifest--debug: 7:f2dbc354b94e5ec0b4f10680ee0cee816101d0bf -manifest--debug: 6:91015e9dbdd76a6791085d12b0a0ec7fcd22ffbf -manifest--debug: 5:4dc3def4f9b4c6e8de820f6ee74737f91e96a216 -manifest--debug: 4:90ae8dda64e1a876c792bccb9af66284f6018363 -manifest--debug: 3:cb5a1327723bada42f117e4c55a303246eaf9ccc -manifest--debug: 2:6e0e82995c35d0d57a52aca8da4e56139e06b4b1 -manifest--debug: 1:4e8d705b1e53e3f9375e0e60dc7b525d8211fe55 -manifest--debug: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 -node: 95c24699272ef57d062b8bccc32c878bf841784a -node: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 -node: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f -node: 13207e5a10d9fd28ec424934298e176197f2c67f -node: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 -node: 10e46f2dcbf4823578cf180f33ecf0b957964c47 -node: 97054abb4ab824450e9164180baf491ae0078465 -node: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 -node: 1e4e1b8f71e05681d422154f5421e385fec3454f -node--verbose: 95c24699272ef57d062b8bccc32c878bf841784a -node--verbose: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 -node--verbose: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f -node--verbose: 13207e5a10d9fd28ec424934298e176197f2c67f -node--verbose: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 -node--verbose: 10e46f2dcbf4823578cf180f33ecf0b957964c47 -node--verbose: 97054abb4ab824450e9164180baf491ae0078465 -node--verbose: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 -node--verbose: 1e4e1b8f71e05681d422154f5421e385fec3454f -node--debug: 95c24699272ef57d062b8bccc32c878bf841784a -node--debug: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 -node--debug: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f -node--debug: 13207e5a10d9fd28ec424934298e176197f2c67f -node--debug: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 -node--debug: 10e46f2dcbf4823578cf180f33ecf0b957964c47 -node--debug: 97054abb4ab824450e9164180baf491ae0078465 -node--debug: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 -node--debug: 1e4e1b8f71e05681d422154f5421e385fec3454f -parents: -parents: -1:000000000000 -parents: 5:13207e5a10d9 4:32a18f097fcc -parents: 3:10e46f2dcbf4 -parents: -parents: -parents: -parents: -parents: -parents--verbose: -parents--verbose: -1:000000000000 -parents--verbose: 5:13207e5a10d9 4:32a18f097fcc -parents--verbose: 3:10e46f2dcbf4 -parents--verbose: -parents--verbose: -parents--verbose: -parents--verbose: -parents--verbose: -parents--debug: 7:29114dbae42b9f078cf2714dbe3a86bba8ec7453 -1:0000000000000000000000000000000000000000 -parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000 -parents--debug: 5:13207e5a10d9fd28ec424934298e176197f2c67f 4:32a18f097fcccf76ef282f62f8a85b3adf8d13c4 -parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000 -parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000 -parents--debug: 2:97054abb4ab824450e9164180baf491ae0078465 -1:0000000000000000000000000000000000000000 -parents--debug: 1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965 -1:0000000000000000000000000000000000000000 -parents--debug: 0:1e4e1b8f71e05681d422154f5421e385fec3454f -1:0000000000000000000000000000000000000000 -parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000 -rev: 8 -rev: 7 -rev: 6 -rev: 5 -rev: 4 -rev: 3 -rev: 2 -rev: 1 -rev: 0 -rev--verbose: 8 -rev--verbose: 7 -rev--verbose: 6 -rev--verbose: 5 -rev--verbose: 4 -rev--verbose: 3 -rev--verbose: 2 -rev--verbose: 1 -rev--verbose: 0 -rev--debug: 8 -rev--debug: 7 -rev--debug: 6 -rev--debug: 5 -rev--debug: 4 -rev--debug: 3 -rev--debug: 2 -rev--debug: 1 -rev--debug: 0 -tags: tip -tags: -tags: -tags: -tags: -tags: -tags: -tags: -tags: -tags--verbose: tip -tags--verbose: -tags--verbose: -tags--verbose: -tags--verbose: -tags--verbose: -tags--verbose: -tags--verbose: -tags--verbose: -tags--debug: tip -tags--debug: -tags--debug: -tags--debug: -tags--debug: -tags--debug: -tags--debug: -tags--debug: -tags--debug: -diffstat: 3: +2/-1 -diffstat: 1: +1/-0 -diffstat: 0: +0/-0 -diffstat: 1: +1/-0 -diffstat: 0: +0/-0 -diffstat: 1: +1/-0 -diffstat: 1: +4/-0 -diffstat: 1: +2/-0 -diffstat: 1: +1/-0 -diffstat--verbose: 3: +2/-1 -diffstat--verbose: 1: +1/-0 -diffstat--verbose: 0: +0/-0 -diffstat--verbose: 1: +1/-0 -diffstat--verbose: 0: +0/-0 -diffstat--verbose: 1: +1/-0 -diffstat--verbose: 1: +4/-0 -diffstat--verbose: 1: +2/-0 -diffstat--verbose: 1: +1/-0 -diffstat--debug: 3: +2/-1 -diffstat--debug: 1: +1/-0 -diffstat--debug: 0: +0/-0 -diffstat--debug: 1: +1/-0 -diffstat--debug: 0: +0/-0 -diffstat--debug: 1: +1/-0 -diffstat--debug: 1: +4/-0 -diffstat--debug: 1: +2/-0 -diffstat--debug: 1: +1/-0 -extras: branch=default -extras: branch=default -extras: branch=default -extras: branch=default -extras: branch=foo -extras: branch=default -extras: branch=default -extras: branch=default -extras: branch=default -extras--verbose: branch=default -extras--verbose: branch=default -extras--verbose: branch=default -extras--verbose: branch=default -extras--verbose: branch=foo -extras--verbose: branch=default -extras--verbose: branch=default -extras--verbose: branch=default -extras--verbose: branch=default -extras--debug: branch=default -extras--debug: branch=default -extras--debug: branch=default -extras--debug: branch=default -extras--debug: branch=foo -extras--debug: branch=default -extras--debug: branch=default -extras--debug: branch=default -extras--debug: branch=default -# filters work - -hostname - - - - -place -place -hostname -test -User Name -person -person -person -person -other -A. N. Other -User Name -test -user -person -person -person -person -other -other -user -in the future -Wed Jan 01 10:01:00 2020 +0000 -Mon Jan 12 13:46:40 1970 +0000 -Sun Jan 18 08:40:01 1970 +0000 -Sun Jan 18 08:40:00 1970 +0000 -Sat Jan 17 04:53:20 1970 +0000 -Fri Jan 16 01:06:40 1970 +0000 -Wed Jan 14 21:20:00 1970 +0000 -Tue Jan 13 17:33:20 1970 +0000 -Mon Jan 12 13:46:40 1970 +0000 -2020-01-01 10:01 +0000 -1970-01-12 13:46 +0000 -1970-01-18 08:40 +0000 -1970-01-18 08:40 +0000 -1970-01-17 04:53 +0000 -1970-01-16 01:06 +0000 -1970-01-14 21:20 +0000 -1970-01-13 17:33 +0000 -1970-01-12 13:46 +0000 -2020-01-01 10:01:00 +0000 -1970-01-12 13:46:40 +0000 -1970-01-18 08:40:01 +0000 -1970-01-18 08:40:00 +0000 -1970-01-17 04:53:20 +0000 -1970-01-16 01:06:40 +0000 -1970-01-14 21:20:00 +0000 -1970-01-13 17:33:20 +0000 -1970-01-12 13:46:40 +0000 -Wed, 01 Jan 2020 10:01:00 +0000 -Mon, 12 Jan 1970 13:46:40 +0000 -Sun, 18 Jan 1970 08:40:01 +0000 -Sun, 18 Jan 1970 08:40:00 +0000 -Sat, 17 Jan 1970 04:53:20 +0000 -Fri, 16 Jan 1970 01:06:40 +0000 -Wed, 14 Jan 1970 21:20:00 +0000 -Tue, 13 Jan 1970 17:33:20 +0000 -Mon, 12 Jan 1970 13:46:40 +0000 -third -second -merge -new head -new branch -no user, no domain -no person -other 1 -line 1 -95c24699272e -29114dbae42b -c7b487c6c50e -13207e5a10d9 -32a18f097fcc -10e46f2dcbf4 -97054abb4ab8 -b608e9d1a3f0 -1e4e1b8f71e0 - - - - - - - - - -8: -7: 8:95c24699272e -6: -5: 6:c7b487c6c50e -4: 6:c7b487c6c50e -3: 4:32a18f097fcc 5:13207e5a10d9 -2: 3:10e46f2dcbf4 -1: 2:97054abb4ab8 -0: 1:b608e9d1a3f0 -# formatnode filter works -# quiet -1e4e1b8f71e0 -# normal -1e4e1b8f71e0 -# verbose -1e4e1b8f71e0 -# debug -1e4e1b8f71e05681d422154f5421e385fec3454f -# error on syntax -abort: t:3: unmatched quotes -# latesttag -adding file -adding head1 -adding head2 -created new head -# No tag set -5: null+5 -4: null+4 -3: null+3 -2: null+3 -1: null+2 -0: null+1 -# one common tag: longuest path wins -6: t1+4 -5: t1+3 -4: t1+2 -3: t1+1 -2: t1+1 -1: t1+0 -0: null+1 -# one ancestor tag: more recent wins -7: t2+3 -6: t2+2 -5: t2+1 -4: t1+2 -3: t1+1 -2: t2+0 -1: t1+0 -0: null+1 -# two branch tags: more recent wins -8: t3+5 -7: t3+4 -6: t3+3 -5: t3+2 -4: t3+1 -3: t3+0 -2: t2+0 -1: t1+0 -0: null+1 -# merged tag overrides -10: t5+5 -9: t5+4 -8: t5+3 -7: t5+2 -6: t5+1 -5: t5+0 -4: at3:t3+1 -3: at3:t3+0 -2: t2+0 -1: t1+0 -0: null+1 -# style path expansion (issue1948) -test 10:dee8f28249af -# test recursive showlist template (issue1989) -M|test -10,test -branch: test -# done diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-command-template.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-command-template.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,1327 @@ + $ hg init a + $ cd a + $ echo a > a + $ hg add a + $ echo line 1 > b + $ echo line 2 >> b + $ hg commit -l b -d '1000000 0' -u 'User Name ' + + $ hg add b + $ echo other 1 > c + $ echo other 2 >> c + $ echo >> c + $ echo other 3 >> c + $ hg commit -l c -d '1100000 0' -u 'A. N. Other ' + + $ hg add c + $ hg commit -m 'no person' -d '1200000 0' -u 'other@place' + $ echo c >> c + $ hg commit -m 'no user, no domain' -d '1300000 0' -u 'person' + + $ echo foo > .hg/branch + $ hg commit -m 'new branch' -d '1400000 0' -u 'person' + + $ hg co -q 3 + $ echo other 4 >> d + $ hg add d + $ hg commit -m 'new head' -d '1500000 0' -u 'person' + + $ hg merge -q foo + $ hg commit -m 'merge' -d '1500001 0' -u 'person' + +Second branch starting at nullrev: + + $ hg update null + 0 files updated, 0 files merged, 4 files removed, 0 files unresolved + $ echo second > second + $ hg add second + $ hg commit -m second -d '1000000 0' -u 'User Name ' + created new head + + $ echo third > third + $ hg add third + $ hg mv second fourth + $ hg commit -m third -d "2020-01-01 10:01" + +Make sure user/global hgrc does not affect tests + + $ echo '[ui]' > .hg/hgrc + $ echo 'logtemplate =' >> .hg/hgrc + $ echo 'style =' >> .hg/hgrc + +Default style is like normal output: + + $ hg log > log.out + $ hg log --style default > style.out + $ cmp log.out style.out || diff -u log.out style.out + + $ hg log -v > log.out + $ hg log -v --style default > style.out + $ cmp log.out style.out || diff -u log.out style.out + + $ hg log --debug > log.out + $ hg log --debug --style default > style.out + $ cmp log.out style.out || diff -u log.out style.out + +Revision with no copies (used to print a traceback): + + $ hg tip -v --template '\n' + + +Compact style works: + + $ hg log --style compact + 8[tip] 95c24699272e 2020-01-01 10:01 +0000 test + third + + 7:-1 29114dbae42b 1970-01-12 13:46 +0000 user + second + + 6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person + merge + + 5:3 13207e5a10d9 1970-01-18 08:40 +0000 person + new head + + 4 32a18f097fcc 1970-01-17 04:53 +0000 person + new branch + + 3 10e46f2dcbf4 1970-01-16 01:06 +0000 person + no user, no domain + + 2 97054abb4ab8 1970-01-14 21:20 +0000 other + no person + + 1 b608e9d1a3f0 1970-01-13 17:33 +0000 other + other 1 + + 0 1e4e1b8f71e0 1970-01-12 13:46 +0000 user + line 1 + + + $ hg log -v --style compact + 8[tip] 95c24699272e 2020-01-01 10:01 +0000 test + third + + 7:-1 29114dbae42b 1970-01-12 13:46 +0000 User Name + second + + 6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person + merge + + 5:3 13207e5a10d9 1970-01-18 08:40 +0000 person + new head + + 4 32a18f097fcc 1970-01-17 04:53 +0000 person + new branch + + 3 10e46f2dcbf4 1970-01-16 01:06 +0000 person + no user, no domain + + 2 97054abb4ab8 1970-01-14 21:20 +0000 other@place + no person + + 1 b608e9d1a3f0 1970-01-13 17:33 +0000 A. N. Other + other 1 + other 2 + + other 3 + + 0 1e4e1b8f71e0 1970-01-12 13:46 +0000 User Name + line 1 + line 2 + + + $ hg log --debug --style compact + 8[tip]:7,-1 95c24699272e 2020-01-01 10:01 +0000 test + third + + 7:-1,-1 29114dbae42b 1970-01-12 13:46 +0000 User Name + second + + 6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person + merge + + 5:3,-1 13207e5a10d9 1970-01-18 08:40 +0000 person + new head + + 4:3,-1 32a18f097fcc 1970-01-17 04:53 +0000 person + new branch + + 3:2,-1 10e46f2dcbf4 1970-01-16 01:06 +0000 person + no user, no domain + + 2:1,-1 97054abb4ab8 1970-01-14 21:20 +0000 other@place + no person + + 1:0,-1 b608e9d1a3f0 1970-01-13 17:33 +0000 A. N. Other + other 1 + other 2 + + other 3 + + 0:-1,-1 1e4e1b8f71e0 1970-01-12 13:46 +0000 User Name + line 1 + line 2 + + +Test xml styles: + + $ hg log --style xml + + + + tip + test + 2020-01-01T10:01:00+00:00 + third + + + + User Name + 1970-01-12T13:46:40+00:00 + second + + + + + person + 1970-01-18T08:40:01+00:00 + merge + + + + person + 1970-01-18T08:40:00+00:00 + new head + + + foo + person + 1970-01-17T04:53:20+00:00 + new branch + + + person + 1970-01-16T01:06:40+00:00 + no user, no domain + + + other + 1970-01-14T21:20:00+00:00 + no person + + + A. N. Other + 1970-01-13T17:33:20+00:00 + other 1 + other 2 + + other 3 + + + User Name + 1970-01-12T13:46:40+00:00 + line 1 + line 2 + + + + $ hg log -v --style xml + + + + tip + test + 2020-01-01T10:01:00+00:00 + third + + fourth + third + second + + + fourth + + + + + User Name + 1970-01-12T13:46:40+00:00 + second + + second + + + + + + person + 1970-01-18T08:40:01+00:00 + merge + + + + + + person + 1970-01-18T08:40:00+00:00 + new head + + d + + + + foo + person + 1970-01-17T04:53:20+00:00 + new branch + + + + + person + 1970-01-16T01:06:40+00:00 + no user, no domain + + c + + + + other + 1970-01-14T21:20:00+00:00 + no person + + c + + + + A. N. Other + 1970-01-13T17:33:20+00:00 + other 1 + other 2 + + other 3 + + b + + + + User Name + 1970-01-12T13:46:40+00:00 + line 1 + line 2 + + a + + + + + $ hg log --debug --style xml + + + + tip + + + test + 2020-01-01T10:01:00+00:00 + third + + fourth + third + second + + + fourth + + default + + + + + User Name + 1970-01-12T13:46:40+00:00 + second + + second + + default + + + + + person + 1970-01-18T08:40:01+00:00 + merge + + + default + + + + + person + 1970-01-18T08:40:00+00:00 + new head + + d + + default + + + foo + + + person + 1970-01-17T04:53:20+00:00 + new branch + + + foo + + + + + person + 1970-01-16T01:06:40+00:00 + no user, no domain + + c + + default + + + + + other + 1970-01-14T21:20:00+00:00 + no person + + c + + default + + + + + A. N. Other + 1970-01-13T17:33:20+00:00 + other 1 + other 2 + + other 3 + + b + + default + + + + + User Name + 1970-01-12T13:46:40+00:00 + line 1 + line 2 + + a + + default + + + + +Error if style not readable: + + $ touch q + $ chmod 0 q + $ hg log --style ./q + abort: Permission denied: ./q + +Error if no style: + + $ hg log --style notexist + abort: style not found: notexist + +Error if style missing key: + + $ echo 'q = q' > t + $ hg log --style ./t + abort: ./t: no key named 'changeset' + +Error if include fails: + + $ echo 'changeset = q' >> t + $ hg log --style ./t + abort: template file ./q: Permission denied + +Include works: + + $ rm q + $ echo '{rev}' > q + $ hg log --style ./t + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0 + +ui.style works: + + $ echo '[ui]' > .hg/hgrc + $ echo 'style = t' >> .hg/hgrc + $ hg log + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0 + + +Issue338: + + $ hg log --style=changelog > changelog + + $ cat changelog + 2020-01-01 test + + * fourth, second, third: + third + [95c24699272e] [tip] + + 1970-01-12 User Name + + * second: + second + [29114dbae42b] + + 1970-01-18 person + + * merge + [c7b487c6c50e] + + * d: + new head + [13207e5a10d9] + + 1970-01-17 person + + * new branch + [32a18f097fcc] + + 1970-01-16 person + + * c: + no user, no domain + [10e46f2dcbf4] + + 1970-01-14 other + + * c: + no person + [97054abb4ab8] + + 1970-01-13 A. N. Other + + * b: + other 1 other 2 + + other 3 + [b608e9d1a3f0] + + 1970-01-12 User Name + + * a: + line 1 line 2 + [1e4e1b8f71e0] + + +Issue 2130: + + $ hg heads --style changelog + 2020-01-01 test + + * fourth, second, third: + third + [95c24699272e] [tip] + + 1970-01-18 person + + * merge + [c7b487c6c50e] + + 1970-01-17 person + + * new branch + [32a18f097fcc] + + +Keys work: + + $ for key in author branches date desc file_adds file_dels file_mods \ + > file_copies file_copies_switch files \ + > manifest node parents rev tags diffstat extras; do + > for mode in '' --verbose --debug; do + > hg log $mode --template "$key$mode: {$key}\n" + > done + > done + author: test + author: User Name + author: person + author: person + author: person + author: person + author: other@place + author: A. N. Other + author: User Name + author--verbose: test + author--verbose: User Name + author--verbose: person + author--verbose: person + author--verbose: person + author--verbose: person + author--verbose: other@place + author--verbose: A. N. Other + author--verbose: User Name + author--debug: test + author--debug: User Name + author--debug: person + author--debug: person + author--debug: person + author--debug: person + author--debug: other@place + author--debug: A. N. Other + author--debug: User Name + branches: + branches: + branches: + branches: + branches: foo + branches: + branches: + branches: + branches: + branches--verbose: + branches--verbose: + branches--verbose: + branches--verbose: + branches--verbose: foo + branches--verbose: + branches--verbose: + branches--verbose: + branches--verbose: + branches--debug: + branches--debug: + branches--debug: + branches--debug: + branches--debug: foo + branches--debug: + branches--debug: + branches--debug: + branches--debug: + date: 1577872860.00 + date: 1000000.00 + date: 1500001.00 + date: 1500000.00 + date: 1400000.00 + date: 1300000.00 + date: 1200000.00 + date: 1100000.00 + date: 1000000.00 + date--verbose: 1577872860.00 + date--verbose: 1000000.00 + date--verbose: 1500001.00 + date--verbose: 1500000.00 + date--verbose: 1400000.00 + date--verbose: 1300000.00 + date--verbose: 1200000.00 + date--verbose: 1100000.00 + date--verbose: 1000000.00 + date--debug: 1577872860.00 + date--debug: 1000000.00 + date--debug: 1500001.00 + date--debug: 1500000.00 + date--debug: 1400000.00 + date--debug: 1300000.00 + date--debug: 1200000.00 + date--debug: 1100000.00 + date--debug: 1000000.00 + desc: third + desc: second + desc: merge + desc: new head + desc: new branch + desc: no user, no domain + desc: no person + desc: other 1 + other 2 + + other 3 + desc: line 1 + line 2 + desc--verbose: third + desc--verbose: second + desc--verbose: merge + desc--verbose: new head + desc--verbose: new branch + desc--verbose: no user, no domain + desc--verbose: no person + desc--verbose: other 1 + other 2 + + other 3 + desc--verbose: line 1 + line 2 + desc--debug: third + desc--debug: second + desc--debug: merge + desc--debug: new head + desc--debug: new branch + desc--debug: no user, no domain + desc--debug: no person + desc--debug: other 1 + other 2 + + other 3 + desc--debug: line 1 + line 2 + file_adds: fourth third + file_adds: second + file_adds: + file_adds: d + file_adds: + file_adds: + file_adds: c + file_adds: b + file_adds: a + file_adds--verbose: fourth third + file_adds--verbose: second + file_adds--verbose: + file_adds--verbose: d + file_adds--verbose: + file_adds--verbose: + file_adds--verbose: c + file_adds--verbose: b + file_adds--verbose: a + file_adds--debug: fourth third + file_adds--debug: second + file_adds--debug: + file_adds--debug: d + file_adds--debug: + file_adds--debug: + file_adds--debug: c + file_adds--debug: b + file_adds--debug: a + file_dels: second + file_dels: + file_dels: + file_dels: + file_dels: + file_dels: + file_dels: + file_dels: + file_dels: + file_dels--verbose: second + file_dels--verbose: + file_dels--verbose: + file_dels--verbose: + file_dels--verbose: + file_dels--verbose: + file_dels--verbose: + file_dels--verbose: + file_dels--verbose: + file_dels--debug: second + file_dels--debug: + file_dels--debug: + file_dels--debug: + file_dels--debug: + file_dels--debug: + file_dels--debug: + file_dels--debug: + file_dels--debug: + file_mods: + file_mods: + file_mods: + file_mods: + file_mods: + file_mods: c + file_mods: + file_mods: + file_mods: + file_mods--verbose: + file_mods--verbose: + file_mods--verbose: + file_mods--verbose: + file_mods--verbose: + file_mods--verbose: c + file_mods--verbose: + file_mods--verbose: + file_mods--verbose: + file_mods--debug: + file_mods--debug: + file_mods--debug: + file_mods--debug: + file_mods--debug: + file_mods--debug: c + file_mods--debug: + file_mods--debug: + file_mods--debug: + file_copies: fourth (second) + file_copies: + file_copies: + file_copies: + file_copies: + file_copies: + file_copies: + file_copies: + file_copies: + file_copies--verbose: fourth (second) + file_copies--verbose: + file_copies--verbose: + file_copies--verbose: + file_copies--verbose: + file_copies--verbose: + file_copies--verbose: + file_copies--verbose: + file_copies--verbose: + file_copies--debug: fourth (second) + file_copies--debug: + file_copies--debug: + file_copies--debug: + file_copies--debug: + file_copies--debug: + file_copies--debug: + file_copies--debug: + file_copies--debug: + file_copies_switch: + file_copies_switch: + file_copies_switch: + file_copies_switch: + file_copies_switch: + file_copies_switch: + file_copies_switch: + file_copies_switch: + file_copies_switch: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--verbose: + file_copies_switch--debug: + file_copies_switch--debug: + file_copies_switch--debug: + file_copies_switch--debug: + file_copies_switch--debug: + file_copies_switch--debug: + file_copies_switch--debug: + file_copies_switch--debug: + file_copies_switch--debug: + files: fourth second third + files: second + files: + files: d + files: + files: c + files: c + files: b + files: a + files--verbose: fourth second third + files--verbose: second + files--verbose: + files--verbose: d + files--verbose: + files--verbose: c + files--verbose: c + files--verbose: b + files--verbose: a + files--debug: fourth second third + files--debug: second + files--debug: + files--debug: d + files--debug: + files--debug: c + files--debug: c + files--debug: b + files--debug: a + manifest: 8:94961b75a2da + manifest: 7:f2dbc354b94e + manifest: 6:91015e9dbdd7 + manifest: 5:4dc3def4f9b4 + manifest: 4:90ae8dda64e1 + manifest: 3:cb5a1327723b + manifest: 2:6e0e82995c35 + manifest: 1:4e8d705b1e53 + manifest: 0:a0c8bcbbb45c + manifest--verbose: 8:94961b75a2da + manifest--verbose: 7:f2dbc354b94e + manifest--verbose: 6:91015e9dbdd7 + manifest--verbose: 5:4dc3def4f9b4 + manifest--verbose: 4:90ae8dda64e1 + manifest--verbose: 3:cb5a1327723b + manifest--verbose: 2:6e0e82995c35 + manifest--verbose: 1:4e8d705b1e53 + manifest--verbose: 0:a0c8bcbbb45c + manifest--debug: 8:94961b75a2da554b4df6fb599e5bfc7d48de0c64 + manifest--debug: 7:f2dbc354b94e5ec0b4f10680ee0cee816101d0bf + manifest--debug: 6:91015e9dbdd76a6791085d12b0a0ec7fcd22ffbf + manifest--debug: 5:4dc3def4f9b4c6e8de820f6ee74737f91e96a216 + manifest--debug: 4:90ae8dda64e1a876c792bccb9af66284f6018363 + manifest--debug: 3:cb5a1327723bada42f117e4c55a303246eaf9ccc + manifest--debug: 2:6e0e82995c35d0d57a52aca8da4e56139e06b4b1 + manifest--debug: 1:4e8d705b1e53e3f9375e0e60dc7b525d8211fe55 + manifest--debug: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 + node: 95c24699272ef57d062b8bccc32c878bf841784a + node: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 + node: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f + node: 13207e5a10d9fd28ec424934298e176197f2c67f + node: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 + node: 10e46f2dcbf4823578cf180f33ecf0b957964c47 + node: 97054abb4ab824450e9164180baf491ae0078465 + node: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 + node: 1e4e1b8f71e05681d422154f5421e385fec3454f + node--verbose: 95c24699272ef57d062b8bccc32c878bf841784a + node--verbose: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 + node--verbose: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f + node--verbose: 13207e5a10d9fd28ec424934298e176197f2c67f + node--verbose: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 + node--verbose: 10e46f2dcbf4823578cf180f33ecf0b957964c47 + node--verbose: 97054abb4ab824450e9164180baf491ae0078465 + node--verbose: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 + node--verbose: 1e4e1b8f71e05681d422154f5421e385fec3454f + node--debug: 95c24699272ef57d062b8bccc32c878bf841784a + node--debug: 29114dbae42b9f078cf2714dbe3a86bba8ec7453 + node--debug: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f + node--debug: 13207e5a10d9fd28ec424934298e176197f2c67f + node--debug: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4 + node--debug: 10e46f2dcbf4823578cf180f33ecf0b957964c47 + node--debug: 97054abb4ab824450e9164180baf491ae0078465 + node--debug: b608e9d1a3f0273ccf70fb85fd6866b3482bf965 + node--debug: 1e4e1b8f71e05681d422154f5421e385fec3454f + parents: + parents: -1:000000000000 + parents: 5:13207e5a10d9 4:32a18f097fcc + parents: 3:10e46f2dcbf4 + parents: + parents: + parents: + parents: + parents: + parents--verbose: + parents--verbose: -1:000000000000 + parents--verbose: 5:13207e5a10d9 4:32a18f097fcc + parents--verbose: 3:10e46f2dcbf4 + parents--verbose: + parents--verbose: + parents--verbose: + parents--verbose: + parents--verbose: + parents--debug: 7:29114dbae42b9f078cf2714dbe3a86bba8ec7453 -1:0000000000000000000000000000000000000000 + parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000 + parents--debug: 5:13207e5a10d9fd28ec424934298e176197f2c67f 4:32a18f097fcccf76ef282f62f8a85b3adf8d13c4 + parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000 + parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000 + parents--debug: 2:97054abb4ab824450e9164180baf491ae0078465 -1:0000000000000000000000000000000000000000 + parents--debug: 1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965 -1:0000000000000000000000000000000000000000 + parents--debug: 0:1e4e1b8f71e05681d422154f5421e385fec3454f -1:0000000000000000000000000000000000000000 + parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000 + rev: 8 + rev: 7 + rev: 6 + rev: 5 + rev: 4 + rev: 3 + rev: 2 + rev: 1 + rev: 0 + rev--verbose: 8 + rev--verbose: 7 + rev--verbose: 6 + rev--verbose: 5 + rev--verbose: 4 + rev--verbose: 3 + rev--verbose: 2 + rev--verbose: 1 + rev--verbose: 0 + rev--debug: 8 + rev--debug: 7 + rev--debug: 6 + rev--debug: 5 + rev--debug: 4 + rev--debug: 3 + rev--debug: 2 + rev--debug: 1 + rev--debug: 0 + tags: tip + tags: + tags: + tags: + tags: + tags: + tags: + tags: + tags: + tags--verbose: tip + tags--verbose: + tags--verbose: + tags--verbose: + tags--verbose: + tags--verbose: + tags--verbose: + tags--verbose: + tags--verbose: + tags--debug: tip + tags--debug: + tags--debug: + tags--debug: + tags--debug: + tags--debug: + tags--debug: + tags--debug: + tags--debug: + diffstat: 3: +2/-1 + diffstat: 1: +1/-0 + diffstat: 0: +0/-0 + diffstat: 1: +1/-0 + diffstat: 0: +0/-0 + diffstat: 1: +1/-0 + diffstat: 1: +4/-0 + diffstat: 1: +2/-0 + diffstat: 1: +1/-0 + diffstat--verbose: 3: +2/-1 + diffstat--verbose: 1: +1/-0 + diffstat--verbose: 0: +0/-0 + diffstat--verbose: 1: +1/-0 + diffstat--verbose: 0: +0/-0 + diffstat--verbose: 1: +1/-0 + diffstat--verbose: 1: +4/-0 + diffstat--verbose: 1: +2/-0 + diffstat--verbose: 1: +1/-0 + diffstat--debug: 3: +2/-1 + diffstat--debug: 1: +1/-0 + diffstat--debug: 0: +0/-0 + diffstat--debug: 1: +1/-0 + diffstat--debug: 0: +0/-0 + diffstat--debug: 1: +1/-0 + diffstat--debug: 1: +4/-0 + diffstat--debug: 1: +2/-0 + diffstat--debug: 1: +1/-0 + extras: branch=default + extras: branch=default + extras: branch=default + extras: branch=default + extras: branch=foo + extras: branch=default + extras: branch=default + extras: branch=default + extras: branch=default + extras--verbose: branch=default + extras--verbose: branch=default + extras--verbose: branch=default + extras--verbose: branch=default + extras--verbose: branch=foo + extras--verbose: branch=default + extras--verbose: branch=default + extras--verbose: branch=default + extras--verbose: branch=default + extras--debug: branch=default + extras--debug: branch=default + extras--debug: branch=default + extras--debug: branch=default + extras--debug: branch=foo + extras--debug: branch=default + extras--debug: branch=default + extras--debug: branch=default + extras--debug: branch=default + + +Filters work: + + $ hg log --template '{author|domain}\n' + + hostname + + + + + place + place + hostname + + $ hg log --template '{author|person}\n' + test + User Name + person + person + person + person + other + A. N. Other + User Name + + $ hg log --template '{author|user}\n' + test + user + person + person + person + person + other + other + user + + $ hg log --template '{date|age}\n' > /dev/null || exit 1 + + $ hg log -l1 --template '{date|age}\n' + in the future + $ hg log --template '{date|date}\n' + Wed Jan 01 10:01:00 2020 +0000 + Mon Jan 12 13:46:40 1970 +0000 + Sun Jan 18 08:40:01 1970 +0000 + Sun Jan 18 08:40:00 1970 +0000 + Sat Jan 17 04:53:20 1970 +0000 + Fri Jan 16 01:06:40 1970 +0000 + Wed Jan 14 21:20:00 1970 +0000 + Tue Jan 13 17:33:20 1970 +0000 + Mon Jan 12 13:46:40 1970 +0000 + + $ hg log --template '{date|isodate}\n' + 2020-01-01 10:01 +0000 + 1970-01-12 13:46 +0000 + 1970-01-18 08:40 +0000 + 1970-01-18 08:40 +0000 + 1970-01-17 04:53 +0000 + 1970-01-16 01:06 +0000 + 1970-01-14 21:20 +0000 + 1970-01-13 17:33 +0000 + 1970-01-12 13:46 +0000 + + $ hg log --template '{date|isodatesec}\n' + 2020-01-01 10:01:00 +0000 + 1970-01-12 13:46:40 +0000 + 1970-01-18 08:40:01 +0000 + 1970-01-18 08:40:00 +0000 + 1970-01-17 04:53:20 +0000 + 1970-01-16 01:06:40 +0000 + 1970-01-14 21:20:00 +0000 + 1970-01-13 17:33:20 +0000 + 1970-01-12 13:46:40 +0000 + + $ hg log --template '{date|rfc822date}\n' + Wed, 01 Jan 2020 10:01:00 +0000 + Mon, 12 Jan 1970 13:46:40 +0000 + Sun, 18 Jan 1970 08:40:01 +0000 + Sun, 18 Jan 1970 08:40:00 +0000 + Sat, 17 Jan 1970 04:53:20 +0000 + Fri, 16 Jan 1970 01:06:40 +0000 + Wed, 14 Jan 1970 21:20:00 +0000 + Tue, 13 Jan 1970 17:33:20 +0000 + Mon, 12 Jan 1970 13:46:40 +0000 + + $ hg log --template '{desc|firstline}\n' + third + second + merge + new head + new branch + no user, no domain + no person + other 1 + line 1 + + $ hg log --template '{node|short}\n' + 95c24699272e + 29114dbae42b + c7b487c6c50e + 13207e5a10d9 + 32a18f097fcc + 10e46f2dcbf4 + 97054abb4ab8 + b608e9d1a3f0 + 1e4e1b8f71e0 + + $ hg log --template '\n' + + + + + + + + + + + $ hg log --template '{rev}: {children}\n' + 8: + 7: 8:95c24699272e + 6: + 5: 6:c7b487c6c50e + 4: 6:c7b487c6c50e + 3: 4:32a18f097fcc 5:13207e5a10d9 + 2: 3:10e46f2dcbf4 + 1: 2:97054abb4ab8 + 0: 1:b608e9d1a3f0 + +Formatnode filter works: + + $ hg -q log -r 0 --template '{node|formatnode}\n' + 1e4e1b8f71e0 + + $ hg log -r 0 --template '{node|formatnode}\n' + 1e4e1b8f71e0 + + $ hg -v log -r 0 --template '{node|formatnode}\n' + 1e4e1b8f71e0 + + $ hg --debug log -r 0 --template '{node|formatnode}\n' + 1e4e1b8f71e05681d422154f5421e385fec3454f + +Error on syntax: + + $ echo 'x = "f' >> t + $ hg log + abort: t:3: unmatched quotes + + $ cd .. + + +latesttag: + + $ hg init latesttag + $ cd latesttag + + $ echo a > file + $ hg ci -Am a -d '0 0' + adding file + + $ echo b >> file + $ hg ci -m b -d '1 0' + + $ echo c >> head1 + $ hg ci -Am h1c -d '2 0' + adding head1 + + $ hg update -q 1 + $ echo d >> head2 + $ hg ci -Am h2d -d '3 0' + adding head2 + created new head + + $ echo e >> head2 + $ hg ci -m h2e -d '4 0' + + $ hg merge -q + $ hg ci -m merge -d '5 0' + +No tag set: + + $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' + 5: null+5 + 4: null+4 + 3: null+3 + 2: null+3 + 1: null+2 + 0: null+1 + +One common tag: longuest path wins: + + $ hg tag -r 1 -m t1 -d '6 0' t1 + $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' + 6: t1+4 + 5: t1+3 + 4: t1+2 + 3: t1+1 + 2: t1+1 + 1: t1+0 + 0: null+1 + +One ancestor tag: more recent wins: + + $ hg tag -r 2 -m t2 -d '7 0' t2 + $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' + 7: t2+3 + 6: t2+2 + 5: t2+1 + 4: t1+2 + 3: t1+1 + 2: t2+0 + 1: t1+0 + 0: null+1 + +Two branch tags: more recent wins: + + $ hg tag -r 3 -m t3 -d '8 0' t3 + $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' + 8: t3+5 + 7: t3+4 + 6: t3+3 + 5: t3+2 + 4: t3+1 + 3: t3+0 + 2: t2+0 + 1: t1+0 + 0: null+1 + +Merged tag overrides: + + $ hg tag -r 5 -m t5 -d '9 0' t5 + $ hg tag -r 3 -m at3 -d '10 0' at3 + $ hg log --template '{rev}: {latesttag}+{latesttagdistance}\n' + 10: t5+5 + 9: t5+4 + 8: t5+3 + 7: t5+2 + 6: t5+1 + 5: t5+0 + 4: at3:t3+1 + 3: at3:t3+0 + 2: t2+0 + 1: t1+0 + 0: null+1 + + $ cd .. + + +Style path expansion (issue1948): + + $ mkdir -p home/styles + + $ cat > home/styles/teststyle < changeset = 'test {rev}:{node|short}\n' + > EOF + + $ HOME=`pwd`/home; export HOME + + $ cat > latesttag/.hg/hgrc < [ui] + > style = ~/styles/teststyle + > EOF + + $ hg -R latesttag tip + test 10:dee8f28249af + +Test recursive showlist template (issue1989): + + $ cat > style1989 < changeset = '{file_mods}{manifest}{extras}' + > file_mod = 'M|{author|person}\n' + > manifest = '{rev},{author}\n' + > extra = '{key}: {author}\n' + > EOF + + $ hg -R latesttag log -r tip --style=style1989 + M|test + 10,test + branch: test + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-confused-revert --- a/tests/test-confused-revert Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -#!/bin/sh - -hg init -echo foo > a -hg add a -hg commit -m "1" - -echo bar > b -hg add b -hg remove a - -echo "%%% should show a removed and b added" -hg status - -echo "reverting..." -hg revert --all - -echo "%%% should show b unknown and a back to normal" -hg status - -rm b - -hg co -C 0 -echo foo-a > a -hg commit -m "2a" - -hg co -C 0 -echo foo-b > a -hg commit -m "2b" - -HGMERGE=true hg merge 1 - -echo "%%% should show foo-b" -cat a - -echo bar > b -hg add b -rm a -hg remove a - -echo "%%% should show a removed and b added" -hg status - -echo "%%% revert should fail" -hg revert --all - -echo "%%% revert should be ok now" -hg revert -r2 --all - -echo "%%% should show b unknown and a marked modified (merged)" -hg status - -echo "%%% should show foo-b" -cat a - diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-confused-revert.out --- a/tests/test-confused-revert.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -%%% should show a removed and b added -A b -R a -reverting... -undeleting a -forgetting b -%%% should show b unknown and a back to normal -? b -0 files updated, 0 files merged, 0 files removed, 0 files unresolved -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -created new head -merging a -0 files updated, 1 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -%%% should show foo-b -foo-b -%%% should show a removed and b added -A b -R a -%%% revert should fail -abort: uncommitted merge - please provide a specific revision -%%% revert should be ok now -undeleting a -forgetting b -%%% should show b unknown and a marked modified (merged) -M a -? b -%%% should show foo-b -foo-b diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-confused-revert.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-confused-revert.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,80 @@ + $ hg init + $ echo foo > a + $ hg add a + $ hg commit -m "1" + + $ echo bar > b + $ hg add b + $ hg remove a + +Should show a removed and b added: + + $ hg status + A b + R a + + $ hg revert --all + undeleting a + forgetting b + +Should show b unknown and a back to normal: + + $ hg status + ? b + + $ rm b + + $ hg co -C 0 + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo foo-a > a + $ hg commit -m "2a" + + $ hg co -C 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo foo-b > a + $ hg commit -m "2b" + created new head + + $ HGMERGE=true hg merge 1 + merging a + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + +Should show foo-b: + + $ cat a + foo-b + + $ echo bar > b + $ hg add b + $ rm a + $ hg remove a + +Should show a removed and b added: + + $ hg status + A b + R a + +Revert should fail: + + $ hg revert --all + abort: uncommitted merge - please provide a specific revision + +Revert should be ok now: + + $ hg revert -r2 --all + undeleting a + forgetting b + +Should show b unknown and a marked modified (merged): + + $ hg status + M a + ? b + +Should show foo-b: + + $ cat a + foo-b + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-debugrename --- a/tests/test-debugrename Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh - -hg init -echo a > a -hg ci -Am t - -hg mv a b -hg ci -Am t1 -hg debugrename b - -hg mv b a -hg ci -Am t2 -hg debugrename a - -echo % test with --rev -hg debugrename --rev 1 b - diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-debugrename.out --- a/tests/test-debugrename.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -adding a -b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 -a renamed from b:37d9b5d994eab34eda9c16b195ace52c7b129980 -% test with --rev -b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-debugrename.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-debugrename.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,18 @@ + $ hg init + $ echo a > a + $ hg ci -Am t + adding a + + $ hg mv a b + $ hg ci -Am t1 + $ hg debugrename b + b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 + + $ hg mv b a + $ hg ci -Am t2 + $ hg debugrename a + a renamed from b:37d9b5d994eab34eda9c16b195ace52c7b129980 + + $ hg debugrename --rev 1 b + b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-default-push --- a/tests/test-default-push Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -#!/bin/sh - -hg init a -echo a > a/a -hg --cwd a ci -Ama - -hg clone a c - -hg clone a b -echo b >> b/a -hg --cwd b ci -mb - -echo % push should push to default when default-push not set -hg --cwd b push | sed 's/pushing to.*/pushing/' - -echo % push should push to default-push when set -echo 'default-push = ../c' >> b/.hg/hgrc -hg --cwd b push | sed 's/pushing to.*/pushing/' diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-default-push.out --- a/tests/test-default-push.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -adding a -updating to branch default -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -updating to branch default -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% push should push to default when default-push not set -pushing -searching for changes -adding changesets -adding manifests -adding file changes -added 1 changesets with 1 changes to 1 files -% push should push to default-push when set -pushing -searching for changes -adding changesets -adding manifests -adding file changes -added 1 changesets with 1 changes to 1 files diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-default-push.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-default-push.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,38 @@ + $ hg init a + + $ echo a > a/a + $ hg --cwd a ci -Ama + adding a + + $ hg clone a c + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ hg clone a b + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ echo b >> b/a + $ hg --cwd b ci -mb + +Push should push to 'default' when 'default-push' not set: + + $ hg --cwd b push + pushing to .*/a + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + +Push should push to 'default-push' when set: + + $ echo 'default-push = ../c' >> b/.hg/hgrc + $ hg --cwd b push + pushing to .*/c + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-extdiff --- a/tests/test-extdiff Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -#!/bin/sh - -echo "[extensions]" >> $HGRCPATH -echo "extdiff=" >> $HGRCPATH - -hg init a -cd a -echo a > a -echo b > b -hg add -# should diff cloned directories -hg extdiff -o -r $opt - -echo "[extdiff]" >> $HGRCPATH -echo "cmd.falabala=echo" >> $HGRCPATH -echo "opts.falabala=diffing" >> $HGRCPATH - -hg falabala - -hg help falabala - -hg ci -d '0 0' -mtest1 - -echo b >> a -hg ci -d '1 0' -mtest2 - -# should diff cloned files directly -hg falabala -r 0:1 - -# test diff during merge -hg update -C 0 -echo c >> c -hg add c -hg ci -m "new branch" -d '1 0' -hg merge 1 -# should diff cloned file against wc file -hg falabala > out -# cleanup the output since the wc is a tmp directory -sed 's:\(diffing [^ ]* \).*\(\/test-extdiff\):\1[tmp]\2:' out -# test --change option -hg ci -d '2 0' -mtest3 -hg falabala -c 1 -# check diff are made from the first parent -hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code" -#hg log - -echo -echo '% test extdiff of multiple files in tmp dir:' -hg update -C 0 > /dev/null -echo changed > a -echo changed > b -chmod +x b -echo '% diff in working directory, before' -hg diff --git -echo '% edit with extdiff -p' -# prepare custom diff/edit tool -cat > 'diff tool.py' << EOT -#!/usr/bin/env python -import time -time.sleep(1) # avoid unchanged-timestamp problems -file('a/a', 'ab').write('edited\n') -file('a/b', 'ab').write('edited\n') -EOT -chmod +x 'diff tool.py' -hg extdiff -p "`pwd`/diff tool.py" # will change to /tmp/extdiff.TMP and populate directories a.TMP and a and start tool -echo '% diff in working directory, after' -hg diff --git - -echo -echo % test extdiff with --option -hg extdiff -p echo -o this -c 1 -hg falabala -o this -c 1 -echo diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-extdiff.out --- a/tests/test-extdiff.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -adding a -adding b -Only in a: a -Only in a: b -diffing a.000000000000 a -hg falabala [OPTION]... [FILE]... - -use 'echo' to diff repository (or selected files) - - Show differences between revisions for the specified files, using the - 'echo' program. - - When two revision arguments are given, then changes are shown between - those revisions. If only one revision is specified then that revision is - compared to the working directory, and, when no revisions are specified, - the working directory files are compared to its parent. - -options: - - -o --option OPT [+] pass option to comparison program - -r --rev REV [+] revision - -c --change REV change made by revision - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -[+] marked option can be specified multiple times - -use "hg -v help falabala" to show global options -diffing a.8a5febb7f867/a a.34eed99112ab/a -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -created new head -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -diffing a.2a13a4d2da36/a [tmp]/test-extdiff/a/a -diffing a.8a5febb7f867/a a.34eed99112ab/a -diffing a.2a13a4d2da36/a a.46c0e4daeb72/a -diff-like tools yield a non-zero exit code - -% test extdiff of multiple files in tmp dir: -% diff in working directory, before -diff --git a/a b/a ---- a/a -+++ b/a -@@ -1,1 +1,1 @@ --a -+changed -diff --git a/b b/b -old mode 100644 -new mode 100755 ---- a/b -+++ b/b -@@ -1,1 +1,1 @@ --b -+changed -% edit with extdiff -p -% diff in working directory, after -diff --git a/a b/a ---- a/a -+++ b/a -@@ -1,1 +1,2 @@ --a -+changed -+edited -diff --git a/b b/b -old mode 100644 -new mode 100755 ---- a/b -+++ b/b -@@ -1,1 +1,2 @@ --b -+changed -+edited - -% test extdiff with --option -this a.8a5febb7f867/a a.34eed99112ab/a -diffing this a.8a5febb7f867/a a.34eed99112ab/a - diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-extdiff.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-extdiff.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,166 @@ + $ echo "[extensions]" >> $HGRCPATH + $ echo "extdiff=" >> $HGRCPATH + + $ hg init a + $ cd a + $ echo a > a + $ echo b > b + $ hg add + adding a + adding b + +Should diff cloned directories: + + $ hg extdiff -o -r $opt + Only in a: a + Only in a: b + + $ echo "[extdiff]" >> $HGRCPATH + $ echo "cmd.falabala=echo" >> $HGRCPATH + $ echo "opts.falabala=diffing" >> $HGRCPATH + + $ hg falabala + diffing a.000000000000 a + + $ hg help falabala + hg falabala [OPTION]... [FILE]... + + use 'echo' to diff repository (or selected files) + + Show differences between revisions for the specified files, using the + 'echo' program. + + When two revision arguments are given, then changes are shown between + those revisions. If only one revision is specified then that revision is + compared to the working directory, and, when no revisions are specified, + the working directory files are compared to its parent. + + options: + + -o --option OPT [+] pass option to comparison program + -r --rev REV [+] revision + -c --change REV change made by revision + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + + [+] marked option can be specified multiple times + + use "hg -v help falabala" to show global options + + $ hg ci -d '0 0' -mtest1 + + $ echo b >> a + $ hg ci -d '1 0' -mtest2 + +Should diff cloned files directly: + + $ hg falabala -r 0:1 + diffing a.8a5febb7f867/a a.34eed99112ab/a + +Test diff during merge: + + $ hg update -C 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo c >> c + $ hg add c + $ hg ci -m "new branch" -d '1 0' + created new head + $ hg merge 1 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + +Should diff cloned file against wc file: + + $ hg falabala > out + +Cleanup the output since the wc is a tmp directory: + + $ sed 's:\(diffing [^ ]* \).*\(\/test-extdiff\):\1[tmp]\2:' out + diffing a.2a13a4d2da36/a [tmp]/test-extdiff.t/a/a + +Test --change option: + + $ hg ci -d '2 0' -mtest3 + $ hg falabala -c 1 + diffing a.8a5febb7f867/a a.34eed99112ab/a + +Check diff are made from the first parent: + + $ hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code" + diffing a.2a13a4d2da36/a a.46c0e4daeb72/a + diff-like tools yield a non-zero exit code + +Test extdiff of multiple files in tmp dir: + + $ hg update -C 0 > /dev/null + $ echo changed > a + $ echo changed > b + $ chmod +x b + +Diff in working directory, before: + + $ hg diff --git + diff --git a/a b/a + --- a/a + +++ b/a + @@ -1,1 +1,1 @@ + -a + +changed + diff --git a/b b/b + old mode 100644 + new mode 100755 + --- a/b + +++ b/b + @@ -1,1 +1,1 @@ + -b + +changed + + +Edit with extdiff -p: + +Prepare custom diff/edit tool: + + $ cat > 'diff tool.py' << EOT + > #!/usr/bin/env python + > import time + > time.sleep(1) # avoid unchanged-timestamp problems + > file('a/a', 'ab').write('edited\n') + > file('a/b', 'ab').write('edited\n') + > EOT + + $ chmod +x 'diff tool.py' + +# will change to /tmp/extdiff.TMP and populate directories a.TMP and a +# and start tool + $ hg extdiff -p "`pwd`/diff tool.py" + +Diff in working directory, after: + + $ hg diff --git + diff --git a/a b/a + --- a/a + +++ b/a + @@ -1,1 +1,2 @@ + -a + +changed + +edited + diff --git a/b b/b + old mode 100644 + new mode 100755 + --- a/b + +++ b/b + @@ -1,1 +1,2 @@ + -b + +changed + +edited + +Test extdiff with --option: + + $ hg extdiff -p echo -o this -c 1 + this a.8a5febb7f867/a a.34eed99112ab/a + + $ hg falabala -o this -c 1 + diffing this a.8a5febb7f867/a a.34eed99112ab/a + + $ true + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-extra-filelog-entry --- a/tests/test-extra-filelog-entry Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -#!/bin/sh -# -# test for issue351 - -# Environement setup for MQ -echo "[extensions]" >> $HGRCPATH -echo "mq=" >> $HGRCPATH - -#Repo init -hg init -hg qinit - -echo b > b -hg ci -A -m foo -echo cc > b -hg qnew -f foo.diff -echo b > b -hg qrefresh -hg debugindex .hg/store/data/b.i diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-extra-filelog-entry.out --- a/tests/test-extra-filelog-entry.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -adding b - rev offset length base linkrev nodeid p1 p2 - 0 0 3 0 0 1e88685f5dde 000000000000 000000000000 diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-extra-filelog-entry.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-extra-filelog-entry.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,21 @@ +# test for issue351 + + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + + $ hg init + $ hg qinit + + $ echo b > b + $ hg ci -A -m foo + adding b + + $ echo cc > b + $ hg qnew -f foo.diff + $ echo b > b + $ hg qrefresh + + $ hg debugindex .hg/store/data/b.i + rev offset length base linkrev nodeid p1 p2 + 0 0 3 0 0 1e88685f5dde 000000000000 000000000000 + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-hardlinks-safety --- a/tests/test-hardlinks-safety Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -#!/bin/sh - -# some implementations of cp can't create hardlinks -cat > cp.py < x/a - -python cp.py x y -echo bar >> y/a -echo % no diff if hardlink -diff x/a y/a - -# test mq hardlinking -echo "[extensions]" >> $HGRCPATH -echo "mq=" >> $HGRCPATH - -echo % init -hg init a -cd a - -hg qimport -n foo - << EOF -# HG changeset patch -# Date 1 0 -diff -r 2588a8b53d66 a ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/a Wed Jul 23 15:54:29 2008 +0200 -@@ -0,0 +1,1 @@ -+a -EOF - -hg qpush - -cd .. -python cp.py a b -cd b - -hg qimport -n bar - << EOF -# HG changeset patch -# Date 2 0 -diff -r 2588a8b53d66 a ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/b Wed Jul 23 15:54:29 2008 +0200 -@@ -0,0 +1,1 @@ -+b -EOF - -hg qpush - -cat .hg/patches/status -echo % -cat .hg/patches/series -echo %%% -cat ../a/.hg/patches/status -echo % -cat ../a/.hg/patches/series - -# test tags hardlinking -hg qdel -r qbase:qtip - -hg tag -l lfoo -hg tag foo - -cd .. -python cp.py b c -cd c - -hg tag -l -r 0 lbar -hg tag -r 0 bar -echo %%% -cat .hgtags -echo % -cat .hg/localtags -echo %%% -cat ../b/.hgtags -echo % -cat ../b/.hg/localtags diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-hardlinks-safety.out --- a/tests/test-hardlinks-safety.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -% no diff if hardlink -% init -adding foo to series file -applying foo -now at: foo -adding bar to series file -applying bar -now at: bar -430ed4828a74fa4047bc816a25500f7472ab4bfe:foo -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar -% -foo -bar -%%% -430ed4828a74fa4047bc816a25500f7472ab4bfe:foo -% -foo -patch foo finalized without changeset message -patch bar finalized without changeset message -%%% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo -430ed4828a74fa4047bc816a25500f7472ab4bfe bar -% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo -430ed4828a74fa4047bc816a25500f7472ab4bfe lbar -%%% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo -% -4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-hardlinks-safety.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-hardlinks-safety.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,106 @@ + +# some implementations of cp can't create hardlinks + $ cat > cp.py < from mercurial import util + > import sys + > util.copyfiles(sys.argv[1], sys.argv[2], hardlink=True) + > EOF + +Test hardlinking outside hg: + + $ mkdir x + $ echo foo > x/a + + $ python cp.py x y + $ echo bar >> y/a + +No diff if hardlink: + + $ diff x/a y/a + +Test mq hardlinking: + + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + + $ hg init a + $ cd a + + $ hg qimport -n foo - << EOF + > # HG changeset patch + > # Date 1 0 + > diff -r 2588a8b53d66 a + > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + > +++ b/a Wed Jul 23 15:54:29 2008 +0200 + > @@ -0,0 +1,1 @@ + > +a + > EOF + adding foo to series file + + $ hg qpush + applying foo + now at: foo + + $ cd .. + $ python cp.py a b + $ cd b + + $ hg qimport -n bar - << EOF + > # HG changeset patch + > # Date 2 0 + > diff -r 2588a8b53d66 a + > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + > +++ b/b Wed Jul 23 15:54:29 2008 +0200 + > @@ -0,0 +1,1 @@ + > +b + > EOF + adding bar to series file + + $ hg qpush + applying bar + now at: bar + + $ cat .hg/patches/status + 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar + + $ cat .hg/patches/series + foo + bar + + $ cat ../a/.hg/patches/status + 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo + + $ cat ../a/.hg/patches/series + foo + +Test tags hardlinking: + + $ hg qdel -r qbase:qtip + patch foo finalized without changeset message + patch bar finalized without changeset message + + $ hg tag -l lfoo + $ hg tag foo + + $ cd .. + $ python cp.py b c + $ cd c + + $ hg tag -l -r 0 lbar + $ hg tag -r 0 bar + + $ cat .hgtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo + 430ed4828a74fa4047bc816a25500f7472ab4bfe bar + + $ cat .hg/localtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo + 430ed4828a74fa4047bc816a25500f7472ab4bfe lbar + + $ cat ../b/.hgtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo + + $ cat ../b/.hg/localtags + 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-rename-merge1 --- a/tests/test-rename-merge1 Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -#!/bin/sh - -mkdir t -cd t -hg init -echo "[merge]" >> .hg/hgrc -echo "followcopies = 1" >> .hg/hgrc -echo foo > a -echo foo > a2 -hg add a a2 -hg ci -m "start" -hg mv a b -hg mv a2 b2 -hg ci -m "rename" -echo "checkout" -hg co 0 -echo blahblah > a -echo blahblah > a2 -hg mv a2 c2 -hg ci -m "modify" -echo "merge" -hg merge -y --debug -hg status -AC -cat b -hg ci -m "merge" -hg debugindex .hg/store/data/b.i -hg debugrename b diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-rename-merge1.out --- a/tests/test-rename-merge1.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -checkout -2 files updated, 0 files merged, 2 files removed, 0 files unresolved -created new head -merge - searching for copies back to rev 1 - unmatched files in local: - c2 - unmatched files in other: - b - b2 - all copies found (* = to merge, ! = divergent): - c2 -> a2 ! - b -> a * - b2 -> a2 ! - checking for directory renames - a2: divergent renames -> dr -resolving manifests - overwrite None partial False - ancestor af1939970a1c local 044f8520aeeb+ remote 85c198ef2f6c - a: remote moved to b -> m - b2: remote created -> g -preserving a for resolve of b -removing a -updating: a 1/3 files (33.33%) -picked tool 'internal:merge' for b (binary False symlink False) -merging a and b to b -my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c - premerge successful -updating: a2 2/3 files (66.67%) -warning: detected divergent renames of a2 to: - c2 - b2 -updating: b2 3/3 files (100.00%) -getting b2 -1 files updated, 1 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -M b - a -M b2 -R a -C c2 -blahblah - rev offset length base linkrev nodeid p1 p2 - 0 0 67 0 1 57eacc201a7f 000000000000 000000000000 - 1 67 72 1 3 4727ba907962 000000000000 57eacc201a7f -b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66 diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-rename-merge1.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-rename-merge1.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,77 @@ + $ hg init + + $ echo "[merge]" >> .hg/hgrc + $ echo "followcopies = 1" >> .hg/hgrc + + $ echo foo > a + $ echo foo > a2 + $ hg add a a2 + $ hg ci -m "start" + + $ hg mv a b + $ hg mv a2 b2 + $ hg ci -m "rename" + + $ hg co 0 + 2 files updated, 0 files merged, 2 files removed, 0 files unresolved + + $ echo blahblah > a + $ echo blahblah > a2 + $ hg mv a2 c2 + $ hg ci -m "modify" + created new head + + $ hg merge -y --debug + searching for copies back to rev 1 + unmatched files in local: + c2 + unmatched files in other: + b + b2 + all copies found (* = to merge, ! = divergent): + c2 -> a2 ! + b -> a * + b2 -> a2 ! + checking for directory renames + a2: divergent renames -> dr + resolving manifests + overwrite None partial False + ancestor af1939970a1c local 044f8520aeeb+ remote 85c198ef2f6c + a: remote moved to b -> m + b2: remote created -> g + preserving a for resolve of b + removing a + updating: a 1/3 files (33.33%) + picked tool 'internal:merge' for b (binary False symlink False) + merging a and b to b + my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c + premerge successful + updating: a2 2/3 files (66.67%) + warning: detected divergent renames of a2 to: + c2 + b2 + updating: b2 3/3 files (100.00%) + getting b2 + 1 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ hg status -AC + M b + a + M b2 + R a + C c2 + + $ cat b + blahblah + + $ hg ci -m "merge" + + $ hg debugindex .hg/store/data/b.i + rev offset length base linkrev nodeid p1 p2 + 0 0 67 0 1 57eacc201a7f 000000000000 000000000000 + 1 67 72 1 3 4727ba907962 000000000000 57eacc201a7f + + $ hg debugrename b + b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66 + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-update-renames --- a/tests/test-update-renames Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -#!/bin/sh - -# test update logic when there are renames - - -# update with local changes across a file rename -hg init a -cd a -echo a > a -hg add a -hg ci -m a -hg mv a b -hg ci -m rename -echo b > b -hg ci -m change -hg up -q 0 -echo c > a -hg up -cd .. diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-update-renames.out --- a/tests/test-update-renames.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -merging a and b to b -warning: conflicts during merge. -merging b failed! -0 files updated, 0 files merged, 0 files removed, 1 files unresolved -use 'hg resolve' to retry unresolved file merges diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-update-renames.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-update-renames.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,29 @@ +# test update logic when there are renames + +# update with local changes across a file rename + + $ hg init + + $ echo a > a + $ hg add a + $ hg ci -m a + + $ hg mv a b + $ hg ci -m rename + + $ echo b > b + $ hg ci -m change + + $ hg up -q 0 + + $ echo c > a + + $ hg up + merging a and b to b + warning: conflicts during merge. + merging b failed! + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges + + $ cd .. + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-url-rev --- a/tests/test-url-rev Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -#!/bin/sh -# test basic functionality of url#rev syntax - -hg init repo -cd repo -echo a > a -hg ci -qAm 'add a' -hg branch foo -echo >> a -hg ci -m 'change a' -cd .. - -echo '% clone repo#foo' -hg clone 'repo#foo' clone -echo '% heads' -hg --cwd clone heads -echo '% parents' -hg --cwd clone parents -sed -e 's/default.*#/default = #/' clone/.hg/hgrc -echo - -echo '% changing original repo' -cd repo -echo >> a -hg ci -m 'new head of branch foo' -hg up -qC default -echo bar > bar -hg ci -qAm 'add bar' -hg log -echo - -echo '% outgoing' -hg -q outgoing '../clone#foo' -echo - -echo '% push' -hg -q push '../clone#foo' -hg --cwd ../clone heads -cd .. -echo - -echo '% rolling back' -cd clone -hg rollback - -echo '% incoming' -hg -q incoming - -echo '% pull' -hg -q pull -hg heads -echo - -echo '% pull should not have updated' -hg parents -q -echo '% going back to the default branch' -hg up -C 0 -hg parents -echo '% no new revs, no update' -hg pull -qu -hg parents -q -echo '% rollback' -hg rollback -hg up -C 0 -hg parents -q -echo '% pull -u takes us back to branch foo' -hg pull -qu -hg parents - -echo '% rollback' -hg rollback -hg up -C 0 -echo '% parents' -hg parents -q -echo '% heads' -hg heads -q -echo '% pull -u -r otherrev url#rev updates to rev' -hg pull -qur default default -echo '% parents' -hg parents -echo '% heads' -hg heads - diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-url-rev.out --- a/tests/test-url-rev.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ -marked working directory as branch foo -% clone repo#foo -requesting all changes -adding changesets -adding manifests -adding file changes -added 2 changesets with 2 changes to 1 files -updating to branch foo -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% heads -changeset: 1:cd2a86ecc814 -branch: foo -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: change a - -changeset: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add a - -% parents -changeset: 1:cd2a86ecc814 -branch: foo -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: change a - -[paths] -default = #foo - -% changing original repo -changeset: 3:4cd725637392 -tag: tip -parent: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add bar - -changeset: 2:faba9097cad4 -branch: foo -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: new head of branch foo - -changeset: 1:cd2a86ecc814 -branch: foo -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: change a - -changeset: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add a - - -% outgoing -2:faba9097cad4 - -% push -changeset: 2:faba9097cad4 -branch: foo -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: new head of branch foo - -changeset: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add a - - -% rolling back -rolling back to revision 1 (undo push) -% incoming -2:faba9097cad4 -% pull -changeset: 2:faba9097cad4 -branch: foo -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: new head of branch foo - -changeset: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add a - - -% pull should not have updated -1:cd2a86ecc814 -% going back to the default branch -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -changeset: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add a - -% no new revs, no update -0:1f0dee641bb7 -% rollback -rolling back to revision 1 (undo pull) -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -0:1f0dee641bb7 -% pull -u takes us back to branch foo -changeset: 2:faba9097cad4 -branch: foo -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: new head of branch foo - -% rollback -rolling back to revision 1 (undo pull) -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% parents -0:1f0dee641bb7 -% heads -1:cd2a86ecc814 -0:1f0dee641bb7 -% pull -u -r otherrev url#rev updates to rev -% parents -changeset: 3:4cd725637392 -tag: tip -parent: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add bar - -% heads -changeset: 3:4cd725637392 -tag: tip -parent: 0:1f0dee641bb7 -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add bar - -changeset: 2:faba9097cad4 -branch: foo -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: new head of branch foo - diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-url-rev.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-url-rev.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,206 @@ +# test basic functionality of url#rev syntax + + $ hg init repo + $ cd repo + $ echo a > a + $ hg ci -qAm 'add a' + $ hg branch foo + marked working directory as branch foo + $ echo >> a + $ hg ci -m 'change a' + $ cd .. + + $ hg clone 'repo#foo' clone + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 1 files + updating to branch foo + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ hg --cwd clone heads + changeset: 1:cd2a86ecc814 + branch: foo + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: change a + + changeset: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add a + + $ hg --cwd clone parents + changeset: 1:cd2a86ecc814 + branch: foo + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: change a + + $ cat clone/.hg/hgrc + [paths] + default = .*/repo#foo + +Changing original repo: + + $ cd repo + + $ echo >> a + $ hg ci -m 'new head of branch foo' + + $ hg up -qC default + $ echo bar > bar + $ hg ci -qAm 'add bar' + + $ hg log + changeset: 3:4cd725637392 + tag: tip + parent: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add bar + + changeset: 2:faba9097cad4 + branch: foo + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: new head of branch foo + + changeset: 1:cd2a86ecc814 + branch: foo + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: change a + + changeset: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add a + + $ hg -q outgoing '../clone#foo' + 2:faba9097cad4 + + $ hg -q push '../clone#foo' + + $ hg --cwd ../clone heads + changeset: 2:faba9097cad4 + branch: foo + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: new head of branch foo + + changeset: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add a + + $ cd .. + + $ cd clone + $ hg rollback + rolling back to revision 1 (undo push) + + $ hg -q incoming + 2:faba9097cad4 + + $ hg -q pull + + $ hg heads + changeset: 2:faba9097cad4 + branch: foo + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: new head of branch foo + + changeset: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add a + +Pull should not have updated: + + $ hg parents -q + 1:cd2a86ecc814 + +Going back to the default branch: + + $ hg up -C 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ hg parents + changeset: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add a + +No new revs, no update: + + $ hg pull -qu + + $ hg parents -q + 0:1f0dee641bb7 + + $ hg rollback + rolling back to revision 1 (undo pull) + + $ hg up -C 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ hg parents -q + 0:1f0dee641bb7 + +Pull -u takes us back to branch foo: + + $ hg pull -qu + + $ hg parents + changeset: 2:faba9097cad4 + branch: foo + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: new head of branch foo + + $ hg rollback + rolling back to revision 1 (undo pull) + + $ hg up -C 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ hg parents -q + 0:1f0dee641bb7 + + $ hg heads -q + 1:cd2a86ecc814 + 0:1f0dee641bb7 + + $ hg pull -qur default default + + $ hg parents + changeset: 3:4cd725637392 + tag: tip + parent: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add bar + + $ hg heads + changeset: 3:4cd725637392 + tag: tip + parent: 0:1f0dee641bb7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add bar + + changeset: 2:faba9097cad4 + branch: foo + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: new head of branch foo + + diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-username-newline --- a/tests/test-username-newline Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -#!/bin/sh -# - -hg init foo -cd foo -touch a - - -unset HGUSER -echo "[ui]" >> .hg/hgrc -echo "username= foo" >> .hg/hgrc -echo " bar1" >> .hg/hgrc - -hg ci -Am m - -rm .hg/hgrc - -HGUSER=`(echo foo; echo bar2)` hg ci -Am m - -hg ci -Am m -u "`(echo foo; echo bar3)`" - -true diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-username-newline.out --- a/tests/test-username-newline.out Wed Sep 15 17:48:03 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -adding a -abort: username 'foo\nbar1' contains a newline - -abort: username 'foo\nbar2' contains a newline - -transaction abort! -rollback completed -abort: username 'foo\nbar3' contains a newline! diff -r 2ae4d6c31dcc -r 8471261584a0 tests/test-username-newline.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-username-newline.t Thu Sep 16 16:07:22 2010 -0500 @@ -0,0 +1,24 @@ + $ hg init + $ touch a + + $ unset HGUSER + $ echo "[ui]" >> .hg/hgrc + $ echo "username= foo" >> .hg/hgrc + $ echo " bar1" >> .hg/hgrc + + $ hg ci -Am m + adding a + abort: username 'foo\nbar1' contains a newline + + $ rm .hg/hgrc + + $ HGUSER=`(echo foo; echo bar2)` hg ci -Am m + abort: username 'foo\nbar2' contains a newline + + $ hg ci -Am m -u "`(echo foo; echo bar3)`" + transaction abort! + rollback completed + abort: username 'foo\nbar3' contains a newline! + + $ true +