Sean Farley <sean.michael.farley@gmail.com> [Sat, 10 Aug 2013 15:10:26 -0500] rev 19572
basefilectx: add an empty class that will be used as a parent of file contexts
Similar to the refactoring of context, we split common logic from filectx to a
parent class called basefilectx that will be inherited by filectx,
workingfilectx, and memfilectx. This will allow a clear disinction of all the
file contexts:
- filectx: read-only access to a filerevision that is already present in the repo,
- workingfilectx: a filecontext that represents files from the working directory,
- memfilectx: a filecontext that represents files in-memory
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:44:18 -0500] rev 19571
workingctx: inherit from basectx instead of changectx
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:10:09 -0500] rev 19570
largefiles: remove unnecessary check of instance
The refactoring of all the context objects allows us to simply pass a basectx
to the __new__ constructor and have it return the same object without
allocating new memory.
This also removes the need to import the context module.
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:11:42 -0500] rev 19569
localrepo: remove unnecessary check of instance
The refactoring of all the context objects allows us to simply pass a basectx
to the __new__ constructor and have it return the same object without
allocating new memory.
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:11:31 -0500] rev 19568
basectx: remove unnecessary check of instance
The refactoring of all the context objects allows us to simply pass a basectx
to the __new__ constructor and have it return the same object without
allocating new memory.
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:42:41 -0500] rev 19567
basectx: move dirty from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:56 -0500] rev 19566
basectx: move dirs from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:43 -0500] rev 19565
basectx: move _dirs from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:12 -0500] rev 19564
basectx: move diff from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:00 -0500] rev 19563
basectx: move match from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:40:36 -0500] rev 19562
basectx: move sub from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:28:54 -0500] rev 19561
basectx: move flags from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:28:40 -0500] rev 19560
basectx: move filenode from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:28:23 -0500] rev 19559
basectx: move _fileinfo from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:26:54 -0500] rev 19558
basectx: move p2 from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:26:15 -0500] rev 19557
basectx: move p1 from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:19:38 -0500] rev 19556
basectx: move parents from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:19:19 -0500] rev 19555
basectx: move mutable from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:19:04 -0500] rev 19554
basectx: move phasestr from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:22:49 -0500] rev 19553
basectx: move manifest from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:22:18 -0500] rev 19552
basectx: move __iter__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:22:05 -0500] rev 19551
basectx: move __getitem__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:21:38 -0500] rev 19550
basectx: move __contains__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:21:23 -0500] rev 19549
basectx: move substate from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:00:32 -0500] rev 19548
basectx: move __ne__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:00:09 -0500] rev 19547
basectx: move __eq__ from changectx
We also add type checking for extra protection.
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 18:24:08 -0500] rev 19546
basectx: move __repr__ from changectx
We change the hardcoded 'changectx' to instead use type(self).__name__ so that
objects that inherit from basectx in the future will be able to use the same
representation.
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:52:13 -0500] rev 19545
basectx: move __int__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:50:13 -0500] rev 19544
basectx: change _node to node() in hex
This allows a child class to overload the node() function and still share the
same code for hex().
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:49:01 -0500] rev 19543
basectx: move hex from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:48:19 -0500] rev 19542
basectx: move node from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 19:09:06 -0500] rev 19541
basectx: move rev from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:46:23 -0500] rev 19540
basectx: move __str__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 16:42:41 -0500] rev 19539
changectx: if passing a basectx then exit __init__ immediately
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:50:28 -0500] rev 19538
basectx: return a copied context if changeid is already a basectx
This implements a copy constructor so that we can pass a basectx-derived object
in future refactorings.
Sean Farley <sean.michael.farley@gmail.com> [Sat, 13 Jul 2013 19:59:21 -0500] rev 19537
basectx: add an empty class that will be used as a parent of all contexts
At the moment, there is no simple way to check if an object is a context
because there is no common parent class. If there were, we could use
'isinstance' everywhere. Simply having memctx inherit from workingctx or
changectx would allow the use of 'isinstance' but that could lead to some
confusing situations of reading the code since we have three distinct concepts
of a context:
- changectx represents a changeset *already* in the repo, and is therefore immutable
- workingctx represents changes on disk in the working directory
- memctx represents changes solely in memory which may or may not be on disk
Therefore, I propose refactoring context.py to have all three contexts inherit
from a parent class 'basectx'.
Augie Fackler <durin42@gmail.com> [Wed, 24 Jul 2013 19:13:39 -0400] rev 19536
ui.config: fix bug in config alternatives from cc669e4fec95
Matt Mackall <mpm@selenic.com> [Sat, 03 Aug 2013 13:23:48 -0500] rev 19535
proxy: allow wildcards in the no proxy list (issue1821)
Alexander Plavin <alexander@plav.in> [Fri, 19 Jul 2013 02:08:19 +0400] rev 19534
hgweb: cleaner if conditions in changelog() function
This removes unneeded extra nesting level and extra variable, which makes
the code easier to understand.
Alexander Plavin <alexander@plav.in> [Mon, 15 Jul 2013 01:10:22 +0400] rev 19533
hgweb: separate search itself and template generation
This will make it simpler to add other search modes.
Alexander Plavin <alexander@plav.in> [Sat, 03 Aug 2013 00:34:56 +0400] rev 19532
paper: remove unused occurence of changelogtag in views
This variably isn't passed to these views and it always renders to empty string
for this reason. Other themes don't have this issue.
Alexander Plavin <alexander@plav.in> [Sun, 30 Jun 2013 11:48:21 +0400] rev 19531
hgweb: show full date in rfc822 format in tooltips at shortlog page
The absolute date was not shown anywhere in the log view for users with
enabled JavaScript.
Kevin Bullock <kbullock@ringworld.org> [Sun, 04 Aug 2013 16:19:12 -0500] rev 19530
hgweb: remove trailing whitespace in mercurial.js
Alexander Plavin <alexander@plav.in> [Mon, 22 Jul 2013 17:07:19 +0400] rev 19529
paper: get rid of changelogtag template duplication
Augie Fackler <raf@durin42.com> [Fri, 26 Jul 2013 15:59:16 -0400] rev 19528
obsolete: clean up a couple of docstrings for correctness
Simon Heimberg <simohe@besonet.ch> [Fri, 26 Jul 2013 21:18:40 -0400] rev 19527
run-tests: only check the common criteria once per test
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 22:52:05 -0500] rev 19526
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 22:37:44 -0500] rev 19525
Added signature for changeset f37b5a17e6a0
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 22:37:41 -0500] rev 19524
Added tag 2.7 for changeset f37b5a17e6a0
Kevin Bullock <kbullock@ringworld.org> [Thu, 01 Aug 2013 21:43:14 -0500] rev 19523
bookmarks: pull --update updates to active bookmark if it moved (issue4007)
This makes `hg pull --update` behave the same wrt the active bookmark as
`hg pull && hg update` does as of 2096e025a728. A helper function,
bookmarks.calculateupdate, is added to prevent code duplication between
postincoming and update.
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 20:06:00 -0500] rev 19522
merge with i18n
Wagner Bruna <wbruna@yahoo.com> [Thu, 01 Aug 2013 02:36:59 -0300] rev 19521
i18n-pt_BR: synchronized with 7b815e38022a
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 01 Aug 2013 04:32:29 +0900] rev 19520
i18n-ja: synchronized with cfdae231ba78
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 19:55:02 -0500] rev 19519
histedit: don't clobber working copy on --abort if not on histedit cset
Similar to issue4009, 2.7 will force people to abort histedits before
doing interesting things. Without this fix, people with histedit
sessions they wandered away from before upgrading to 2.7 could clobber
their working copy for no reason.
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 17:54:12 -0500] rev 19518
rebase: allow aborting when descendants detected
With this, all aborts will succeed in removing the state, rather than
leaving the user in 'what do I do now?' limbo.
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 17:45:13 -0500] rev 19517
rebase: continue abort without strip for immutable csets (issue3997)
This causes us to simply discard the rebase state.
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 17:33:09 -0500] rev 19516
rebase: don't clobber wd on --abort when we've updated away (issue4009)
Wojciech Lopata <lopek@fb.com> [Fri, 26 Jul 2013 13:34:51 -0700] rev 19515
bookmarks: update only proper bookmarks on push -r/-B (issue 3973)
Make push -r/-B update only these bookmarks that point to pushed revisions
or their ancestors, so we can be sure that commit pointed by bookmark is
present in the remote reposiory. Previously push tried to update all shared
bookmarks.
Matt Mackall <mpm@selenic.com> [Sun, 28 Jul 2013 15:02:32 -0500] rev 19514
checklink: work around sshfs brain-damage (issue3636)
With the follow_symlinks option, sshfs will successfully create links
while claiming it encountered an I/O error. In addition, depending on
the type of link, it may subsequently be impossible to delete the link
via sshfs. Our existing link to '.' will cause sshfs to think the link
is a directory, and thus cause unlink to give EISDIR. Links to
non-existent names or circular links will cause the created link to not even
be visible.
Thus, we need to create a new temporary file and link to that. We'll
still get a failure, but we'll be able to remove the link.
Matt Mackall <mpm@selenic.com> [Sat, 27 Jul 2013 19:31:14 -0500] rev 19513
import: cut commit messages at --- unconditionally (issue2148)
We used to do this based on X-mailer: mentioning git, but git doesn't
put X-mailer in its git-format-patch output.
Pascal Quantin <pascal.quantin@gmail.com> [Sat, 27 Jul 2013 21:16:12 +0200] rev 19512
win32: update Inno Setup installer script and extensions list
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 21:03:25 -0500] rev 19511
revert: fix largefiles breakage
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 17:08:05 -0500] rev 19510
revert: make backup when unforgetting a file (issue3423)
This skips the backup if it would be a duplicate.
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 15:42:10 -0500] rev 19509
revsingle: fix silly API issue (issue2992)
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 15:05:48 -0500] rev 19508
Added signature for changeset f0d7721d7322
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 15:05:46 -0500] rev 19507
Added tag 2.7-rc for changeset f0d7721d7322
Simon Heimberg <simohe@besonet.ch> [Thu, 25 Jul 2013 21:00:03 +0200] rev 19506
i18n-it: do not translate rst syntax
".. container::" and ".. note::" are rst syntax and therefore must not be
translated.
Frank Kingswood <frank@kingswood-consulting.co.uk> [Fri, 26 Jul 2013 14:44:13 +0100] rev 19505
convert: handle changeset sorting errors without traceback (issue3961)
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jul 2013 14:43:15 -0700] rev 19504
ancestor.deepest: ignore ninteresting while building result (issue3984)
ninteresting indicates the number of non-zero elements in the interesting
array, not the number of elements in the final list. Since elements in
interesting can stand for more than one gca, limiting the number of results to
ninteresting is an error.
Tests for issue3984 are included.
Wei, Elson <elson.wei@gmail.com> [Thu, 25 Jul 2013 17:35:53 +0800] rev 19503
ancestor.deepest: decrement ninteresting correctly (issue3984)
The invariant this code tries to hold is that ninteresting is the number of
non-zero elements in the interesting array. interesting[nsp] is incremented at
the same time as interesting[sp] is decremented. So if interesting[nsp] was
previously 0, ninteresting shouldn't be decremented.
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jul 2013 14:20:37 -0700] rev 19502
ancestor.deepest: sort revs in C version
This isn't strictly necessary, but it makes the code more consistent with the
Python version.
Augie Fackler <raf@durin42.com> [Thu, 25 Jul 2013 10:44:51 -0400] rev 19501
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com> [Thu, 25 Jul 2013 10:42:36 -0400] rev 19500
mq: rename next() to nextpatch() to avoid confusing a future check-code patch
next() is a builtin starting in 2.6, so it's also nice to avoid
shadowing the builtin.
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 15:27:41 +0400] rev 19499
hgweb: replace next(revs) to revs.next() to fix compatibility with Python 2.5-
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 02:44:27 -0500] rev 19498
tests: glob out exception type for directory collision
Got three different results on buildbot.
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 02:34:09 -0500] rev 19497
record: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 02:17:52 -0500] rev 19496
checkunfinished: accommodate histedit quirk
Turns out histedit actually intends for commits (but not other
operations like update) to be possible during its operation.
Simon Heimberg <simohe@besonet.ch> [Mon, 22 Jul 2013 10:04:53 +0200] rev 19495
tests: test-check-code-hg.t works for all files to check
with xargs, backslashes are eaten up. Convert them to slashes therefore.
This is only a problem with ls (on windows). hg manifest returns slashes.
The pipe char is moved before the line end for telling check-code.py that sed
does not modify the output.
Simon Heimberg <simohe@besonet.ch> [Mon, 22 Jul 2013 10:04:45 +0200] rev 19494
check-code: do not abort on an unreadable file, only report this
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:54:49 -0500] rev 19493
heads: fix children/descendants in doc (issue3992)
Alexander Plavin <me@aplavin.ru> [Sun, 21 Jul 2013 18:50:54 +0400] rev 19492
paper: fix rendering of the first tab in a line in Webkit (issue3990)
This fixes issue3990 for Webkit-browsers, and also older Opera versions.
Rendering in firefox is not changed.
Alexander Plavin <me@aplavin.ru> [Sun, 21 Jul 2013 01:38:04 +0400] rev 19491
hgweb: fix duplication for some search queries
Given that N is maximum revision number in a repo, than if a revision with
number N-100n or N-100n+1 (for any integer n) is found with a hgweb search,
this revision is duplicated in search results.
Augie Fackler <raf@durin42.com> [Wed, 24 Jul 2013 14:51:13 -0400] rev 19490
sslutil: force SSLv3 on Python 2.6 and later (issue3905)
We can't (easily) force SSL version on older Pythons, but on 2.6 and
later we can force SSLv3, which is safer and widely supported. This
also appears to work around a bug in IIS detailed in issue 3905.
Augie Fackler <raf@durin42.com> [Wed, 24 Jul 2013 14:45:29 -0400] rev 19489
httpclient: update to revision 9517a2b56fe9 of httpplus (issue3905)
Includes upstream change "socketutil: force SSLv3 by default, as it is
safer" which should fix issue 3905.
Augie Fackler <raf@durin42.com> [Sat, 11 May 2013 20:40:15 -0500] rev 19488
hgweb: force connection close on early response
Not all WSGI servers close the socket when an early response is sent
to a large POST request, which can cause the server to interpret the
already-sent request body as an incoming (but hopelessly invalid)
request.
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 02:41:22 +0400] rev 19487
hgweb: fix incorrect revisions count in graph (issue3977)
Actual amount of revisions is used now instead of their numbers in the repo
before to deal with skipped numbers correctly.
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 02:22:39 +0400] rev 19486
hgweb: fix incorrect way to count revisions in log (issue3977)
Actual amount of revisions is used now instead of their numbers in the repo
before to deal with skipped numbers correctly.
This iterates starting from the newest revision (which is shown on top)
yielding up to the specified count, instead of the reversed order used before.
Effect of this change on efficiency is negligible, when the same changesets are
returned.
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 02:48:21 +0400] rev 19485
hgweb: always start graph with the revision in url
It is the same fix for graph command, as was recently for log. This makes the
specified revision be always on top of the graph view.
Before the patch, for example with repo having revisions 0, 1, 2, 3 and revision
in url being '2', all revisions were shown and the specified one wasn't
the first.
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:44:00 -0500] rev 19484
merge with i18n
Wagner Bruna <wbruna@yahoo.com> [Wed, 24 Jul 2013 09:43:32 -0300] rev 19483
i18n-pt_BR: synchronized with bf6bc4681383
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:33:28 -0500] rev 19482
update: add tracking of interrupted updates (issue3113)
This takes advantage of the new checkunfinished infrastructure
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:00:47 -0500] rev 19481
mq: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19480
transplant: add checkunfinished (issue3955)
Nobody loves transplant anymore, but it was the first command to have
a --continue flag.
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19479
histedit: add checkunfinished support (issue3955)
The tests contain a couple corner cases where workarounds are now
required. Strictly speaking, these are behavior regressions, but of an
extremely obscure and marginal sort. Commits or updates in the middle
of a histedit would have almost always been fairly serious user error.
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19478
rebase: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19477
rebase: reorder parent check and state storage
This could cause a rebase to be 'in progress' even though it aborted.