changeset 7871:cdbe19abd1c5

merge with crew-stable
author Dirkjan Ochtman <dirkjan@ochtman.nl>
date Mon, 23 Mar 2009 13:12:44 +0100
parents b2c18c795622 (diff) bc027d72c289 (current diff)
children f680a1bd679b
files
diffstat 6 files changed, 747 insertions(+), 228 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/zeroconf/__init__.py	Mon Mar 23 13:11:11 2009 +0100
+++ b/hgext/zeroconf/__init__.py	Mon Mar 23 13:12:44 2009 +0100
@@ -77,8 +77,9 @@
         ip = getip()
         localip = socket.inet_aton(ip)
 
-    parts = socket.gethostname().split('.')
-    host = parts[0] + ".local"
+    hostname = socket.gethostname().split('.')[0]
+    host = hostname + ".local"
+    name = "%s-%s" % (hostname, name)
 
     # advertise to browsers
     svc = Zeroconf.ServiceInfo('_http._tcp.local.',
--- a/i18n/da.po	Mon Mar 23 13:11:11 2009 +0100
+++ b/i18n/da.po	Mon Mar 23 13:12:44 2009 +0100
@@ -4,19 +4,21 @@
 #
 # Translation dictionary:
 #
-# changeset      ændring
-# merge          sammenføje
-# patch          rettelse
-# repo(sitory)   arkiv
-# revision       revision
-# tag            mærkat
+# changeset           ændring
+# commit              arkivering
+# merge               sammenføje
+# patch               rettelse
+# repo(sitory)        arkiv
+# revision            revision
+# tag                 mærkat
+# working directory   arbejdskatalog
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-22 22:02+0100\n"
-"PO-Revision-Date: 2009-02-22 22:05+0100\n"
+"POT-Creation-Date: 2009-03-09 23:19+0100\n"
+"PO-Revision-Date: 2009-03-10 23:40+0100\n"
 "Last-Translator:  <mg@daimi.au.dk>\n"
 "Language-Team: Danish\n"
 "MIME-Version: 1.0\n"
@@ -241,7 +243,7 @@
 msgid "rename a given bookmark"
 msgstr ""
 
-msgid "hg bookmarks [-d] [-m NAME] [-r NAME] [NAME]"
+msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
 
 msgid ""
@@ -712,6 +714,7 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
 "\n"
 "    Accepted destination formats [identifiers]:\n"
 "    - Mercurial [hg]\n"
@@ -778,8 +781,9 @@
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
 "        Mercurial.\n"
-"    --config convert.hg.saverev=True          (boolean)\n"
-"        allow target to preserve source revision ID\n"
+"    --config convert.hg.saverev=False          (boolean)\n"
+"        store original revision ID in changeset (forces target IDs to "
+"change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
 "        convert start revision and its descendants\n"
 "\n"
@@ -856,6 +860,23 @@
 "    --config convert.svn.startrev=0           (svn revision number)\n"
 "        specify start Subversion revision.\n"
 "\n"
+"    Perforce Source\n"
+"    ---------------\n"
+"\n"
+"    The Perforce (P4) importer can be given a p4 depot path or a client\n"
+"    specification as source. It will convert all files in the source to\n"
+"    a flat Mercurial repository, ignoring labels, branches and "
+"integrations.\n"
+"    Note that when a depot path is given you then usually should specify a\n"
+"    target directory, because otherwise the target may be named ...-hg.\n"
+"\n"
+"    It is possible to limit the amount of source history to be converted\n"
+"    by specifying an initial Perforce revision.\n"
+"\n"
+"    --config convert.p4.startrev=0           (perforce changelist number)\n"
+"        specify initial Perforce revision.\n"
+"\n"
+"\n"
 "    Mercurial Destination\n"
 "    ---------------------\n"
 "\n"
@@ -1203,6 +1224,12 @@
 msgid "copying file in renamed dir from '%s' to '%s'"
 msgstr ""
 
+msgid "reading p4 views\n"
+msgstr ""
+
+msgid "collecting p4 changelists\n"
+msgstr ""
+
 msgid "Subversion python bindings could not be loaded"
 msgstr ""
 
@@ -1501,7 +1528,7 @@
 msgstr ""
 
 msgid "working directory is missing some files"
-msgstr "arbejdsbiblioteket mangler nogle filer"
+msgstr "arbejdskataloget mangler nogle filer"
 
 msgid ""
 "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
@@ -2659,7 +2686,7 @@
 msgstr ""
 
 msgid "cleaning up working directory..."
-msgstr "rydder op i arbejdsbiblioteket..."
+msgstr "rydder op i arbejdskataloget..."
 
 #, python-format
 msgid "errors during apply, please fix and refresh %s\n"
@@ -3666,7 +3693,7 @@
 "each patchbomb message in a pager or sending the messages directly,\n"
 "it will create a UNIX mailbox file with the patch emails.  This\n"
 "mailbox file can be previewed with any mail user agent which supports\n"
-"UNIX mbox files, i.e. with mutt:\n"
+"UNIX mbox files, e.g. with mutt:\n"
 "\n"
 "  % mutt -R -f mbox\n"
 "\n"
@@ -3784,7 +3811,7 @@
 msgid "send patches as inline attachments"
 msgstr ""
 
-msgid "email addresses of blind copy recipients"
+msgid "email addresses of blind carbon copy recipients"
 msgstr ""
 
 msgid "email addresses of copy recipients"
@@ -4626,7 +4653,7 @@
 
 #, python-format
 msgid "can't read commit message '%s': %s"
-msgstr "Kan ikke lase commit besked '%s': %s"
+msgstr "Kan ikke læse arkiveringsbesked '%s': %s"
 
 msgid "limit must be a positive integer"
 msgstr ""
@@ -4813,17 +4840,17 @@
 "    The files will be added to the repository at the next commit. To\n"
 "    undo an add before that, see hg revert.\n"
 "\n"
-"    If no names are given, add all files in the repository.\n"
-"    "
-msgstr ""
-"tilføj de angivne filer ved næste commit\n"
+"    If no names are given, add all files to the repository.\n"
+"    "
+msgstr ""
+"tilføj de angivne filer ved næste arkivering\n"
 "\n"
 "    Opskriv filer til at blive versionsstyret og tilføjet til arkivet.\n"
 "\n"
-"    Filerne vil bliver tilføjet til arkivet ved næste commit. For at\n"
-"    omgøre en tilføjelse før det, se hg revert.\n"
-"\n"
-"    Hvis der ikke er angivet nogen navne tilføjes alle filer i\n"
+"    Filerne vil bliver tilføjet til arkivet ved næste arkivering. For\n"
+"    at omgøre en tilføjelse før det, se hg revert.\n"
+"\n"
+"    Hvis der ikke er angivet nogen navne tilføjes alle filer til\n"
 "    arkivet.\n"
 "    "
 
@@ -4865,6 +4892,17 @@
 "    anyway, probably with undesirable results.\n"
 "    "
 msgstr ""
+"vis information om ændringer pr linie\n"
+"\n"
+"    Vis ændringer i filer ved at vise revisions ID'et som er\n"
+"    ansvarligt for hver linie\n"
+"\n"
+"    Denne kommando er nyttig til at opdage hvem der lavede en ændring\n"
+"    og hvornår en ændring blev foretaget.\n"
+"\n"
+"    Uden -a tilvalget vil annotate undgå at behandle filer som den\n"
+"    detekterer som binære. Med -a vil annotate generere en annotering\n"
+"    alligevel, sandsynligvis med et uønsket resultat."
 
 msgid "at least one file name or pattern required"
 msgstr ""
@@ -4923,12 +4961,30 @@
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by\n"
-"    hand. The result of this merge is not committed, as for a normal\n"
+"    hand. The result of this merge is not committed, as with a normal\n"
 "    merge.\n"
 "\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
+"omgør effekten af tidligere ændringer\n"
+"\n"
+"    Arkiverer de omgjorte ændringer som en ny ændring. Den nye ændring\n"
+"    er et barn af den omgjorte ændring.\n"
+"\n"
+"    Hvis du omgør en ændring som ikke er spidsen, så vil et der blive\n"
+"    lavet et nyt hoved. Dette hoved vil være den nye spids og du bør\n"
+"    sammenføje denne omgjorte ændring med et andet hoved (det\n"
+"    nuværende hoved som standard).\n"
+"\n"
+"    Med --merge tilvalget vil forældren til arbejdskataloget bliver\n"
+"    husket og det nye hoved vil blive sammenføjet med denne ændring\n"
+"    bagefter. Dette sparer dig for at lave sammenføjningen selv.\n"
+"    Resultatet af denne sammenføjning er ikke arkiveret, som ved en\n"
+"    normal sammenføjning.\n"
+"\n"
+"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
+"    "
 
 msgid "please specify just one revision"
 msgstr "angiv venligst kun en revision"
@@ -4991,8 +5047,7 @@
 "exit\n"
 "    status is 0 the revision is marked as good, 125 - skipped, 127 (command "
 "not\n"
-"    found) - bisection will be aborted and any other status bigger than 0 "
-"will\n"
+"    found) - bisection will be aborted; any other status bigger than 0 will\n"
 "    mark revision as bad.\n"
 "    "
 msgstr ""
@@ -5077,7 +5132,7 @@
 "create a changegroup file\n"
 "\n"
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    found in the other repository.\n"
+"    known to be in another repository.\n"
 "\n"
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
@@ -5163,6 +5218,51 @@
 "    Look at the help text for urls for important details about ssh:// URLs.\n"
 "    "
 msgstr ""
+"lav en kopi af et eksisterende arkiv\n"
+"\n"
+"    Lav en kopi af et eksisterende arkiv i en ny mappe.\n"
+"\n"
+"    Hvis der ikke angivet et navn til destinationen, så bruges\n"
+"    grundnavnet for kilden.\n"
+"\n"
+"    Placeringen af kilden tilføjes til det nye arkivs .hg/hgrc fil som\n"
+"    den nye standard for fremtidige kald til 'hg pull'.\n"
+"\n"
+"    Af effektivitetsgrunde bruges hårde lænker ved kloning når kilden\n"
+"    og destinationen er på det samme filsystem (bemærk at dette kun\n"
+"    gælder for arkivdata og ikke for de udhentede filer). Nogle\n"
+"    filsystemer, såsom AFS, implementerer ikke hårde lænker korrekt,\n"
+"    men rapporterer ingen fejl. I disse tilfælde skal --pull bruges\n"
+"    for at undgå hårde lænker.\n"
+"\n"
+"    I nogle tilfælde kan man klone arkiver og udhentede filer med\n"
+"\n"
+"      $ cp -al ARKIV ARKIVKLON\n"
+"\n"
+"    Dette er den hurtigste måde at klone på, men det er ikke altid\n"
+"    sikkert. Operationen er ikke atomisk (det er op til dig at sikre\n"
+"    at ARKIV ikke bliver modificeret undervejs) og du skal selv sørge\n"
+"    for at din tekstbehandler bryder hårde lænker (Emacs og de fleste\n"
+"    Linux Kernel værktøjer gør det). Dette er desuden ikke kompatibelt\n"
+"    med visse udvidelser som placerer deres metadata under .hg mappen,\n"
+"    såsom mq.\n"
+"\n"
+"    Hvis du bruger -r tilvalget for at klone op til en specifik\n"
+"    revision, så vil ingen efterfølgende revisioner findes i det\n"
+"    klonede arkiv. Denne valgmulighed medfører --pull, selv ved lokale\n"
+"    arkiver.\n"
+"\n"
+"    Hvis -U tilvalget bruges vil den nye klon kun indeholde et arkiv\n"
+"    (.hg) og intet arbejdskatalog (arbejdskatalogets forældre er sat\n"
+"    til nul revisionen).\n"
+"\n"
+"    Se 'hg help urls' for detaljer om gyldige formatter for kilden.\n"
+"\n"
+"    Det er muligt at specificere en ssh:// URL som destination, men\n"
+"    der vil ikke bliver oprettet nogen .hg/hgrc fil eller noget\n"
+"    arbejdskatalog på den anden side. Se hjælpeteksten for URLer for\n"
+"    vigtige detaljer om ssh:// URLer.\n"
+"    "
 
 msgid ""
 "commit the specified files or all outstanding changes\n"
@@ -5176,11 +5276,26 @@
 "    file names or -I/-X filters.\n"
 "\n"
 "    If no commit message is specified, the configured editor is started to\n"
-"    enter a message.\n"
+"    prompt you for a message.\n"
 "\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
+"arkiver de specificerede filer eller alle udestående ændringer\n"
+"\n"
+"    Arkiver ændringer i de angivne filer ind i arkivet.\n"
+"\n"
+"    Hvis en liste af filer udelades vil alle ændringer rapporteret af\n"
+"    \"hg status\" blive arkiveret.\n"
+"\n"
+"    Hvis du arkiverer resultatet af en sammenføjning, undlad da at\n"
+"    angive filnavne eller -I/-X filtre.\n"
+"\n"
+"    Hvis der ikke angives en arkiveringsbesked, så starten den\n"
+"    konfigurerede editor for at bede dig om en besked.\n"
+"\n"
+"    Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n"
+"    "
 
 msgid "created new head\n"
 msgstr "lavede et nyt hoved\n"
@@ -5194,13 +5309,13 @@
 "\n"
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    there can only be one source.\n"
+"    the source must be a single file.\n"
 "\n"
 "    By default, this command copies the contents of files as they\n"
 "    stand in the working directory. If invoked with --after, the\n"
 "    operation is recorded, but no copying is performed.\n"
 "\n"
-"    This command takes effect in the next commit. To undo a copy\n"
+"    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
@@ -5397,9 +5512,32 @@
 "    probably with undesirable results.\n"
 "\n"
 "    Use the --git option to generate diffs in the git extended diff\n"
-"    format. Read the diffs help topic for more information.\n"
-"    "
-msgstr ""
+"    format. For more information, read hg help diffs.\n"
+"    "
+msgstr ""
+"find ændringer i hele arkivet (eller udvalgte filer)\n"
+"\n"
+"    Vis ændringer mellem revisioner for de udvalgte filer.\n"
+"\n"
+"    Ændringerne mellem filerne vises i unified diff-formatet.\n"
+"\n"
+"    BEMÆRK: diff kan generere overraskende resultater for\n"
+"    sammenføjninger, idet den som udgangspunkt vil sammenligne med\n"
+"    arbejdskatalogets første forældre, hvis der ikke angivet en\n"
+"    revision.\n"
+"\n"
+"    Når der gives to revisioner som argumenter, så vises ændringer\n"
+"    mellem disse. Hvis der kun angives en revision, så sammenlignes\n"
+"    denne revision med arbejdskataloget, og når der ikke angives nogen\n"
+"    revisioner, så sammenlignes arbejdskataloget med dennes forældre.\n"
+"\n"
+"    Uden -a tilvalget vil diff undgå at generere ændringer for filer\n"
+"    som den detekterer som binære. Med -a vil diff generere ændringer\n"
+"    alligevel, sandsynligvis med uønskede resultater.\n"
+"\n"
+"    Brug --git tilvalget for at generere ændringer i det udvidede git\n"
+"    diff-format. For mere information, læs hg help diffs.\n"
+"    "
 
 msgid ""
 "dump the header and diffs for one or more changesets\n"
@@ -5435,6 +5573,41 @@
 "    parent. It can be useful to review a merge.\n"
 "    "
 msgstr ""
+"dump hovedet og ændringerne for en eller flere ændringer\n"
+"\n"
+"    Udskriv ændrings-hovedet og ændringerne for en eller flere\n"
+"    revisioner.\n"
+"\n"
+"    Informationen som vises i ændrings-hovedet er: forfatter,\n"
+"    ændringshash, forældrene og arkiveringsbeskeden.\n"
+"\n"
+"    BEMÆRK: export kan generere uventet diff uddata for\n"
+"    sammenføjningsændringer idet den kun vil sammenligne\n"
+"    sammenføjningsændringen med dennes første forældre.\n"
+"\n"
+"    Uddata kan gemmes i en fil, og filnavnet er givet ved en\n"
+"    format-streng. Formatteringsreglerne er som følger:\n"
+"\n"
+"    %%   litteral % tegn\n"
+"    %H   ændringshash (40 byte heksadecimal)\n"
+"    %N   antallet af rettelser som bliver genereret\n"
+"    %R   revisionnummer for ændringen\n"
+"    %b   grundnavn for det eksporterede arkiv\n"
+"    %h   kortform ændringshash (12 byte heksadecimal)\n"
+"    %n   nul-fyldt sekvensnummer, startende ved 1\n"
+"    %r   nul-fyldt revisionsnummer for ændringen\n"
+"\n"
+"    Uden -a tilvalget vil annotate undgå at behandle filer som den\n"
+"    detekterer som binære. Med -a vil annotate generere en annotering\n"
+"    alligevel, sandsynligvis med et uønsket resultat.\n"
+"\n"
+"    Brug --git tilvalget for at generere ændringer i det udvidede git\n"
+"    diff-format. For mere information, læs hg help diffs.\n"
+"\n"
+"    Med --switch-parent tilvalget vil ændringerne blive beregnet i\n"
+"    forhold til den anden forældre. Dette kan være nyttigt til at\n"
+"    gennemse en sammenføjning.\n"
+"    "
 
 msgid "export requires at least one changeset"
 msgstr ""
@@ -5677,6 +5850,17 @@
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
+"opret et nyt arkiv i det givne katalog\n"
+"\n"
+"    Initialiser et nyt arkiv i det givne katalog. Hvis det givne\n"
+"    katalog ikke findes vil det blive oprettet.\n"
+"\n"
+"    Hvis intet katalog er angivet vil det nuværende katalog bliver\n"
+"    anvendt.\n"
+"\n"
+"    Det er muligt at angive en ssh:// URL som destination.\n"
+"    Se 'hg help urls' for mere information.\n"
+"    "
 
 msgid ""
 "locate files matching specific patterns\n"
@@ -5722,8 +5906,8 @@
 "    files and full commit message is shown.\n"
 "\n"
 "    NOTE: log -p may generate unexpected diff output for merge\n"
-"    changesets, as it will compare the merge changeset against its\n"
-"    first parent only. Also, the files: list will only reflect files\n"
+"    changesets, as it will only compare the merge changeset against\n"
+"    its first parent. Also, the files: list will only reflect files\n"
 "    that are different from BOTH parents.\n"
 "\n"
 "    "
@@ -5766,6 +5950,19 @@
 "    revision to merge with must be provided.\n"
 "    "
 msgstr ""
+"sammenføj arbejdskataloget med en anden revision\n"
+"\n"
+"    Sammenføj indholdet af det nuværende arbejdskataloget og den\n"
+"    ønskede revision. Filer som ændrede sig i forhold til en af\n"
+"    forældrene bliver markeret som ændret med hensyn til næste\n"
+"    arkivering, og arkiveringen skal laves før yderligere opdateringer\n"
+"    er tilladt.\n"
+"\n"
+"    Hvis ingen revision angives og arbejdskatalogets forældre er en\n"
+"    hovedrevision og den nuværende gren indeholder præcis et andet\n"
+"    hoved, så sammenføjes der med dette hoved som standard. Ellers\n"
+"    skal en eksplicit revision angives.\n"
+"    "
 
 #, python-format
 msgid "branch '%s' has %d heads - please merge with an explicit rev"
@@ -5809,6 +6006,14 @@
 "    revision or the argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
+"vis forældrene til arbejdskataloget eller en revision\n"
+"\n"
+"    Udskriv arbejdskatalogets forældrerevisioner. Hvis en revision\n"
+"    angivet med --rev, så udskrives forældren til denne revision. Hvis\n"
+"    en fil er angivet, udskrives revisionen i hvilken filen sidst blev\n"
+"    ændret (før arbejdskatalogets revision eller argumentet til --rev,\n"
+"    hvis givet).\n"
+"    "
 
 msgid "can only specify an explicit file name"
 msgstr ""
@@ -5855,6 +6060,17 @@
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
+"hent ændringer fra den angivne kilde\n"
+"\n"
+"    Hiver ændringer fra et fjert arkiv til et lokalt.\n"
+"\n"
+"    Dette finder alle ændringer fra arkivet på den specificerede sti\n"
+"    eller URL og tilføjer dem til det lokale arkiv. Som standard\n"
+"    opdateres arbejdskataloget ikke.\n"
+"\n"
+"    Hvis KILDE udelades, så bruges 'default' stien.\n"
+"    Se 'hg help urls' for mere information.\n"
+"    "
 
 msgid ""
 "Other repository doesn't support revision lookup, so a rev cannot be "
@@ -5883,6 +6099,27 @@
 "    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
+"skub ændringer til den angivne destination\n"
+"\n"
+"    Skubber ændringer fra det lokale arkiv til den givne destination.\n"
+"\n"
+"    Dette er den symmetriske operation for pull. Den hjælper med at\n"
+"    flytte ændringer fra det nuværende arkiv til et andet et. Hvis\n"
+"    destinationen er lokal, så er dette identisk til et pull i\n"
+"    destinationen af det nuværende arkiv.\n"
+"\n"
+"    Som standard vil push nægte af køre hvis den detekterer at den vil\n"
+"    øge antallet af hoveder i destinationen. Dette indikerer normalt\n"
+"    at klienten har glemt at henge og sammenføje ændringerne før\n"
+"    skubningen.\n"
+"\n"
+"    Hvis -r bruges, så vil den navngivne ændring og alle dets forfædre\n"
+"    bliver skubbet til det andet arkiv.\n"
+"\n"
+"    Se hjælpeteksten for URL'er for vigtige detaljer om ssh:// URL'er.\n"
+"    Hvis DESTINATION udelades vil en standard sti blive brugt.\n"
+"    Se 'hg help urls' for mere information.\n"
+"    "
 
 #, python-format
 msgid "pushing to %s\n"
@@ -5940,6 +6177,31 @@
 "    To undo a remove before that, see hg revert.\n"
 "    "
 msgstr ""
+"fjern de angivne filer ved næste arkivering\n"
+"\n"
+"    Planlæg de angivne filer til sletning fra arkivet.\n"
+"\n"
+"    Dette fjerner kun filerne fra den nuværende gren, ikke fra hele\n"
+"    projektets historie. -A kan bruges til kun at fjerne filer som\n"
+"    allerede er slettet, -f kan bruges for at gennemtvinge en\n"
+"    sletning, og -Af kan bruges til at fjerne filer fra næste revision\n"
+"    uden at slette dem.\n"
+"\n"
+"    Den følgende tabel viser opførslen af remove for forskellige\n"
+"    tilstande af filer (søjler) og kombinationer af tilvalg (rækker).\n"
+"    Filtilstandene er Added, Clean, Modified og Missing (som\n"
+"    rapporteret af hg status). Handlingerne er Warn, Remove (fra gren)\n"
+"    og Delete (fra disk).\n"
+"\n"
+"           A  C  M  !\n"
+"    none   W  RD W  R\n"
+"    -f     R  RD RD R\n"
+"    -A     W  W  W  R\n"
+"    -Af    R  R  R  R\n"
+"\n"
+"    Denne kommando planlægger filerne til at blive fjernet ved næste\n"
+"    arkivering. For at omgøre en fjernelse før det, se hg revert.\n"
+"    "
 
 msgid "no files specified"
 msgstr ""
@@ -5965,10 +6227,10 @@
 "    a file, there can only be one source.\n"
 "\n"
 "    By default, this command copies the contents of files as they\n"
-"    stand in the working directory. If invoked with --after, the\n"
+"    exist in the working directory. If invoked with --after, the\n"
 "    operation is recorded, but no copying is performed.\n"
 "\n"
-"    This command takes effect in the next commit. To undo a rename\n"
+"    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
@@ -6111,6 +6373,13 @@
 "    stderr. Use the \"-A\" and \"-E\" options to log to files.\n"
 "    "
 msgstr ""
+"eksporter arkivet via HTTP\n"
+"\n"
+"    Start en lokal HTTP arkivbrowser og -server.\n"
+"\n"
+"    Som standard logger serveren forespørgsler til stdout og fejl til\n"
+"    stderr. Brug \"-A\" og \"-E\" tilvalgene til at logge til filer.\n"
+"    "
 
 #, python-format
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
@@ -6147,6 +6416,38 @@
 "      = the previous added file was copied from here\n"
 "    "
 msgstr ""
+"vis ændrede filer i arbejdskataloget\n"
+"\n"
+"    Vis status for filer i arkivet. Hvis der angivet navne, så vil kun\n"
+"    disse filer blive vist. Filer som er rene eller ignorerede eller\n"
+"    kilden i en kopierings/flytnings operation vises ikke med mindre\n"
+"    -c (clean), -i (ignored), -C (copies) eller -A er angivet. Med\n"
+"    mindre tilvalgene beskrevet med \"vis kun ...\" bruges, så bruges\n"
+"    -mardu tilvalgene.\n"
+"\n"
+"    Tilvalget -q/--quiet skjuler filer som ikke bliver fulgt (ukendte\n"
+"    eller ignorerede filer) med mindre disse eksplicit vælges med\n"
+"    -u/--unknown eller -i/--ignored.\n"
+"\n"
+"    BEMÆRK: status kan tilsyneladende være forskellig fra diff hvis\n"
+"    rettigheder er blevet ændret eller hvis en sammenføjning har\n"
+"    fundet sted. Det normale diff-format rapporterer ikke ændringer i\n"
+"    rettigheder og diff rapporterer kun ænringer relativt til en\n"
+"    sammenføjningsforældre.\n"
+"\n"
+"    Hvis der angivet en revision bruges denne som en basisrevision.\n"
+"    Hvis der angives to revisioner, da vises forskellene mellem dem.\n"
+"\n"
+"    Koderne som bruges til at vise status for filerne er:\n"
+"    M = ændret\n"
+"    A = tilføjet\n"
+"    R = fjernet\n"
+"    C = ren\n"
+"    ! = slettet, men følges stadig\n"
+"    ? = følges ikke\n"
+"    I = ignoreret\n"
+"      = den foregående fil blev kopieret herfra\n"
+"    "
 
 msgid ""
 "add one or more tags for the current or given revision\n"
@@ -6263,6 +6564,34 @@
 "    See 'hg help dates' for a list of formats valid for --date.\n"
 "    "
 msgstr ""
+"opdater arbejdskataloget\n"
+"\n"
+"    Opdater arkivets arbejdskatalog til den angivne revision, eller\n"
+"    spidsen af den nuværende gren hvis ingen revision er angivet. Brug\n"
+"    null som revision for at fjerne arbejdskataloget (ligesom 'hg\n"
+"    clone -U').\n"
+"\n"
+"    Hvis arbejdskataloget ikke indeholder nogen uarkiverede ændringer,\n"
+"    da vil det blive erstattet af den ønskede revision fra arkivet.\n"
+"    Hvis den ønskede revision er på en anden gren, så vil\n"
+"    arbejdskataloget yderligere blive skiftet til denne gren.\n"
+"\n"
+"    Hvis der er uarkiverede ændringer kan -C tilvalget bruges for at\n"
+"    kassere dem og sætte tilstanden af arbejdskataloget lig tilstanden\n"
+"    i den ønskede revision.\n"
+"\n"
+"    Hvis der er uarkiverede ændringer, og -C tilvalget ikke bruges, og\n"
+"    forældrerevisionen og den ønskede revision begge er på samme gren,\n"
+"    og en af dem er en forfar til den anden, så vil det nye\n"
+"    arbejdskatalog indeholde den ønskede revision sammenføjet med de\n"
+"    uarkiverede ændringer. Ellers vil opdateringen fejle med et\n"
+"    forslag til at bruge 'merge' eller 'update -C' i stedet.\n"
+"\n"
+"    Hvis du vil opdatere blot en enkelt fil til en ældre revision,\n"
+"    brug da revert.\n"
+"\n"
+"    Se 'hg help dates' for en liste af gyldige formater til --date.\n"
+"    "
 
 msgid ""
 "verify the integrity of the repository\n"
@@ -6285,7 +6614,7 @@
 
 msgid ""
 "\n"
-"Copyright (C) 2005-2008 Matt Mackall <mpm@selenic.com> and others\n"
+"Copyright (C) 2005-2009 Matt Mackall <mpm@selenic.com> and others\n"
 "This is free software; see the source for copying conditions. There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
@@ -6294,7 +6623,7 @@
 msgstr ""
 
 msgid "change working directory"
-msgstr "skift arbejdsbibliotek"
+msgstr "skift arbejdskatalog"
 
 msgid "do not prompt, assume 'yes' for any required answers"
 msgstr "spørg ikke, antag alle svar er 'ja'"
@@ -6354,10 +6683,10 @@
 msgstr "ekskluder navne som matcher det givne mønster"
 
 msgid "use <text> as commit message"
-msgstr "brug <tekst> som commit-besked"
+msgstr "brug <tekst> som arkiveringsbesked"
 
 msgid "read commit message from <file>"
-msgstr "læs commit-beskeden fra <fil>"
+msgstr "læs arkiveringsbeskeden fra <fil>"
 
 msgid "record datecode as commit date"
 msgstr ""
@@ -7249,9 +7578,9 @@
 "\n"
 "    The log command also accepts date ranges:\n"
 "\n"
-"    \"<{date}\" - on or before a given date\n"
-"    \">{date}\" - on or after a given date\n"
-"    \"{date} to {date}\" - a date range, inclusive\n"
+"    \"<{datetime}\" - at or before a given date/time\n"
+"    \">{datetime}\" - on or after a given date/time\n"
+"    \"{datetime} to {datetime}\" - a date range, inclusive\n"
 "    \"-{days}\" - within a given number of days of today\n"
 "    "
 msgstr ""
@@ -7287,8 +7616,8 @@
 "\n"
 "    Kommandoen log accepterer også datointervaller:\n"
 "\n"
-"    \"<{date}\" - på eller før den angivne dato\n"
-"    \">{date}\" - på eller efter den angivne dato\n"
+"    \"<{date}\" - på eller før den angivne dato/tidspunkt\n"
+"    \">{date}\" - på eller efter den angivne dato/tidspunkt\n"
 "    \"{date} to {date}\" - et datointerval, inklusiv endepunkterne\n"
 "    \"-{days}\" - indenfor et angivet antal dage, fra dags dato\n"
 "    "
@@ -7306,16 +7635,16 @@
 "\n"
 "    Alternate pattern notations must be specified explicitly.\n"
 "\n"
-"    To use a plain path name without any pattern matching, start a\n"
-"    name with \"path:\".  These path names must match completely, from\n"
-"    the root of the current repository.\n"
-"\n"
-"    To use an extended glob, start a name with \"glob:\".  Globs are\n"
-"    rooted at the current directory; a glob such as \"*.c\" will match\n"
-"    files ending in \".c\" in the current directory only.\n"
+"    To use a plain path name without any pattern matching, start it\n"
+"    with \"path:\". These path names must completely match starting at\n"
+"    the current repository root.\n"
+"\n"
+"    To use an extended glob, start a name with \"glob:\". Globs are\n"
+"    rooted at the current directory; a glob such as \"*.c\" will only\n"
+"    match files in the current directory ending with \".c\".\n"
 "\n"
 "    The supported glob syntax extensions are \"**\" to match any string\n"
-"    across path separators, and \"{a,b}\" to mean \"a or b\".\n"
+"    across path separators and \"{a,b}\" to mean \"a or b\".\n"
 "\n"
 "    To use a Perl/Python regular expression, start a name with \"re:\".\n"
 "    Regexp pattern matching is anchored at the root of the repository.\n"
@@ -7330,11 +7659,11 @@
 "\n"
 "    glob:*.c       any name ending in \".c\" in the current directory\n"
 "    *.c            any name ending in \".c\" in the current directory\n"
-"    **.c           any name ending in \".c\" in the current directory, or\n"
-"                   any subdirectory\n"
+"    **.c           any name ending in \".c\" in any subdirectory of the\n"
+"                   current directory including itself.\n"
 "    foo/*.c        any name ending in \".c\" in the directory foo\n"
-"    foo/**.c       any name ending in \".c\" in the directory foo, or any\n"
-"                   subdirectory\n"
+"    foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
+"                   including itself.\n"
 "\n"
 "    Regexp examples:\n"
 "\n"
@@ -7350,11 +7679,13 @@
 "\n"
 "HG::\n"
 "    Path to the 'hg' executable, automatically passed when running hooks,\n"
-"    extensions or external tools. If unset or empty, an executable named\n"
-"    'hg' (with com/exe/bat/cmd extension on Windows) is searched.\n"
+"    extensions or external tools. If unset or empty, this is the hg\n"
+"    executable's name if it's frozen, or an executable named 'hg'\n"
+"    (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
+"    Windows) is searched.\n"
 "\n"
 "HGEDITOR::\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
+"    This is the name of the editor to run when committing. See EDITOR.\n"
 "\n"
 "    (deprecated, use .hgrc)\n"
 "\n"
@@ -7366,8 +7697,8 @@
 "\n"
 "HGENCODINGMODE::\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
-"    while transcoding user inputs. The default is \"strict\", which\n"
-"    causes Mercurial to abort if it can't translate a character. Other\n"
+"    while transcoding user input. The default is \"strict\", which\n"
+"    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
 "    the --encodingmode command-line option.\n"
@@ -7380,26 +7711,32 @@
 "    (deprecated, use .hgrc)\n"
 "\n"
 "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 .hg/hgrc of\n"
-"    current repository is read.\n"
-"\n"
-"    For each element in path, if a directory, all entries in directory\n"
-"    ending with \".rc\" are added to path.  Else, element itself is\n"
-"    added to path.\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.\n"
+"\n"
+"    For each element in HGRCPATH:\n"
+"    * if it's a directory, all directories ending with .rc are added\n"
+"    * otherwise, the directory itself will be added\n"
 "\n"
 "HGUSER::\n"
-"    This is the string used for the author of a commit.\n"
+"    This is the string used as the author of a commit. If not set,\n"
+"    available values will be considered in this order:\n"
+"\n"
+"    * HGUSER (deprecated)\n"
+"    * hgrc files from the HGRCPATH\n"
+"    * EMAIL\n"
+"    * interactive prompt\n"
+"    * LOGNAME (with '@hostname' appended)\n"
 "\n"
 "    (deprecated, use .hgrc)\n"
 "\n"
 "EMAIL::\n"
-"    If HGUSER is not set, this will be used as the author for a commit.\n"
+"    May be used as the author of a commit; see HGUSER.\n"
 "\n"
 "LOGNAME::\n"
-"    If neither HGUSER nor EMAIL is set, LOGNAME will be used (with\n"
-"    '@hostname' appended) as the author value for a commit.\n"
+"    May be used as the author of a commit; see HGUSER.\n"
 "\n"
 "VISUAL::\n"
 "    This is the name of the editor to use when committing. See EDITOR.\n"
@@ -7414,7 +7751,7 @@
 "\n"
 "PYTHONPATH::\n"
 "    This is used by Python to find imported modules and may need to be set\n"
-"    appropriately if Mercurial is not installed system-wide.\n"
+"    appropriately if this Mercurial is not installed system-wide.\n"
 "    "
 msgstr ""
 
@@ -7423,12 +7760,14 @@
 
 msgid ""
 "\n"
-"    Mercurial accepts several notations for identifying individual\n"
+"    Mercurial supports several ways to specify individual\n"
 "    revisions.\n"
 "\n"
 "    A plain integer is treated as a revision number. Negative\n"
-"    integers are treated as offsets from the tip, with -1 denoting the\n"
-"    tip.\n"
+"    integers are treated as toplogical offsets from the tip, with\n"
+"    -1 denoting the tip. As such, negative numbers are only useful\n"
+"    if you've memorized your local tree numbers and want to save\n"
+"    typing a single digit. This editor suggests copy and paste.\n"
 "\n"
 "    A 40-digit hexadecimal string is treated as a unique revision\n"
 "    identifier.\n"
@@ -7436,7 +7775,7 @@
 "    A hexadecimal string less than 40 characters long is treated as a\n"
 "    unique revision identifier, and referred to as a short-form\n"
 "    identifier. A short-form identifier is only valid if it is the\n"
-"    prefix of one full-length identifier.\n"
+"    prefix of exactly one full-length identifier.\n"
 "\n"
 "    Any other string is treated as a tag name, which is a symbolic\n"
 "    name associated with a revision identifier. Tag names may not\n"
@@ -7461,8 +7800,8 @@
 msgid ""
 "\n"
 "    When Mercurial accepts more than one revision, they may be\n"
-"    specified individually, or provided as a continuous range,\n"
-"    separated by the \":\" character.\n"
+"    specified individually, or provided as a topologically continuous\n"
+"    range, separated by the \":\" character.\n"
 "\n"
 "    The syntax of range notation is [BEGIN]:[END], where BEGIN and END\n"
 "    are revision identifiers. Both BEGIN and END are optional. If\n"
@@ -7474,7 +7813,7 @@
 "    order.\n"
 "\n"
 "    A range acts as a closed interval. This means that a range of 3:5\n"
-"    gives 3, 4 and 5. Similarly, a range of 4:2 gives 4, 3, and 2.\n"
+"    gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 "    "
 msgstr ""
 
@@ -7490,14 +7829,14 @@
 "    While this standard format is often enough, it does not encode the\n"
 "    following information:\n"
 "\n"
-"     - executable status\n"
+"     - executable status and other permission bits\n"
 "     - copy or rename information\n"
 "     - changes in binary files\n"
 "     - creation or deletion of empty files\n"
 "\n"
 "    Mercurial also supports the extended diff format from the git VCS\n"
 "    which addresses these limitations. The git diff format is not\n"
-"    produced by default because there are very few tools which\n"
+"    produced by default because a few widespread tools still do not\n"
 "    understand this format.\n"
 "\n"
 "    This means that when generating diffs from a Mercurial repository\n"
@@ -7526,7 +7865,7 @@
 "style).\n"
 "\n"
 "    You can customize output for any \"log-like\" command: log, outgoing,\n"
-"    incoming, tip, parents, heads and glog are all template-enabled.\n"
+"    incoming, tip, parents, heads and glog.\n"
 "\n"
 "    Three styles are packaged with Mercurial: default (the style used\n"
 "    when no explicit preference is passed), compact and changelog. Usage:\n"
@@ -7563,7 +7902,7 @@
 "    want to use a date in your output, you can use a filter to process it.\n"
 "    Filters are functions which return a string based on the input "
 "variable.\n"
-"    You can also use a chain of filters to get the wanted output:\n"
+"    You can also use a chain of filters to get the desired output:\n"
 "\n"
 "       $ hg tip --template \"{date|isodate}\\n\"\n"
 "       2008-08-21 18:22 +0000\n"
@@ -7572,15 +7911,21 @@
 "\n"
 "    - addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "          every line except the last.\n"
-"    - age: Date. Returns a human-readable age for the given date.\n"
+"    - age: Date. Returns a human-readable date/time difference between\n"
+"          the given date/time and the current date/time.\n"
 "    - basename: Any text. Treats the text as a path, and returns the\n"
-"          basename. For example, \"foo/bar/baz\" becomes \"baz\".\n"
-"    - date: Date. Returns a date in a Unix date command format, including\n"
+"          last component of the path after splitting by the path\n"
+"          separator (ignoring trailing seprators). For example,\n"
+"          \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\" becomes \"bar"
+"\".\n"
+"    - date: Date. Returns a date in a Unix date format, including\n"
 "          the timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
 "    - domain: Any text. Finds the first string that looks like an email\n"
 "          address, and extracts just the domain component.\n"
+"          Example: 'User <user@example.com>' becomes 'example.com'.\n"
 "    - email: Any text. Extracts the first string that looks like an email\n"
-"          address.\n"
+"          address. Example: 'User <user@example.com>' becomes\n"
+"          'user@example.com'.\n"
 "    - escape: Any text. Replaces the special XML/XHTML characters \"&\",\n"
 "          \"<\" and \">\" with XML entities.\n"
 "    - fill68: Any text. Wraps the text to fit in 68 columns.\n"
@@ -7596,7 +7941,7 @@
 "          in email headers.\n"
 "    - short: Changeset hash. Returns the short form of a changeset hash,\n"
 "          i.e. a 12-byte hexadecimal string.\n"
-"    - shortdate: Date. Returns a date like \"2006-09-04\".\n"
+"    - shortdate: Date. Returns a date like \"2006-09-18\".\n"
 "    - strip: Any text. Strips all leading and trailing whitespace.\n"
 "    - tabindent: Any text. Returns the text, with every line except the\n"
 "          first starting with a tab character.\n"
@@ -7623,7 +7968,7 @@
 "    'hg incoming --bundle').\n"
 "\n"
 "    An optional identifier after # indicates a particular branch, tag,\n"
-"    or changeset to deal with in the remote repository.\n"
+"    or changeset to use from the remote repository.\n"
 "\n"
 "    Some features, such as pushing to http:// and https:// URLs are\n"
 "    only possible if the feature is explicitly enabled on the\n"
@@ -7655,13 +8000,14 @@
 "    You can then use the alias for any command that uses a url (for example\n"
 "    'hg pull alias1' would pull from the 'alias1' path).\n"
 "\n"
-"    Two path aliases are more important because they are used as defaults\n"
+"    Two path aliases are special because they are used as defaults\n"
 "    when you do not provide the url to a command:\n"
 "\n"
 "    default:\n"
 "      When you create a repository with hg clone, the clone command saves\n"
-"      the location of the source repository as the 'default' path. This is\n"
-"      then used when you omit a path from the push and pull commands.\n"
+"      the location of the source repository as the new repository's\n"
+"      'default' path. This is then used when you omit path from push-\n"
+"      and pull-like commands (including in and out).\n"
 "\n"
 "    default-push:\n"
 "      The push command will look for a path named 'default-push', and\n"
@@ -7686,7 +8032,7 @@
 msgstr ""
 
 msgid "updating working directory\n"
-msgstr "opdaterer arbejdsbibliotek\n"
+msgstr "opdaterer arbejdskatalog\n"
 
 msgid "updated"
 msgstr "opdateret"
@@ -7707,6 +8053,11 @@
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
+msgid ""
+"use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to "
+"abandon\n"
+msgstr ""
+
 msgid "(branch merge, don't forget to commit)\n"
 msgstr ""
 
@@ -7929,7 +8280,7 @@
 
 #, python-format
 msgid "working directory of %s"
-msgstr "arbejdsbibliotek for %s"
+msgstr "arbejdskatalog for %s"
 
 #, python-format
 msgid " %s: searching for copy revision for %s\n"
@@ -8533,7 +8884,7 @@
 msgstr ""
 
 msgid "enter a commit username:"
-msgstr "angiv et commit brugernavn:"
+msgstr "angiv et arkiveringsbrugernavn:"
 
 #, python-format
 msgid "No username found, using '%s' instead\n"
@@ -8775,6 +9126,10 @@
 msgid "cannot decode filename '%s'"
 msgstr "kan ikke dekode filnavn '%s'"
 
+#, python-format
+msgid "broken revlog! (%s)"
+msgstr ""
+
 msgid "missing revlog!"
 msgstr "manglende revlog!"
 
--- a/i18n/ja.po	Mon Mar 23 13:11:11 2009 +0100
+++ b/i18n/ja.po	Mon Mar 23 13:12:44 2009 +0100
@@ -3,7 +3,26 @@
 #
 # Copyright (C) 2009 the Mercurial team
 #
-# Translation dictionary:
+# ========================================
+# 【翻訳作業手順】
+#
+#     ※ 必要に応じて crew リポジトリから最新成果を取得 & hg update
+#     # メッセージ DB の更新
+#     $ make update-pot
+#     # '#: filename:line' 情報を残す場合は --no-location を省略
+#     $ msgmerge --update --no-location i18n/ja.po i18n/hg.pot
+#
+#     ※ 翻訳作業実施(i18n/ja.po の変更)
+#
+#     # 形式確認(置換指定の間違い等)
+#     $ msgfmt --check i18n/ja.po
+#     # '#: filename:line' 情報が残っている場合は取り除く
+#     $ msgcat --no-location -o i18n/ja.po i18n/ja.po
+#
+#     ※ 翻訳成果の公開
+#
+# ========================================
+# 【翻訳用語集】
 #
 # Distributed SCM       分散構成管理ツール
 #
@@ -53,13 +72,14 @@
 # summary               要約(情報)
 # tag                   タグ
 # working directory     作業領域
+# ========================================
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-21 01:58+0900\n"
-"PO-Revision-Date: 2009-02-21 02:00+0900\n"
+"POT-Creation-Date: 2009-03-07 21:22+0900\n"
+"PO-Revision-Date: 2009-03-07 23:30+0900\n"
 "Last-Translator: FUJIWARA Katsunori <foozy@lares.dti.ne.jp>\n"
 "Language-Team: Japanese\n"
 "MIME-Version: 1.0\n"
@@ -281,7 +301,7 @@
 msgid "rename a given bookmark"
 msgstr ""
 
-msgid "hg bookmarks [-d] [-m NAME] [-r NAME] [NAME]"
+msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
 
 msgid ""
@@ -726,6 +746,7 @@
 "    - Monotone [mtn]\n"
 "    - GNU Arch [gnuarch]\n"
 "    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
 "\n"
 "    Accepted destination formats [identifiers]:\n"
 "    - Mercurial [hg]\n"
@@ -792,8 +813,9 @@
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
 "        repositories with missing revlogs, by converting from and to\n"
 "        Mercurial.\n"
-"    --config convert.hg.saverev=True          (boolean)\n"
-"        allow target to preserve source revision ID\n"
+"    --config convert.hg.saverev=False          (boolean)\n"
+"        store original revision ID in changeset (forces target IDs to "
+"change)\n"
 "    --config convert.hg.startrev=0            (hg revision identifier)\n"
 "        convert start revision and its descendants\n"
 "\n"
@@ -870,6 +892,23 @@
 "    --config convert.svn.startrev=0           (svn revision number)\n"
 "        specify start Subversion revision.\n"
 "\n"
+"    Perforce Source\n"
+"    ---------------\n"
+"\n"
+"    The Perforce (P4) importer can be given a p4 depot path or a client\n"
+"    specification as source. It will convert all files in the source to\n"
+"    a flat Mercurial repository, ignoring labels, branches and "
+"integrations.\n"
+"    Note that when a depot path is given you then usually should specify a\n"
+"    target directory, because otherwise the target may be named ...-hg.\n"
+"\n"
+"    It is possible to limit the amount of source history to be converted\n"
+"    by specifying an initial Perforce revision.\n"
+"\n"
+"    --config convert.p4.startrev=0           (perforce changelist number)\n"
+"        specify initial Perforce revision.\n"
+"\n"
+"\n"
 "    Mercurial Destination\n"
 "    ---------------------\n"
 "\n"
@@ -1217,6 +1256,12 @@
 msgid "copying file in renamed dir from '%s' to '%s'"
 msgstr ""
 
+msgid "reading p4 views\n"
+msgstr ""
+
+msgid "collecting p4 changelists\n"
+msgstr ""
+
 msgid "Subversion python bindings could not be loaded"
 msgstr ""
 
@@ -3655,7 +3700,7 @@
 "each patchbomb message in a pager or sending the messages directly,\n"
 "it will create a UNIX mailbox file with the patch emails.  This\n"
 "mailbox file can be previewed with any mail user agent which supports\n"
-"UNIX mbox files, i.e. with mutt:\n"
+"UNIX mbox files, e.g. with mutt:\n"
 "\n"
 "  % mutt -R -f mbox\n"
 "\n"
@@ -3773,7 +3818,7 @@
 msgid "send patches as inline attachments"
 msgstr ""
 
-msgid "email addresses of blind copy recipients"
+msgid "email addresses of blind carbon copy recipients"
 msgstr ""
 
 msgid "email addresses of copy recipients"
@@ -4799,7 +4844,7 @@
 "    The files will be added to the repository at the next commit. To\n"
 "    undo an add before that, see hg revert.\n"
 "\n"
-"    If no names are given, add all files in the repository.\n"
+"    If no names are given, add all files to the repository.\n"
 "    "
 msgstr ""
 "指定されたファイルを次回コミットから構成管理に追加登録\n"
@@ -4957,7 +5002,7 @@
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
 "    changeset afterwards. This saves you from doing the merge by\n"
-"    hand. The result of this merge is not committed, as for a normal\n"
+"    hand. The result of this merge is not committed, as with a normal\n"
 "    merge.\n"
 "\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
@@ -5042,8 +5087,7 @@
 "exit\n"
 "    status is 0 the revision is marked as good, 125 - skipped, 127 (command "
 "not\n"
-"    found) - bisection will be aborted and any other status bigger than 0 "
-"will\n"
+"    found) - bisection will be aborted; any other status bigger than 0 will\n"
 "    mark revision as bad.\n"
 "    "
 msgstr ""
@@ -5171,7 +5215,7 @@
 "create a changegroup file\n"
 "\n"
 "    Generate a compressed changegroup file collecting changesets not\n"
-"    found in the other repository.\n"
+"    known to be in another repository.\n"
 "\n"
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
@@ -5344,7 +5388,7 @@
 "    file names or -I/-X filters.\n"
 "\n"
 "    If no commit message is specified, the configured editor is started to\n"
-"    enter a message.\n"
+"    prompt you for a message.\n"
 "\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
@@ -5359,9 +5403,8 @@
 "    \"hg merge\" 結果のコミットの場合、ファイル名ないし -I/-X オプションの\n"
 "    いずれも指定しないでください。\n"
 "\n"
-"    コミットメッセージが指定されない場合、メッセージ入力のためのプログラム"
-"が\n"
-"    設定に従って起動されます。\n"
+"    コミットメッセージが指定されない場合、設定に従ってメッセージ入力用の\n"
+"    プログラムが起動されます。\n"
 "\n"
 "    -d/--date への指定に関しては、'hg help dates' を参照してください。\n"
 "    "
@@ -5378,13 +5421,13 @@
 "\n"
 "    Mark dest as having copies of source files. If dest is a\n"
 "    directory, copies are put in that directory. If dest is a file,\n"
-"    there can only be one source.\n"
+"    the source must be a single file.\n"
 "\n"
 "    By default, this command copies the contents of files as they\n"
 "    stand in the working directory. If invoked with --after, the\n"
 "    operation is recorded, but no copying is performed.\n"
 "\n"
-"    This command takes effect in the next commit. To undo a copy\n"
+"    This command takes effect with the next commit. To undo a copy\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
@@ -5603,7 +5646,7 @@
 "    probably with undesirable results.\n"
 "\n"
 "    Use the --git option to generate diffs in the git extended diff\n"
-"    format. Read the diffs help topic for more information.\n"
+"    format. For more information, read hg help diffs.\n"
 "    "
 msgstr ""
 "作業領域全体(ないし指定ファイル)の差分抽出\n"
@@ -5895,8 +5938,7 @@
 "\n"
 "    パス指定有りでの起動の場合は、他のリポジトリを参照します。\n"
 "\n"
-"    本コマンドの出力する要約情報は、1つないし2つの親リビジョンのハッシュ値"
-"を\n"
+"    本コマンドの出力する要約情報は、1つないし2つの親リビジョンハッシュ値を\n"
 "    使用して、作業領域の状態を識別します。ハッシュ値の後ろには、作業領域に\n"
 "    未コミットの変更がある場合は \"+\"、当該リビジョンに付いているタグの\n"
 "    一覧、default 以外のブランチの場合にはブランチ名が続きます。\n"
@@ -6056,12 +6098,10 @@
 "    持つファイルを特定します。\n"
 "\n"
 "    特に指定が無い場合、本コマンドは構成管理対象となる作業領域中の\n"
-"    全ファイルを検索対象とします。現ディレクトリとそのサブディレクトリのみ"
-"を\n"
+"    全ファイルを検索対象とします。現ディレクトリとサブディレクトリのみを\n"
 "    検索対象とするには、\"--include .\" を使用してください。\n"
 "\n"
-"    パターン指定が無い場合、本コマンドは全ファイルのファイル名を表示しま"
-"す。\n"
+"    パターン指定が無い場合、本コマンドは全てのファイル名を表示します。\n"
 "\n"
 "    本コマンドの出力を \"xargs\" コマンドへと渡す場合、本コマンドと\n"
 "    \"xargs\" コマンドの両方への \"-0\" オプション指定をお勧めします。\n"
@@ -6093,8 +6133,8 @@
 "    files and full commit message is shown.\n"
 "\n"
 "    NOTE: log -p may generate unexpected diff output for merge\n"
-"    changesets, as it will compare the merge changeset against its\n"
-"    first parent only. Also, the files: list will only reflect files\n"
+"    changesets, as it will only compare the merge changeset against\n"
+"    its first parent. Also, the files: list will only reflect files\n"
 "    that are different from BOTH parents.\n"
 "\n"
 "    "
@@ -6104,11 +6144,9 @@
 "    特定のファイルないしリポジトリ全体の変更履歴を表示します。\n"
 "\n"
 "    ファイルの履歴表示では、改名や複製における元ファイルにまでさかのぼった\n"
-"    履歴は表示しません。元ファイルの履歴までさかのぼる場合には、ファイル名"
-"と\n"
+"    履歴は表示しません。元ファイルの履歴までさかのぼる場合は、ファイル名と\n"
 "    一緒に -f/--follow オプションを指定してください。--follow 指定の際に\n"
-"    ファイル名を指定しない場合は、開始リビジョンの先祖ないし子孫のリビジョ"
-"ン\n"
+"    ファイル名を指定しない場合は、開始リビジョンの先祖ないし子孫リビジョン\n"
 "    のみを表示します。--follow-first 指定は、マージリビジョンにおいて\n"
 "    第1親の履歴のみをさかのぼります。\n"
 "\n"
@@ -6119,9 +6157,8 @@
 "    -d/--date への指定に関しては、'hg help dates' を参照してください。\n"
 "\n"
 "    特に指定が無い場合、本コマンドは以下の情報を出力します:\n"
-"    リビジョン番号、ハッシュID、タグ、(リビジョン番号の離れた)親リビジョ"
-"ン、\n"
-"    作成者、作成日時およびコミットログの1行目。\n"
+"    リビジョン番号、ハッシュID、タグ、(リビジョン番号の離れた),\n"
+"    親リビジョン、作成者、作成日時およびコミットログの1行目。\n"
 "    -v/--verbose が指定された場合、変更対象ファイル一覧と、コミットログの\n"
 "    全文が表示されます。\n"
 "\n"
@@ -6478,10 +6515,10 @@
 "    a file, there can only be one source.\n"
 "\n"
 "    By default, this command copies the contents of files as they\n"
-"    stand in the working directory. If invoked with --after, the\n"
+"    exist in the working directory. If invoked with --after, the\n"
 "    operation is recorded, but no copying is performed.\n"
 "\n"
-"    This command takes effect in the next commit. To undo a rename\n"
+"    This command takes effect at the next commit. To undo a rename\n"
 "    before that, see hg revert.\n"
 "    "
 msgstr ""
@@ -6989,7 +7026,7 @@
 
 msgid ""
 "\n"
-"Copyright (C) 2005-2008 Matt Mackall <mpm@selenic.com> and others\n"
+"Copyright (C) 2005-2009 Matt Mackall <mpm@selenic.com> and others\n"
 "This is free software; see the source for copying conditions. There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
@@ -7951,9 +7988,9 @@
 "\n"
 "    The log command also accepts date ranges:\n"
 "\n"
-"    \"<{date}\" - on or before a given date\n"
-"    \">{date}\" - on or after a given date\n"
-"    \"{date} to {date}\" - a date range, inclusive\n"
+"    \"<{datetime}\" - at or before a given date/time\n"
+"    \">{datetime}\" - on or after a given date/time\n"
+"    \"{datetime} to {datetime}\" - a date range, inclusive\n"
 "    \"-{days}\" - within a given number of days of today\n"
 "    "
 msgstr ""
@@ -8007,16 +8044,16 @@
 "\n"
 "    Alternate pattern notations must be specified explicitly.\n"
 "\n"
-"    To use a plain path name without any pattern matching, start a\n"
-"    name with \"path:\".  These path names must match completely, from\n"
-"    the root of the current repository.\n"
-"\n"
-"    To use an extended glob, start a name with \"glob:\".  Globs are\n"
-"    rooted at the current directory; a glob such as \"*.c\" will match\n"
-"    files ending in \".c\" in the current directory only.\n"
+"    To use a plain path name without any pattern matching, start it\n"
+"    with \"path:\". These path names must completely match starting at\n"
+"    the current repository root.\n"
+"\n"
+"    To use an extended glob, start a name with \"glob:\". Globs are\n"
+"    rooted at the current directory; a glob such as \"*.c\" will only\n"
+"    match files in the current directory ending with \".c\".\n"
 "\n"
 "    The supported glob syntax extensions are \"**\" to match any string\n"
-"    across path separators, and \"{a,b}\" to mean \"a or b\".\n"
+"    across path separators and \"{a,b}\" to mean \"a or b\".\n"
 "\n"
 "    To use a Perl/Python regular expression, start a name with \"re:\".\n"
 "    Regexp pattern matching is anchored at the root of the repository.\n"
@@ -8031,11 +8068,11 @@
 "\n"
 "    glob:*.c       any name ending in \".c\" in the current directory\n"
 "    *.c            any name ending in \".c\" in the current directory\n"
-"    **.c           any name ending in \".c\" in the current directory, or\n"
-"                   any subdirectory\n"
+"    **.c           any name ending in \".c\" in any subdirectory of the\n"
+"                   current directory including itself.\n"
 "    foo/*.c        any name ending in \".c\" in the directory foo\n"
-"    foo/**.c       any name ending in \".c\" in the directory foo, or any\n"
-"                   subdirectory\n"
+"    foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
+"                   including itself.\n"
 "\n"
 "    Regexp examples:\n"
 "\n"
@@ -8095,11 +8132,13 @@
 "\n"
 "HG::\n"
 "    Path to the 'hg' executable, automatically passed when running hooks,\n"
-"    extensions or external tools. If unset or empty, an executable named\n"
-"    'hg' (with com/exe/bat/cmd extension on Windows) is searched.\n"
+"    extensions or external tools. If unset or empty, this is the hg\n"
+"    executable's name if it's frozen, or an executable named 'hg'\n"
+"    (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
+"    Windows) is searched.\n"
 "\n"
 "HGEDITOR::\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
+"    This is the name of the editor to run when committing. See EDITOR.\n"
 "\n"
 "    (deprecated, use .hgrc)\n"
 "\n"
@@ -8111,8 +8150,8 @@
 "\n"
 "HGENCODINGMODE::\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
-"    while transcoding user inputs. The default is \"strict\", which\n"
-"    causes Mercurial to abort if it can't translate a character. Other\n"
+"    while transcoding user input. The default is \"strict\", which\n"
+"    causes Mercurial to abort if it can't map a character. Other\n"
 "    settings include \"replace\", which replaces unknown characters, and\n"
 "    \"ignore\", which drops them. This setting can be overridden with\n"
 "    the --encodingmode command-line option.\n"
@@ -8125,26 +8164,32 @@
 "    (deprecated, use .hgrc)\n"
 "\n"
 "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 .hg/hgrc of\n"
-"    current repository is read.\n"
-"\n"
-"    For each element in path, if a directory, all entries in directory\n"
-"    ending with \".rc\" are added to path.  Else, element itself is\n"
-"    added to path.\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.\n"
+"\n"
+"    For each element in HGRCPATH:\n"
+"    * if it's a directory, all directories ending with .rc are added\n"
+"    * otherwise, the directory itself will be added\n"
 "\n"
 "HGUSER::\n"
-"    This is the string used for the author of a commit.\n"
+"    This is the string used as the author of a commit. If not set,\n"
+"    available values will be considered in this order:\n"
+"\n"
+"    * HGUSER (deprecated)\n"
+"    * hgrc files from the HGRCPATH\n"
+"    * EMAIL\n"
+"    * interactive prompt\n"
+"    * LOGNAME (with '@hostname' appended)\n"
 "\n"
 "    (deprecated, use .hgrc)\n"
 "\n"
 "EMAIL::\n"
-"    If HGUSER is not set, this will be used as the author for a commit.\n"
+"    May be used as the author of a commit; see HGUSER.\n"
 "\n"
 "LOGNAME::\n"
-"    If neither HGUSER nor EMAIL is set, LOGNAME will be used (with\n"
-"    '@hostname' appended) as the author value for a commit.\n"
+"    May be used as the author of a commit; see HGUSER.\n"
 "\n"
 "VISUAL::\n"
 "    This is the name of the editor to use when committing. See EDITOR.\n"
@@ -8159,14 +8204,16 @@
 "\n"
 "PYTHONPATH::\n"
 "    This is used by Python to find imported modules and may need to be set\n"
-"    appropriately if Mercurial is not installed system-wide.\n"
+"    appropriately if this Mercurial is not installed system-wide.\n"
 "    "
 msgstr ""
 "\n"
 "HG::\n"
 "    'hg' コマンドへのパス。フック/エクステンションないし外部ツールの起動の\n"
-"    際に自動的に設定されます。未設定や空の場合は、'hg' という名前の実行可能\n"
-"    ファイルが検索されます(Windows の場合 com/exe/bat/cmd 等の拡張子付き)。\n"
+"    際に自動的に設定されます。未設定や空の場合は、frozen 形式の\n"
+"    hg 実行可能ファイルの名前か設定されるか、'hg' という名前の実行可能\n"
+"    ファイルが検索されます(Windows の場合、PATHEXT 環境変数に設定された\n"
+"    COM/EXE/BAT/CMD 等の拡張子付き)。\n"
 "\n"
 "HGEDITOR::\n"
 "    コミットの際のメッセージ入力を行うためのエディタの名前。EDITOR 環境変数\n"
@@ -8203,22 +8250,29 @@
 "    読み込み先から読み込まれます。空の値が設定されている場合、\n"
 "    現リポジトリの .hg/hgrc のみが読み込まれます。\n"
 "\n"
-"    指定された一覧の各要素に対して、ディレクトリ指定なら当該ディレクトリ\n"
-"    配下の \".rc\" で終わる名前のファイルが、ファイル指定の場合はその\n"
-"    ファイル自身が、読み込み対象となります。\n"
+"    指定された一覧の各要素に対して、以下のように振舞います:\n"
+"    * ディレクトリなら、配下の \".rc\" で終わる名前のファイルを読み込む\n"
+"    * ファイルなら、そのファイル自身を読み込む\n"
 "\n"
 "HGUSER::\n"
 "    チェンジセット作成者としてコミット時に記録する名前の指定。\n"
+"    作成者名として採用される値の決定順序は以下の通りです。\n"
+"\n"
+"    * HGUSER 環境変数値(推奨されません)\n"
+"    * (HGRCPATH 環境変数で指定される)設定ファイル中の設定\n"
+"    * EMAIL 環境変数値\n"
+"    * 対話的な入力\n"
+"    * LOGNAME 環境変数値('@hostname' が付与されます)\n"
 "\n"
 "    (推奨されない環境変数。設定ファイル経由で指定してください。)\n"
 "\n"
 "EMAIL::\n"
-"    HGUSER 環境変数が設定されていない場合、チェンジセット作成者として\n"
-"    コミット時にこの環境変数値が記録されます。\n"
+"    チェンジセット作成者としてこの環境変数値が記録される可能性があります。\n"
+"    詳細は HGUSER の記述を参照してください。\n"
 "\n"
 "LOGNAME::\n"
-"    HGUSER も EMAIL も共に設定されていない場合、チェンジセット作成者として\n"
-"    コミット時に('@hostname' を追加した)この環境変数値が記録されます。\n"
+"    チェンジセット作成者としてこの環境変数値が記録される可能性があります。\n"
+"    詳細は HGUSER の記述を参照してください。\n"
 "\n"
 "VISUAL::\n"
 "    コミット時のメッセージを編集するエディタ名の指定。EDITOR 環境変数\n"
@@ -8242,12 +8296,14 @@
 
 msgid ""
 "\n"
-"    Mercurial accepts several notations for identifying individual\n"
+"    Mercurial supports several ways to specify individual\n"
 "    revisions.\n"
 "\n"
 "    A plain integer is treated as a revision number. Negative\n"
-"    integers are treated as offsets from the tip, with -1 denoting the\n"
-"    tip.\n"
+"    integers are treated as toplogical offsets from the tip, with\n"
+"    -1 denoting the tip. As such, negative numbers are only useful\n"
+"    if you've memorized your local tree numbers and want to save\n"
+"    typing a single digit. This editor suggests copy and paste.\n"
 "\n"
 "    A 40-digit hexadecimal string is treated as a unique revision\n"
 "    identifier.\n"
@@ -8255,7 +8311,7 @@
 "    A hexadecimal string less than 40 characters long is treated as a\n"
 "    unique revision identifier, and referred to as a short-form\n"
 "    identifier. A short-form identifier is only valid if it is the\n"
-"    prefix of one full-length identifier.\n"
+"    prefix of exactly one full-length identifier.\n"
 "\n"
 "    Any other string is treated as a tag name, which is a symbolic\n"
 "    name associated with a revision identifier. Tag names may not\n"
@@ -8276,14 +8332,16 @@
 "\n"
 "    Mercurial は、個々のリビジョンを識別する記法を幾つか用意しています。\n"
 "\n"
-"    整数値は「リビジョン番号」とみなされます。負値は、tip からの距離を\n"
-"    表します(-1 は tip を表します)。\n"
+"    整数値は、「リビジョン番号」とみなされます。負値は、tip からの距離を\n"
+"    表し、-1 は tip 自身を表します。負値の指定は、手元のリポジトリ中の\n"
+"    履歴遷移を把握している際に、入力を省力化したい場合にのみ有効です。\n"
+"    負値の利用はあまりお勧めできません。\n"
 "\n"
 "    40桁の16進文字列は、一意な「リビジョン識別子」とみなされます。\n"
 "\n"
 "    40桁未満の16進文字列は、一意な「リビジョン識別子」の短縮形式と\n"
-"    みなされます。短縮形式の識別子は、唯一の完全長の識別子と前方一致する\n"
-"    場合にのみ有効です。\n"
+"    みなされます。短縮形式の識別子は、厳密に1つの完全長の識別子とだけ\n"
+"    前方一致する場合にのみ有効です。\n"
 "\n"
 "    それ以外の文字列は、リビジョン識別子に関連付けられた「タグ名」と\n"
 "    みなされます。タグ名は \":\" を含んでいないかもしれない。\n"
@@ -8305,8 +8363,8 @@
 msgid ""
 "\n"
 "    When Mercurial accepts more than one revision, they may be\n"
-"    specified individually, or provided as a continuous range,\n"
-"    separated by the \":\" character.\n"
+"    specified individually, or provided as a topologically continuous\n"
+"    range, separated by the \":\" character.\n"
 "\n"
 "    The syntax of range notation is [BEGIN]:[END], where BEGIN and END\n"
 "    are revision identifiers. Both BEGIN and END are optional. If\n"
@@ -8318,7 +8376,7 @@
 "    order.\n"
 "\n"
 "    A range acts as a closed interval. This means that a range of 3:5\n"
-"    gives 3, 4 and 5. Similarly, a range of 4:2 gives 4, 3, and 2.\n"
+"    gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
 "    "
 msgstr ""
 "\n"
@@ -8337,7 +8395,7 @@
 "    とみなされます。\n"
 "\n"
 "    範囲指定は \"閉区間\" とみなされます。つまり、3:5 という範囲指定は\n"
-"    3, 4, 5 の指定と等価です。同様に 4:2 という範囲指定は 4, 3, 2 の指定と\n"
+"    3, 4, 5 の指定と等価です。同様に 9:6 という指定は 9, 8, 7, 6 の指定と\n"
 "    等価です。\n"
 "    "
 
@@ -8353,14 +8411,14 @@
 "    While this standard format is often enough, it does not encode the\n"
 "    following information:\n"
 "\n"
-"     - executable status\n"
+"     - executable status and other permission bits\n"
 "     - copy or rename information\n"
 "     - changes in binary files\n"
 "     - creation or deletion of empty files\n"
 "\n"
 "    Mercurial also supports the extended diff format from the git VCS\n"
 "    which addresses these limitations. The git diff format is not\n"
-"    produced by default because there are very few tools which\n"
+"    produced by default because a few widespread tools still do not\n"
 "    understand this format.\n"
 "\n"
 "    This means that when generating diffs from a Mercurial repository\n"
@@ -8384,15 +8442,15 @@
 "\n"
 "    この標準的な形式は概ね十分なのですが、以下のような情報は含まれません:\n"
 "\n"
-"     - 実行可否(権限設定)\n"
+"     - 実行可否および権限設定\n"
 "     - 複製/改名情報\n"
 "     - バイナリファイルの変更\n"
 "     - 空ファイルの作成/削除\n"
 "\n"
 "    Mercurial は、別の構成管理ツールである git に由来する拡張差分形式にも\n"
 "    対応しており、この形式は従来の差分形式の持つ先の制限を解消しています。\n"
-"    但し、殆どのツールが git 差分形式に対応していないため、Mercurial は\n"
-"    指定が無い場合はこの形式では出力しません。\n"
+"    但し、普及しているツールの幾つかが git 差分形式に対応していないため、\n"
+"    Mercurial は指定が無い場合はこの形式では出力しません。\n"
 "\n"
 "    つまり、Mercurial が(\"hg export\" 等で)生成した標準の差分形式は、\n"
 "    他のリポジトリに対して適用した場合、上述した情報の欠落があることから、\n"
@@ -8418,7 +8476,7 @@
 "style).\n"
 "\n"
 "    You can customize output for any \"log-like\" command: log, outgoing,\n"
-"    incoming, tip, parents, heads and glog are all template-enabled.\n"
+"    incoming, tip, parents, heads and glog.\n"
 "\n"
 "    Three styles are packaged with Mercurial: default (the style used\n"
 "    when no explicit preference is passed), compact and changelog. Usage:\n"
@@ -8455,7 +8513,7 @@
 "    want to use a date in your output, you can use a filter to process it.\n"
 "    Filters are functions which return a string based on the input "
 "variable.\n"
-"    You can also use a chain of filters to get the wanted output:\n"
+"    You can also use a chain of filters to get the desired output:\n"
 "\n"
 "       $ hg tip --template \"{date|isodate}\\n\"\n"
 "       2008-08-21 18:22 +0000\n"
@@ -8464,15 +8522,21 @@
 "\n"
 "    - addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
 "          every line except the last.\n"
-"    - age: Date. Returns a human-readable age for the given date.\n"
+"    - age: Date. Returns a human-readable date/time difference between\n"
+"          the given date/time and the current date/time.\n"
 "    - basename: Any text. Treats the text as a path, and returns the\n"
-"          basename. For example, \"foo/bar/baz\" becomes \"baz\".\n"
-"    - date: Date. Returns a date in a Unix date command format, including\n"
+"          last component of the path after splitting by the path\n"
+"          separator (ignoring trailing seprators). For example,\n"
+"          \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\" becomes \"bar"
+"\".\n"
+"    - date: Date. Returns a date in a Unix date format, including\n"
 "          the timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
 "    - domain: Any text. Finds the first string that looks like an email\n"
 "          address, and extracts just the domain component.\n"
+"          Example: 'User <user@example.com>' becomes 'example.com'.\n"
 "    - email: Any text. Extracts the first string that looks like an email\n"
-"          address.\n"
+"          address. Example: 'User <user@example.com>' becomes\n"
+"          'user@example.com'.\n"
 "    - escape: Any text. Replaces the special XML/XHTML characters \"&\",\n"
 "          \"<\" and \">\" with XML entities.\n"
 "    - fill68: Any text. Wraps the text to fit in 68 columns.\n"
@@ -8488,7 +8552,7 @@
 "          in email headers.\n"
 "    - short: Changeset hash. Returns the short form of a changeset hash,\n"
 "          i.e. a 12-byte hexadecimal string.\n"
-"    - shortdate: Date. Returns a date like \"2006-09-04\".\n"
+"    - shortdate: Date. Returns a date like \"2006-09-18\".\n"
 "    - strip: Any text. Strips all leading and trailing whitespace.\n"
 "    - tabindent: Any text. Returns the text, with every line except the\n"
 "          first starting with a tab character.\n"
@@ -8515,7 +8579,7 @@
 "    'hg incoming --bundle').\n"
 "\n"
 "    An optional identifier after # indicates a particular branch, tag,\n"
-"    or changeset to deal with in the remote repository.\n"
+"    or changeset to use from the remote repository.\n"
 "\n"
 "    Some features, such as pushing to http:// and https:// URLs are\n"
 "    only possible if the feature is explicitly enabled on the\n"
@@ -8547,13 +8611,14 @@
 "    You can then use the alias for any command that uses a url (for example\n"
 "    'hg pull alias1' would pull from the 'alias1' path).\n"
 "\n"
-"    Two path aliases are more important because they are used as defaults\n"
+"    Two path aliases are special because they are used as defaults\n"
 "    when you do not provide the url to a command:\n"
 "\n"
 "    default:\n"
 "      When you create a repository with hg clone, the clone command saves\n"
-"      the location of the source repository as the 'default' path. This is\n"
-"      then used when you omit a path from the push and pull commands.\n"
+"      the location of the source repository as the new repository's\n"
+"      'default' path. This is then used when you omit path from push-\n"
+"      and pull-like commands (including in and out).\n"
 "\n"
 "    default-push:\n"
 "      The push command will look for a path named 'default-push', and\n"
@@ -8611,9 +8676,10 @@
 "    重要な別名が2つあります。\n"
 "\n"
 "    default:\n"
-"      'hg clone' によって複製した場合、複製元リポジトリの URL が\n"
-"      'default' として保存されます。以後、連携先を省略して 'hg push' や\n"
-"      'hg pull' を実行した際には、この URL が連携先として使用されます。\n"
+"      'hg clone' によって複製した場合、新規リポジトリの 'default' として\n"
+"      複製元リポジトリの URL が保存されます。\n"
+"      以後、連携先を省略して 'hg push' や 'hg pull' に類するコマンドを\n"
+"      実行した際には、この URL が連携先として使用されます。\n"
 "\n"
 "    default-push:\n"
 "      'hg push' は、'default-push' の別名で定義される URL を探します。\n"
@@ -8659,6 +8725,11 @@
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
+msgid ""
+"use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to "
+"abandon\n"
+msgstr ""
+
 msgid "(branch merge, don't forget to commit)\n"
 msgstr ""
 
--- a/mercurial/pure/base85.py	Mon Mar 23 13:11:11 2009 +0100
+++ b/mercurial/pure/base85.py	Mon Mar 23 13:12:44 2009 +0100
@@ -9,6 +9,7 @@
 
 _b85chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
             "abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~"
+_b85chars2 = [(a + b) for a in _b85chars for b in _b85chars]
 _b85dec = {}
 
 def _mkb85dec():
@@ -22,24 +23,13 @@
     if r:
         text += '\0' * (4 - r)
     longs = len(text) >> 2
-    out = []
     words = struct.unpack('>%dL' % (longs), text)
-    for word in words:
-        # unrolling improved speed by 33%
-        word, r = divmod(word, 85)
-        e = _b85chars[r]
-        word, r = divmod(word, 85)
-        d = _b85chars[r]
-        word, r = divmod(word, 85)
-        c = _b85chars[r]
-        word, r = divmod(word, 85)
-        b = _b85chars[r]
-        word, r = divmod(word, 85)
-        a = _b85chars[r]
 
-        out += (a, b, c, d, e)
+    out = ''.join(_b85chars[(word / 52200625) % 85] + 
+                  _b85chars2[(word / 7225) % 7225] +
+                  _b85chars2[word % 7225]
+                  for word in words)
 
-    out = ''.join(out)
     if pad:
         return out
 
--- a/tests/test-merge-tools	Mon Mar 23 13:11:11 2009 +0100
+++ b/tests/test-merge-tools	Mon Mar 23 13:12:44 2009 +0100
@@ -104,6 +104,24 @@
 echo "# merge-patterns specifies executable with bogus path and gets warning:"
 domerge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=/bin/nonexistingmergetool
 
+echo
+echo ui.merge overrules priority
+echo
+
+echo "# ui.merge specifies false:"
+domerge -r 2 --config ui.merge=false
+
+echo "# ui.merge specifies internal:fail:"
+domerge -r 2 --config ui.merge=internal:fail
+
+echo "# ui.merge specifies internal:local:"
+domerge -r 2 --config ui.merge=internal:local
+
+echo "# ui.merge specifies internal:other:"
+domerge -r 2 --config ui.merge=internal:other
+
+echo "# ui.merge specifies internal:other but is overruled by pattern for false:"
+domerge -r 2 --config ui.merge=internal:other --config merge-patterns.f=false
 
 echo
 echo Premerge
--- a/tests/test-merge-tools.out	Mon Mar 23 13:11:11 2009 +0100
+++ b/tests/test-merge-tools.out	Mon Mar 23 13:12:44 2009 +0100
@@ -232,6 +232,90 @@
 ? f.orig
 
 
+ui.merge overrules priority
+
+# ui.merge specifies false:
+[merge-tools]
+false.whatever=
+true.priority=1
+true.executable=cat
+# hg update -C 1
+# hg merge -r 2 --config ui.merge=false
+merging f
+merging f failed!
+0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
+# cat f
+revision 1
+space
+# hg stat
+M f
+? f.orig
+
+# ui.merge specifies internal:fail:
+[merge-tools]
+false.whatever=
+true.priority=1
+true.executable=cat
+# hg update -C 1
+# hg merge -r 2 --config ui.merge=internal:fail
+0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
+# cat f
+revision 1
+space
+# hg stat
+M f
+
+# ui.merge specifies internal:local:
+[merge-tools]
+false.whatever=
+true.priority=1
+true.executable=cat
+# hg update -C 1
+# hg merge -r 2 --config ui.merge=internal:local
+0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+(branch merge, don't forget to commit)
+# cat f
+revision 1
+space
+# hg stat
+M f
+
+# ui.merge specifies internal:other:
+[merge-tools]
+false.whatever=
+true.priority=1
+true.executable=cat
+# hg update -C 1
+# hg merge -r 2 --config ui.merge=internal:other
+0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+(branch merge, don't forget to commit)
+# cat f
+revision 2
+space
+# hg stat
+M f
+
+# ui.merge specifies internal:other but is overruled by pattern for false:
+[merge-tools]
+false.whatever=
+true.priority=1
+true.executable=cat
+# hg update -C 1
+# hg merge -r 2 --config ui.merge=internal:other --config merge-patterns.f=false
+merging f
+merging f failed!
+0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
+# cat f
+revision 1
+space
+# hg stat
+M f
+? f.orig
+
+
 Premerge
 
 # Default is silent simplemerge: