Mercurial > hg-stable
changeset 9508:e2fd9b62349b
Merge with -stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 30 Sep 2009 21:42:51 -0500 |
parents | bdd8a41ea6f6 (current diff) 5987183d6e59 (diff) |
children | e4ca8c258d9b |
files | mercurial/commands.py mercurial/streamclone.py mercurial/subrepo.py mercurial/util.py |
diffstat | 8 files changed, 217 insertions(+), 129 deletions(-) [+] |
line wrap: on
line diff
--- a/i18n/da.po Thu Oct 01 00:00:18 2009 +0200 +++ b/i18n/da.po Wed Sep 30 21:42:51 2009 -0500 @@ -17,8 +17,8 @@ msgstr "" "Project-Id-Version: Mercurial\n" "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n" -"POT-Creation-Date: 2009-07-20 23:05+0200\n" -"PO-Revision-Date: 2009-07-21 00:18+0200\n" +"POT-Creation-Date: 2009-09-29 00:26+0200\n" +"PO-Revision-Date: 2009-09-29 00:41+0200\n" "Last-Translator: <mg@lazybytes.net>\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" @@ -1007,7 +1007,8 @@ #, python-format msgid "" "unexpected response from CVS server (expected \"Valid-requests\", but got %r)" -msgstr "uventet svar fra CVS serveren (forventede \"Valid-requests\", men fik %r)" +msgstr "" +"uventet svar fra CVS serveren (forventede \"Valid-requests\", men fik %r)" #, python-format msgid "%d bytes missing from remote file" @@ -1086,6 +1087,10 @@ msgid "%d changeset entries\n" msgstr "%d ændringer\n" +#, python-format +msgid "darcs version 2.1 or newer needed (found %r)" +msgstr "" + msgid "Python ElementTree module is not available" msgstr "Python ElementTree modulet er ikke tilstede" @@ -1492,10 +1497,6 @@ msgstr "sammenføjer med %d:%s\n" #, python-format -msgid "Automated merge with %s" -msgstr "Automatisk sammenføjning med %s" - -#, python-format msgid "new changeset %d:%s merges remote changes with local\n" msgstr "ny ændring %d:%s fletter fjernændringer sammen med lokale\n" @@ -1576,10 +1577,6 @@ "arbejdskopien af .hgsigs er ændret (deponer venligst .hgsigs manuelt eller " "brug --force)" -#, python-format -msgid "Added signature for changeset %s" -msgstr "Tilføjede underskrift af ændring %s" - msgid "unknown signature version" msgstr "ukendt underskrift-version" @@ -2133,7 +2130,9 @@ msgid "" "\n" "%s keywords written to %s:\n" -msgstr "\n%s nøgleord skrevet til %s:\n" +msgstr "" +"\n" +"%s nøgleord skrevet til %s:\n" msgid "unhooked all commit hooks\n" msgstr "" @@ -3789,22 +3788,22 @@ msgstr "" msgid "cannot use both abort and continue" -msgstr "" +msgstr "abort og continue kan ikke angives samtidig" msgid "cannot use collapse with continue or abort" -msgstr "" +msgstr "continue eller abort kan ikke angives samtidig med collapse" msgid "abort and continue do not allow specifying revisions" -msgstr "" +msgstr "abort og continue tillader ikke at der angives revisioner" msgid "cannot specify both a revision and a base" -msgstr "" +msgstr "man kan ikke angive både en revision og en basis" msgid "nothing to rebase\n" msgstr "" msgid "cannot use both keepbranches and extrafn" -msgstr "" +msgstr "man kan ikke bruge både keepbranches og extrafn" msgid "rebase merging completed\n" msgstr "" @@ -3817,7 +3816,7 @@ #, python-format msgid "%d revisions have been skipped\n" -msgstr "" +msgstr "sprang %d revisioner over\n" msgid " set parents\n" msgstr "" @@ -4275,7 +4274,7 @@ msgstr "" #, python-format -msgid "[win32mbcs] filename conversion fail with %s encoding\n" +msgid "[win32mbcs] filename conversion failed with %s encoding\n" msgstr "" msgid "[win32mbcs] cannot activate on this platform.\n" @@ -4668,12 +4667,27 @@ " be expensive.\n" " " msgstr "" +"tilføj alle nye filer, fjern alle manglende filer\n" +"\n" +" Tilføj alle nye filer og fjern alle manglende filer fra depotet.\n" +"\n" +" Nye filer bliver ignoreret hvis de matcher et af mønstrene i\n" +" .hgignore. Som ved add, så træder disse ændringer først i kræft\n" +" ved næste commit.\n" +"\n" +" Brug -s/--similarity tilvalget for at opdage omdøbte filer. Med en\n" +" parameter større end 0 bliver hver fjernet fil sammenlignet med\n" +" enhver tilføjet fil og filer der er tilstrækkelig ens bliver\n" +" opført som omdøbte. Dette tilvalg tager et procenttal mellem 0\n" +" (slået fra) og 100 (filer skal være identiske) som parameter. At\n" +" opdage omdøbninger på denne måde kan være dyrt.\n" +" " msgid "similarity must be a number" -msgstr "" +msgstr "lighedsgrad skal være et tal" msgid "similarity must be between 0 and 100" -msgstr "" +msgstr "lighedsgrad skal være mellem 0 og 100" msgid "" "show changeset information by line for each file\n" @@ -4705,10 +4719,10 @@ " " msgid "at least one filename or pattern is required" -msgstr "" +msgstr "kræver mindst et filnavn eller mønster" msgid "at least one of -n/-c is required for -l" -msgstr "" +msgstr "brug af -l kræver mindst en af -n/-c" #, python-format msgid "%s: binary file\n" @@ -4744,10 +4758,10 @@ msgstr "intet arbejdskatalog: angive venligst en revision" msgid "repository root cannot be destination" -msgstr "" +msgstr "depotets rod kan ikke bruges som destination" msgid "cannot archive plain files to stdout" -msgstr "" +msgstr "flade filer kan ikke arkiveres til standarduddata" msgid "" "reverse effect of earlier changeset\n" @@ -4806,11 +4820,7 @@ msgstr "%s er ikke forælder til %s" msgid "cannot use --parent on non-merge changeset" -msgstr "" - -#, python-format -msgid "Backed out changeset %s" -msgstr "" +msgstr "kan ikke bruge --parent på en ændringer som ikke er en sammenføjning" #, python-format msgid "changeset %s backs out changeset %s\n" @@ -4824,7 +4834,7 @@ msgstr "" msgid "(use \"backout --merge\" if you want to auto-merge)\n" -msgstr "" +msgstr "(brug \"backout --merge\" hvis du vil sammenføje automatisk)\n" msgid "" "subdivision search of changesets\n" @@ -4872,7 +4882,7 @@ msgstr "" msgid "(use of 'hg bisect <cmd>' is deprecated)\n" -msgstr "" +msgstr "(formen 'hg bisect <kommando>' er forældet)\n" msgid "incompatible arguments" msgstr "inkompatible argumenter" @@ -4883,7 +4893,7 @@ #, python-format msgid "failed to execute %s" -msgstr "" +msgstr "kunne ikke køre %s" #, python-format msgid "%s killed" @@ -4917,10 +4927,27 @@ " 'hg commit --close-branch' to mark this branch as closed.\n" " " msgstr "" +"angiv eller vis navnet på den aktuelle gren\n" +"\n" +" Uden noget argument vises navnet på den nuværende gren. Med et\n" +" argument angives arbejdskatalogets grennavn (grenen eksisterer\n" +" ikke i depotet før næste deponering). Det anbefales at den primære\n" +" udvikling foretages på 'default' grenen.\n" +"\n" +" Med mindre -f/--force bruges, så vil branch ikke lade dig bruge et\n" +" grennavn som allerede eksisterer, selv hvis det er inaktivt.\n" +"\n" +" Brug -C/--clean for at nulstille arbejdskatalogs gren til samme\n" +" gren dets forældre-ændring og derved negere end tidligere ændring.\n" +"\n" +" Brug kommandoen 'hg update' for at skifte til en eksisterende\n" +" gren. Brug 'hg commit --close-branch' for at markere denne gren\n" +" som lukket.\n" +" " #, python-format msgid "reset working directory to branch %s\n" -msgstr "" +msgstr "nulstil arbejdskataloget til gren %s\n" msgid "a branch of the same name already exists (use --force to override)" msgstr "" @@ -5003,6 +5030,22 @@ " %p root-relative path name of file being printed\n" " " msgstr "" +"udskriv den aktuelle eller en given revision af filer\n" +"\n" +" Udskriver de angivne filer som de så ud ved den givne revision.\n" +" Hvis der ikke angves en revision, så bruges forældre-revisionen\n" +" til arbejdskataloget, eller spidsen hvis der ikke er hentet noget\n" +" arbejdskatalog.\n" +"\n" +" Output kan gemmes i en fil hvis navn angives med et formatstreng.\n" +" Reglerne for formatteringen er de samme som for export-kommandoen\n" +" med følgende tilføjelser:\n" +"\n" +" %s grundnavn for filen som udskrives\n" +" %d katalognavn for filen som blvier udskrevet\n" +" eller '.' hvis filen er i katalogets rod\n" +" %p rod-relativ sti for filen som bliver udkrevet\n" +" " msgid "" "make a copy of an existing repository\n" @@ -5525,24 +5568,29 @@ "\n" " With no arguments, show all repository head changesets.\n" "\n" -" Repository \"heads\" are changesets that don't have child\n" -" changesets. They are where development generally takes place and\n" -" are the usual targets for update and merge operations.\n" +" Repository \"heads\" are changesets with no child changesets. They are\n" +" where development generally takes place and are the usual targets\n" +" for update and merge operations.\n" "\n" " If one or more REV is given, the \"branch heads\" will be shown for\n" -" the named branch associated with that revision. The name of the\n" -" branch is called the revision's branch tag.\n" -"\n" -" Branch heads are revisions on a given named branch that do not have\n" -" any descendants on the same branch. A branch head could be a true head\n" -" or it could be the last changeset on a branch before a new branch\n" -" was created. If none of the branch heads are true heads, the branch\n" -" is considered inactive. If -c/--closed is specified, also show branch\n" -" heads marked closed (see hg commit --close-branch).\n" -"\n" -" If STARTREV is specified only those heads (or branch heads) that\n" -" are descendants of STARTREV will be displayed.\n" -" " +" the named branch associated with the specified changeset(s).\n" +"\n" +" Branch heads are changesets on a named branch with no descendants on\n" +" the same branch. A branch head could be a \"true\" (repository) head,\n" +" or it could be the last changeset on that branch before it was\n" +" merged into another branch, or it could be the last changeset on the\n" +" branch before a new branch was created. If none of the branch heads\n" +" are true heads, the branch is considered inactive.\n" +"\n" +" If -c/--closed is specified, also show branch heads marked closed\n" +" (see hg commit --close-branch).\n" +"\n" +" If STARTREV is specified, only those heads that are descendants of\n" +" STARTREV will be displayed.\n" +" " +msgstr "" + +msgid "you must specify a branch to use --closed" msgstr "" #, python-format @@ -6403,17 +6451,9 @@ msgstr "mærkaten '%s' er ikke en lokal mærkat" #, python-format -msgid "Removed tag %s" -msgstr "Mærke %s er fjernet" - -#, python-format msgid "tag '%s' already exists (use -f to force)" msgstr "mærkaten '%s' eksisterer allerede (brug -f for at gennemtvinge)" -#, python-format -msgid "Added tag %s for changeset %s" -msgstr "Tilføjede mærkat %s til ændring %s" - msgid "" "list repository tags\n" "\n" @@ -6511,6 +6551,9 @@ " Se 'hg help dates' for en liste af gyldige formater til -d/--date.\n" " " +msgid "cannot specify both -c/--check and -C/--clean" +msgstr "man kan ikke angive både -c/--check og -C/--clean" + msgid "uncommitted local changes" msgstr "udeponerede lokale ændringer" @@ -6525,6 +6568,14 @@ " integrity of their crosslinks and indices.\n" " " msgstr "" +"verificer depotets integritet\n" +"\n" +" Verificer integreteten af det aktuelle depot.\n" +"\n" +" Dette vil lave en udførlig kontrol af depotets integritet.\n" +" Hashværdier og tjeksummer valideres for hver indgang i\n" +" historikfilen, manifæstet og fulgte filer. Desuden valideres\n" +" integriteten af deres krydslinks og indekser." msgid "output version and copyright information" msgstr "udskriv version- og copyrightinformation" @@ -6539,6 +6590,11 @@ "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 "" +"\n" +"Copyright (C) 2005-2009 Matt Mackall <mpm@selenic.com> og andre\n" +"Dette er frit programmel; se kildekoden for kopieringsbetingelser. Der\n" +"gives INGEN GARANTI; ikke engang for SALGBARHED eller EGNETHED FOR\n" +"NOGET BESTEMT FORMÅL.\n" msgid "repository root directory or symbolic path name" msgstr "depotrodfolder eller symbolsk stinavn" @@ -6721,10 +6777,10 @@ msgstr "[-gbsr] [-c KOMMANDO] [REV]" msgid "set branch name even if it shadows an existing branch" -msgstr "" +msgstr "sæt grennavnet selv hvis det overskygger en eksisterende gren" msgid "reset branch name to parent branch name" -msgstr "" +msgstr "nulstil grennavnet til forældre-grennavnet" msgid "[-fC] [NAME]" msgstr "[-fC] [NAVN]" @@ -6732,8 +6788,8 @@ msgid "show only branches that have unmerged heads" msgstr "vil kun grene som har usammenføjne hoveder" -msgid "show normal and closed heads" -msgstr "vis normale og lukkede hoveder" +msgid "show normal and closed branches" +msgstr "vis normale og lukkede grene" msgid "[-a]" msgstr "[-a]" @@ -6847,7 +6903,7 @@ msgstr "[TILVALG]... [-r REV1 [-r REV2]] [FIL]..." msgid "diff against the second parent" -msgstr "" +msgstr "find forskelle i forhold til den anden forældre" msgid "[OPTION]... [-o OUTFILESPEC] REV..." msgstr "[TILVALG]... [-o UDFILSPECIFIKATION] REV..." @@ -6879,8 +6935,11 @@ msgid "show only heads which are descendants of REV" msgstr "vis kun hoveder som er efterkommere af REV" -msgid "show only the active heads from open branches" -msgstr "vis kun aktive hoveder fra åbne grene" +msgid "show only the active branch heads from open branches" +msgstr "vis kun de aktive grenhoveder fra åbne grene" + +msgid "show normal and closed branch heads" +msgstr "vis normale og lukkede grenhoveder" msgid "[-r STARTREV] [REV]..." msgstr "[-r STARTREV] [REV]..." @@ -7766,22 +7825,21 @@ " Mercurial supports several ways to specify individual revisions.\n" "\n" " A plain integer is treated as a revision number. Negative integers\n" -" are treated as topological offsets from the tip, with -1 denoting\n" -" the tip. As such, negative numbers are only useful if you've\n" -" memorized your local tree numbers and want to save typing a single\n" -" digit. This editor suggests copy and paste.\n" +" are treated as sequential offsets from the tip, with -1 denoting\n" +" the tip, -2 denoting the revision prior to the tip, and so forth.\n" "\n" " A 40-digit hexadecimal string is treated as a unique revision\n" " identifier.\n" "\n" " A hexadecimal string less than 40 characters long is treated as a\n" -" unique revision identifier, and referred to as a short-form\n" +" unique revision identifier and is referred to as a short-form\n" " identifier. A short-form identifier is only valid if it is the\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" -" contain the \":\" character.\n" +" Any other string is treated as a tag or branch name. A tag name is\n" +" a symbolic name associated with a revision identifier. A branch\n" +" name denotes the tipmost revision of that branch. Tag and branch\n" +" names must not contain the \":\" character.\n" "\n" " The reserved name \"tip\" is a special tag that always identifies\n" " the most recent revision.\n" @@ -7943,13 +8001,19 @@ " - nonempty: Any text. Returns '(none)' if the string is empty.\n" " - hgdate: Date. Returns the date as a pair of numbers:\n" " \"1157407993 25200\" (Unix timestamp, timezone offset).\n" -" - isodate: Date. Returns the date in ISO 8601 format.\n" +" - isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18\n" +" 13:00 +0200\".\n" +" - isodatesec: Date. Returns the date in ISO 8601 format, including\n" +" seconds: \"2009-08-18 13:00:13 +0200\". See also the\n" +" rfc3339date filter.\n" " - localdate: Date. Converts a date to local date.\n" " - obfuscate: Any text. Returns the input text rendered as a\n" " sequence of XML entities.\n" " - person: Any text. Returns the text before an email address.\n" " - rfc822date: Date. Returns a date using the same format used\n" -" in email headers.\n" +" in email headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n" +" - rfc3339date: Date. Returns a date using the Internet date format\n" +" specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n" " - short: Changeset hash. Returns the short form of a changeset\n" " hash, i.e. a 12-byte hexadecimal string.\n" " - shortdate: Date. Returns a date like \"2006-09-18\".\n"
--- a/i18n/pt_BR.po Thu Oct 01 00:00:18 2009 +0200 +++ b/i18n/pt_BR.po Wed Sep 30 21:42:51 2009 -0500 @@ -9812,22 +9812,21 @@ " Mercurial supports several ways to specify individual revisions.\n" "\n" " A plain integer is treated as a revision number. Negative integers\n" -" are treated as topological offsets from the tip, with -1 denoting\n" -" the tip. As such, negative numbers are only useful if you've\n" -" memorized your local tree numbers and want to save typing a single\n" -" digit. This editor suggests copy and paste.\n" +" are treated as sequential offsets from the tip, with -1 denoting\n" +" the tip, -2 denoting the revision prior to the tip, and so forth.\n" "\n" " A 40-digit hexadecimal string is treated as a unique revision\n" " identifier.\n" "\n" " A hexadecimal string less than 40 characters long is treated as a\n" -" unique revision identifier, and referred to as a short-form\n" +" unique revision identifier and is referred to as a short-form\n" " identifier. A short-form identifier is only valid if it is the\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" -" contain the \":\" character.\n" +" Any other string is treated as a tag or branch name. A tag name is\n" +" a symbolic name associated with a revision identifier. A branch\n" +" name denotes the tipmost revision of that branch. Tag and branch\n" +" names must not contain the \":\" character.\n" "\n" " The reserved name \"tip\" is a special tag that always identifies\n" " the most recent revision.\n" @@ -9846,23 +9845,22 @@ " individuais.\n" "\n" " Um simples inteiro é tratado como um número de revisão. Inteiros\n" -" negativos são tratados como contados topologicamente a partir da\n" -" tip, com -1 denotando a tip. Assim, números negativos são úteis\n" -" apenas se você memorizou os números de sua árvore local e quiser\n" -" evitar digitar um único caractere. Este editor sugere copiar e\n" -" colar.\n" +" negativos são contados a partir da tip, com -1 denotando a tip,\n" +" -2 denotando a revisão anterior à tip, e assim por diante.\n" "\n" " Uma string hexadecimal de 40 dígitos é tratada como um\n" " identificador único de revisão.\n" "\n" " Uma string hexadecimal de menos de 40 caracteres é tratada como\n" -" um identificador único de revisão, e referida como um\n" -" identificador curto. Um identificador curto é válido apenas se\n" -" for o prefixo de um identificador completo.\n" -"\n" -" Qualquer outra string é tratada como um nome de etiqueta, que é\n" -" um nome simbólico associado a um identificador de revisão. Nomes\n" -" de etiqueta não podem conter o caractere \":\".\n" +" um identificador único de revisão, chamado de identificador\n" +" curto. Um identificador curto é válido apenas se for o prefixo\n" +" de um identificador completo.\n" +"\n" +" Qualquer outra string é tratada como um nome de etiqueta ou\n" +" ramo. Um nome de etiqueta é um nome simbólico associado a um\n" +" identificador de revisão. Um nome de ramo denota a revisão mais\n" +" recente de tal ramo. Nomes de etiqueta ou de ramo não podem\n" +" conter o caractere \":\".\n" "\n" " O nome reservado \"tip\" é uma etiqueta especial que sempre\n" " identifica a revisão mais recente.\n" @@ -10076,13 +10074,19 @@ " - nonempty: Any text. Returns '(none)' if the string is empty.\n" " - hgdate: Date. Returns the date as a pair of numbers:\n" " \"1157407993 25200\" (Unix timestamp, timezone offset).\n" -" - isodate: Date. Returns the date in ISO 8601 format.\n" +" - isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18\n" +" 13:00 +0200\".\n" +" - isodatesec: Date. Returns the date in ISO 8601 format, including\n" +" seconds: \"2009-08-18 13:00:13 +0200\". See also the\n" +" rfc3339date filter.\n" " - localdate: Date. Converts a date to local date.\n" " - obfuscate: Any text. Returns the input text rendered as a\n" " sequence of XML entities.\n" " - person: Any text. Returns the text before an email address.\n" " - rfc822date: Date. Returns a date using the same format used\n" -" in email headers.\n" +" in email headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n" +" - rfc3339date: Date. Returns a date using the Internet date format\n" +" specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n" " - short: Changeset hash. Returns the short form of a changeset\n" " hash, i.e. a 12-byte hexadecimal string.\n" " - shortdate: Date. Returns a date like \"2006-09-18\".\n" @@ -10186,14 +10190,17 @@ " - nonempty: Qualquer texto. Devolve (none) se o texto for vazio.\n" " - hgdate: Data. Devolve a data como um par de números:\n" " \"1157407993 25200\" (timestamp Unix, defasagem de fuso)\n" -" - isodate: Data. Devolve a data em formato ISO 8601.\n" +" - isodate: Data. Devolve a data em formato ISO 8601: \"2009-08-18\n" +" 13:00 +0200\".\n" " - localdate: Data. Converte para data local.\n" " - obfuscate: Qualquer texto. Devolve o texto de entrada\n" " renderizado como uma seqüência de entidades XML.\n" " - person: Qualquer texto. Devolve o texto antes de um endereço\n" " de e-mail.\n" -" - rfc822date: Data. Devolve uma data usando o mesmo formato\n" -" utilizado em cabeçalhos de e-mail.\n" +" - rfc822date: Data. Devolve uma data usando o mesmo formato utilizado\n" +" em cabeçalhos de e-mail: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n" +" - rfc3339date: Data. Devolve uma data usando o formato de data da\n" +" Internet especificado na RFC 3339: \"2009-08-18T13:00:13+02:00\".\n" " - short: Hash do changeset. Devolve a forma curta do hash de\n" " um changeset, ou seja, uma string hexadecimal de 12 bytes.\n" " - shortdate: Data. Devolve uma data como \"2006-09-18\".\n"
--- a/mercurial/commands.py Thu Oct 01 00:00:18 2009 +0200 +++ b/mercurial/commands.py Wed Sep 30 21:42:51 2009 -0500 @@ -1356,23 +1356,25 @@ With no arguments, show all repository head changesets. - Repository "heads" are changesets that don't have child - changesets. They are where development generally takes place and - are the usual targets for update and merge operations. + Repository "heads" are changesets with no child changesets. They are + where development generally takes place and are the usual targets + for update and merge operations. If one or more REV is given, the "branch heads" will be shown for - the named branch associated with that revision. The name of the - branch is called the revision's branch tag. - - Branch heads are revisions on a given named branch that do not have - any descendants on the same branch. A branch head could be a true head - or it could be the last changeset on a branch before a new branch - was created. If none of the branch heads are true heads, the branch - is considered inactive. If -c/--closed is specified, also show branch - heads marked closed (see hg commit --close-branch). - - If STARTREV is specified only those heads (or branch heads) that - are descendants of STARTREV will be displayed. + the named branch associated with the specified changeset(s). + + Branch heads are changesets on a named branch with no descendants on + the same branch. A branch head could be a "true" (repository) head, + or it could be the last changeset on that branch before it was + merged into another branch, or it could be the last changeset on the + branch before a new branch was created. If none of the branch heads + are true heads, the branch is considered inactive. + + If -c/--closed is specified, also show branch heads marked closed + (see hg commit --close-branch). + + If STARTREV is specified, only those heads that are descendants of + STARTREV will be displayed. """ if opts.get('rev'): start = repo.lookup(opts['rev'])
--- a/mercurial/streamclone.py Thu Oct 01 00:00:18 2009 +0200 +++ b/mercurial/streamclone.py Wed Sep 30 21:42:51 2009 -0500 @@ -48,8 +48,7 @@ try: repo.ui.debug('scanning\n') for name, ename, size in repo.store.walk(): - # for backwards compat, name was partially encoded - entries.append((store.encodedir(name), size)) + entries.append((name, size)) total_bytes += size finally: lock.release() @@ -62,6 +61,7 @@ yield '%d %d\n' % (len(entries), total_bytes) for name, size in entries: repo.ui.debug('sending %s (%d bytes)\n' % (name, size)) - yield '%s\0%d\n' % (name, size) + # partially encode name over the wire for backwards compat + yield '%s\0%d\n' % (store.encodedir(name), size) for chunk in util.filechunkiter(repo.sopener(name), limit=size): yield chunk
--- a/mercurial/subrepo.py Thu Oct 01 00:00:18 2009 +0200 +++ b/mercurial/subrepo.py Wed Sep 30 21:42:51 2009 -0500 @@ -167,7 +167,7 @@ self._repo.ui.note(_('removing subrepo %s\n') % self._path) hg.clean(self._repo, node.nullid, False) - def get(self, state): + def _get(self, state): source, revision = state try: self._repo.lookup(revision) @@ -178,9 +178,13 @@ other = hg.repository(self._repo.ui, srcurl) self._repo.pull(other) + def get(self, state): + self._get(state) + source, revision = state hg.clean(self._repo, revision, False) def merge(self, state): + self._get(state) hg.merge(self._repo, state[1], remind=False) def push(self, force):
--- a/mercurial/util.py Thu Oct 01 00:00:18 2009 +0200 +++ b/mercurial/util.py Wed Sep 30 21:42:51 2009 -0500 @@ -1280,9 +1280,12 @@ padding = '\n' + ' ' * hangindent # To avoid corrupting multi-byte characters in line, we must wrap # a Unicode string instead of a bytestring. - u = line.decode(encoding.encoding) - w = padding.join(textwrap.wrap(u, width=width - hangindent)) - return w.encode(encoding.encoding) + try: + u = line.decode(encoding.encoding) + w = padding.join(textwrap.wrap(u, width=width - hangindent)) + return w.encode(encoding.encoding) + except UnicodeDecodeError: + return padding.join(textwrap.wrap(line, width=width - hangindent)) def iterlines(iterator): for chunk in iterator:
--- a/tests/test-http Thu Oct 01 00:00:18 2009 +0200 +++ b/tests/test-http Wed Sep 30 21:42:51 2009 -0500 @@ -5,6 +5,11 @@ hg init test cd test echo foo>foo +mkdir foo.d foo.d/bAr.hg.d foo.d/baR.d.hg +echo foo>foo.d/foo +echo bar>foo.d/bAr.hg.d/BaR +echo bar>foo.d/baR.d.hg/bAR + hg commit -A -m 1 hg --config server.uncompressed=True serve -p $HGPORT -d --pid-file=../hg1.pid hg serve -p $HGPORT1 -d --pid-file=../hg2.pid
--- a/tests/test-http.out Thu Oct 01 00:00:18 2009 +0200 +++ b/tests/test-http.out Wed Sep 30 21:42:51 2009 -0500 @@ -1,4 +1,7 @@ adding foo +adding foo.d/bAr.hg.d/BaR +adding foo.d/baR.d.hg/bAR +adding foo.d/foo abort: cannot start server at ':20060': % clone via stream streaming all changes @@ -10,31 +13,31 @@ checking manifests crosschecking files in changesets and manifests checking files -1 files, 1 changesets, 1 total revisions +4 files, 1 changesets, 4 total revisions % try to clone via stream, should use pull instead requesting all changes adding changesets adding manifests adding file changes -added 1 changesets with 1 changes to 1 files +added 1 changesets with 4 changes to 4 files updating working directory -1 files updated, 0 files merged, 0 files removed, 0 files unresolved +4 files updated, 0 files merged, 0 files removed, 0 files unresolved % clone via pull requesting all changes adding changesets adding manifests adding file changes -added 1 changesets with 1 changes to 1 files +added 1 changesets with 4 changes to 4 files updating working directory -1 files updated, 0 files merged, 0 files removed, 0 files unresolved +4 files updated, 0 files merged, 0 files removed, 0 files unresolved checking changesets checking manifests crosschecking files in changesets and manifests checking files -1 files, 1 changesets, 1 total revisions +4 files, 1 changesets, 4 total revisions adding bar % pull -changegroup hook: HG_NODE=cfbd11a1fa315300a080c3de8fe36b0fc5820acf HG_SOURCE=pull HG_URL=http://localhost/ +changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_URL=http://localhost/ pulling from http://localhost/ searching for changes adding changesets