--- a/hgext/color.py Sat Oct 10 12:00:43 2009 +0200
+++ b/hgext/color.py Sat Oct 10 12:19:58 2009 +0200
@@ -162,9 +162,8 @@
return retval
_patch_effects = { 'applied': ['blue', 'bold', 'underline'],
- 'missing': ['red', 'bold'],
- 'unapplied': ['black', 'bold'], }
-
+ 'missing': ['red', 'bold'],
+ 'unapplied': ['black', 'bold'], }
def colorwrap(orig, s):
'''wrap ui.write for colored diff output'''
lines = s.split('\n')
--- a/hgext/convert/subversion.py Sat Oct 10 12:00:43 2009 +0200
+++ b/hgext/convert/subversion.py Sat Oct 10 12:19:58 2009 +0200
@@ -153,11 +153,13 @@
def issvnurl(url):
try:
proto, path = url.split('://', 1)
- path = urllib.url2pathname(path)
+ if proto == 'file':
+ path = urllib.url2pathname(path)
except ValueError:
proto = 'file'
path = os.path.abspath(url)
- path = path.replace(os.sep, '/')
+ if proto == 'file':
+ path = path.replace(os.sep, '/')
check = protomap.get(proto, lambda p, p2: False)
while '/' in path:
if check(path, proto):
--- a/hgext/extdiff.py Sat Oct 10 12:00:43 2009 +0200
+++ b/hgext/extdiff.py Sat Oct 10 12:19:58 2009 +0200
@@ -173,11 +173,11 @@
that revision is compared to the working directory, and, when no
revisions are specified, the working directory files are compared
to its parent.'''
- program = opts['program'] or 'diff'
- if opts['program']:
- option = opts['option']
- else:
- option = opts['option'] or ['-Npru']
+ program = opts.get('program')
+ option = opts.get('option')
+ if not program:
+ program = 'diff'
+ option = option or ['-Npru']
return dodiff(ui, repo, program, option, pats, opts)
cmdtable = {
--- a/i18n/da.po Sat Oct 10 12:00:43 2009 +0200
+++ b/i18n/da.po Sat Oct 10 12:19:58 2009 +0200
@@ -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 Sat Oct 10 12:00:43 2009 +0200
+++ b/i18n/pt_BR.po Sat Oct 10 12:19:58 2009 +0200
@@ -7073,47 +7073,50 @@
"\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 ""
"mostra as cabeças atuais do repositório ou cabeças de ramo\n"
"\n"
" Sem argumentos, mostra todas as cabeças do repositório.\n"
"\n"
-" \"Cabeças\" do repositório são changesets que não têm nenhum\n"
-" changeset filho. Elas são onde o desenvolvimento geralmente\n"
+" \"Cabeças\" do repositório são revisões que não têm nenhuma\n"
+" revisão filha. Elas são onde o desenvolvimento geralmente\n"
" acontece e são os alvos costumeiros para operações update e\n"
" merge.\n"
"\n"
" Se um ou mais argumentos REV forem dados, as \"cabeças de ramo\"\n"
-" serão mostradas para os ramos nomeados associados a tais\n"
-" revisões. O nome do ramo é chamado de etiqueta de ramo da\n"
-" revisão.\n"
+" serão mostradas para os ramos nomeados associados às revisões\n"
+" especificadas.\n"
"\n"
" Cabeças de ramo são revisões em um determinado ramo nomeado que\n"
" não têm nenhum descendente nesse mesmo ramo. Uma cabeça de\n"
-" ramo pode ser uma cabeça verdadeira ou pode ser o último\n"
-" changeset em um ramo antes que um novo ramo nomeado fosse criado.\n"
-" Se nenhuma das cabeças de ramo forem cabeças verdadeiras, o ramo\n"
-" é considerado inativo. Se -c/--closed for especificado, mostra\n"
-" também cabeças de ramos marcados como fechados (veja hg commit\n"
-" --close-branch).\n"
+" ramo pode ser uma cabeça \"verdadeira\" (do repositório), a\n"
+" última revisão nesse ramo antes de uma mesclagem com outro ramo,\n"
+" ou a última revisão nesse ramo antes de um novo ramo ter sido\n"
+" criado. Se nenhuma das cabeças de ramo for uma cabeça verdadeira,\n"
+" o ramo é considerado inativo.\n"
+"\n"
+" Se -c/--closed for especificado, mostra também cabeças de ramos\n"
+" marcados como fechados (veja hg commit --close-branch).\n"
"\n"
" Se REVINICIAL for especificada, serão mostradas apenas cabeças\n"
" (ou cabeças de ramo) descendentes de REVINICIAL.\n"
@@ -8355,6 +8358,9 @@
" -d/--date.\n"
" "
+msgid "cannot specify both -c/--check and -C/--clean"
+msgstr "não se pode especificar ao mesmo tempo -c/--check e -C/--clean"
+
msgid "uncommitted local changes"
msgstr "alterações locais pendentes"
@@ -9812,22 +9818,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 +9851,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 +10080,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 +10196,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 Sat Oct 10 12:00:43 2009 +0200
+++ b/mercurial/commands.py Sat Oct 10 12:19:58 2009 +0200
@@ -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 Sat Oct 10 12:00:43 2009 +0200
+++ b/mercurial/streamclone.py Sat Oct 10 12:19:58 2009 +0200
@@ -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 Sat Oct 10 12:00:43 2009 +0200
+++ b/mercurial/subrepo.py Sat Oct 10 12:19:58 2009 +0200
@@ -168,7 +168,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)
@@ -179,9 +179,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 Sat Oct 10 12:00:43 2009 +0200
+++ b/mercurial/util.py Sat Oct 10 12:19:58 2009 +0200
@@ -1277,6 +1277,11 @@
return array.array('h', arri)[1]
except ValueError:
pass
+ except IOError, e:
+ if e[0] == errno.EINVAL:
+ pass
+ else:
+ raise
except ImportError:
pass
return 80
--- a/tests/test-http Sat Oct 10 12:00:43 2009 +0200
+++ b/tests/test-http Sat Oct 10 12:19:58 2009 +0200
@@ -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 Sat Oct 10 12:00:43 2009 +0200
+++ b/tests/test-http.out Sat Oct 10 12:19:58 2009 +0200
@@ -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