Mercurial > hg > mercurial-crew-with-dirclash
changeset 1501:c5c4381d898b
Merge from Hidetaka Iwai
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 03 Nov 2005 14:19:54 -0800 |
parents | 78590fb4a82b (diff) cadde8ebf167 (current diff) |
children | d176c81481c8 |
files | |
diffstat | 7 files changed, 77 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1705,10 +1705,7 @@ def rawcommit(ui, repo, *flist, **rc): This command is not intended to be used by normal users, as it is primarily useful for importing from other SCMs. """ - if rc['text']: - ui.warn(_("Warning: -t and --text is deprecated," - " please use -m or --message instead.\n")) - message = rc['message'] or rc['text'] + message = rc['message'] if not message and rc['logfile']: try: message = open(rc['logfile']).read() @@ -1980,9 +1977,6 @@ def tag(ui, repo, name, rev=None, **opts similarly to other project files and can be hand-edited if necessary. """ - if opts['text']: - ui.warn(_("Warning: -t and --text is deprecated," - " please use -m or --message instead.\n")) if name == "tip": raise util.Abort(_("the name 'tip' is reserved")) if rev: @@ -2007,7 +2001,7 @@ def tag(ui, repo, name, rev=None, **opts if repo.dirstate.state(".hgtags") == '?': repo.add([".hgtags"]) - message = (opts['message'] or opts['text'] or + message = (opts['message'] or _("Added tag %s for changeset %s") % (name, r)) try: repo.commit([".hgtags"], message, opts['user'], opts['date']) @@ -2291,7 +2285,6 @@ table = { ('u', 'user', "", _('user')), ('F', 'files', "", _('file list')), ('m', 'message', "", _('commit message')), - ('t', 'text', "", _('commit message (deprecated: use -m)')), ('l', 'logfile', "", _('commit message file'))], _('hg rawcommit [OPTION]... [FILE]...')), "recover": (recover, [], _("hg recover")), @@ -2339,7 +2332,6 @@ table = { (tag, [('l', 'local', None, _('make the tag local')), ('m', 'message', "", _('message for tag commit log entry')), - ('t', 'text', "", _('commit message (deprecated: use -m)')), ('d', 'date', "", _('record datecode as commit date')), ('u', 'user', "", _('record user as commiter'))], _('hg tag [OPTION]... NAME [REV]')),
--- a/mercurial/hgweb.py +++ b/mercurial/hgweb.py @@ -196,6 +196,11 @@ class hgweb: self.maxfiles = int(self.repo.ui.config("web", "maxfiles", 10)) self.allowpull = self.repo.ui.configbool("web", "allowpull", True) + def archivelist(self, nodeid): + for i in self.archives: + if self.repo.ui.configbool("web", "allow" + i, False): + yield {"type" : i, "node" : nodeid} + def listfiles(self, files, mf): for f in files[:self.maxfiles]: yield self.t("filenodelink", node=hex(mf[f]), file=f) @@ -414,11 +419,6 @@ class hgweb: def diff(**map): yield self.diff(p1, n, None) - def archivelist(): - for i in self.archives: - if self.repo.ui.configbool("web", "allow" + i, False): - yield {"type" : i, "node" : nodeid} - yield self.t('changeset', diff=diff, rev=cl.rev(n), @@ -430,7 +430,7 @@ class hgweb: desc=changes[4], date=changes[2], files=files, - archives=archivelist()) + archives=self.archivelist(nodeid)) def filelog(self, f, filenode): cl = self.repo.changelog @@ -618,7 +618,8 @@ class hgweb: path=path, up=up(path), fentries=filelist, - dentries=dirlist) + dentries=dirlist, + archives=self.archivelist(hex(node))) def tags(self): cl = self.repo.changelog
--- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1504,9 +1504,6 @@ class localrepository: return 1 branch_merge = True - if moddirstate: - self.dirstate.setparents(p1, p2) - # get the files we don't need to change files = get.keys() files.sort() @@ -1559,6 +1556,9 @@ class localrepository: else: self.dirstate.forget(remove) + if moddirstate: + self.dirstate.setparents(p1, p2) + def merge3(self, fn, my, other): """perform a 3-way merge in the working directory""" @@ -1602,6 +1602,9 @@ class localrepository: seen = {} self.ui.status(_("checking changesets\n")) + d = self.changelog.checksize() + if d: + err(_("changeset data short %d bytes") % d) for i in range(self.changelog.count()): changesets += 1 n = self.changelog.node(i) @@ -1618,6 +1621,9 @@ class localrepository: (short(n), short(p))) try: changes = self.changelog.read(n) + except KeyboardInterrupt: + self.ui.warn(_("interrupted")) + raise except Exception, inst: err(_("unpacking changeset %s: %s") % (short(n), inst)) @@ -1628,6 +1634,9 @@ class localrepository: seen = {} self.ui.status(_("checking manifests\n")) + d = self.manifest.checksize() + if d: + err(_("manifest data short %d bytes") % d) for i in range(self.manifest.count()): n = self.manifest.node(i) l = self.manifest.linkrev(n) @@ -1682,6 +1691,10 @@ class localrepository: if f == "/dev/null": continue files += 1 fl = self.file(f) + d = fl.checksize() + if d: + err(_("%s file data short %d bytes") % (f, d)) + nodes = { nullid: 1 } seen = {} for i in range(fl.count()): @@ -1705,6 +1718,9 @@ class localrepository: # verify contents try: t = fl.read(n) + except KeyboardInterrupt: + self.ui.warn(_("interrupted")) + raise except Exception, inst: err(_("unpacking file %s %s: %s") % (f, short(n), inst))
--- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -823,3 +823,19 @@ class revlog: dfh.close() ifh.close() return node + + def checksize(self): + expected = 0 + if self.count(): + expected = self.end(self.count() - 1) + try: + f = self.opener(self.datafile) + f.seek(0, 2) + actual = f.tell() + return expected - actual + except IOError, inst: + if inst.errno == errno.ENOENT: + return 0 + raise + +
--- a/templates/manifest.tmpl +++ b/templates/manifest.tmpl @@ -7,6 +7,7 @@ <a href="?cl=#rev#">changelog</a> <a href="?tags=">tags</a> <a href="?cs=#node|short#">changeset</a> +#archives%archiveentry# </div> <h2>manifest for changeset #node|short#: #path#</h2>
new file mode 100755 --- /dev/null +++ b/tests/test-permissions @@ -0,0 +1,15 @@ +#!/bin/sh + +hg init +echo foo > a +hg add a +hg commit -m "1" -d "0 0" +hg verify +chmod -r .hg/data/a.d +hg verify 2>/dev/null || echo verify failed +chmod +r .hg/data/a.d +hg verify 2>/dev/null || echo verify failed +chmod -w .hg/data/a.d +echo barber > a +hg commit -m "2" -d "0 0" 2>/dev/null || echo commit failed +
new file mode 100644 --- /dev/null +++ b/tests/test-permissions.out @@ -0,0 +1,16 @@ +checking changesets +checking manifests +crosschecking files in changesets and manifests +checking files +1 files, 1 changesets, 1 total revisions +checking changesets +checking manifests +crosschecking files in changesets and manifests +checking files +verify failed +checking changesets +checking manifests +crosschecking files in changesets and manifests +checking files +1 files, 1 changesets, 1 total revisions +commit failed