Augie Fackler <raf@durin42.com> [Sun, 13 May 2012 04:06:07 -0500] rev 16709
extensions.disabled: return {} instead of None no extensions are disabled
David Soria Parra <dsp@php.net> [Sun, 13 May 2012 11:55:42 +0200] rev 16708
merge: respect bookmarks during merge
Bookmarks will behave more like named branches when merge tries to pick
a revision to merge.
Bookmarks now to respect the current bookmarks. Bookmarks will not
accidentally merged with unnamed heads or other bookmarks. However merge
can pick heads with diverging bookmarks and pick those automatically.
We end up with two cases for picking a revision to merge:
(1) In case of an current bookmark, merge can pick a branch head that has a
diverged bookmark
(2) In case of no current bookmark, merge can pick a branch head that does not
have a bookmark.
David Soria Parra <dsp@php.net> [Sun, 13 May 2012 11:54:58 +0200] rev 16707
localrepo: introduce bookmarkheads
Similar to branch heads we introduce the notion of bookmarkheads.
Bookmarkheads are changests that are bookmarked with the given bookmark
or a diverged version
David Soria Parra <dsp@php.net> [Sat, 12 May 2012 21:28:10 +0200] rev 16706
bookmarks: delete divergent bookmarks on merge
Brodie Rao <brodie@sf.io> [Sun, 13 May 2012 13:18:06 +0200] rev 16705
check-code: ignore naked excepts with a "re-raise" comment
This also promotes the naked except check from a warning to an error.
Brodie Rao <brodie@sf.io> [Sun, 13 May 2012 13:17:50 +0200] rev 16704
check-code: improve detection of naked except clauses
Brodie Rao <brodie@sf.io> [Sun, 13 May 2012 13:17:31 +0200] rev 16703
cleanup: replace more naked excepts with more specific ones
Brodie Rao <brodie@sf.io> [Sun, 13 May 2012 13:17:27 +0200] rev 16702
check-code: promote 80+ character line warning to an error
Patrick Mezard <patrick@mezard.eu> [Sun, 13 May 2012 13:19:46 +0200] rev 16701
cmdutil: use filectx.cmp() in amend()
Na'Tosha Bard <natosha@unity3d.com> [Sat, 12 May 2012 15:41:27 +0200] rev 16700
largefiles: optimize performance when updating (
issue3440)
Previously, when updating, cachelfiles was called blindly on all largefiles
in the repository at the revision being updated to, despite the fact that
a list of which largefiles needs to be updated has already been collected. This
optimization constrains the cachelfiles call to only the largefiles that need
to be updated.
On a repository with about 80 largefiles, updating between two revisions that
only change one largefile goes from approximately 6.7 seconds to 3.3 seconds.
Matt Mackall <mpm@selenic.com> [Sun, 13 May 2012 12:52:24 +0200] rev 16699
merge with stable
Bryan O'Sullivan <bryano@fb.com> [Sun, 13 May 2012 11:47:55 +0200] rev 16698
tests: make test-convert-darcs.t happier with darcs 2.8.0
Levi Bard <levi@unity3d.com> [Sat, 12 May 2012 17:00:01 +0200] rev 16697
bookmarks: pull new bookmarks from remote by default (BC)
Patrick Mezard <patrick@mezard.eu> [Thu, 03 May 2012 15:14:58 +0200] rev 16696
rebase: allow collapsing branches in place (
issue3111)
We allow rebase plus collapse, but not collapse only? I imagine people would
rebase first then collapse once they are sure the rebase is correct and it is
the right time to finish it.
I was reluctant to submit this patch for reasons detailed below, but it
improves rebase --collapse usefulness so much it is worth the ugliness.
The fix is ugly because we should be fixing the collapse code path rather than
the merge. Collapsing by merging changesets repeatedly is inefficient compared
to what commit --amend does: commitctx(), update, strip. The problem with the
latter is, to generate the synthetic changeset, copy records are gathered with
copies.pathcopies(). copies.pathcopies() is still implemented with merging in
mind and discards information like file replaced by the copy of another,
criss-cross copies and so forth. I believe this information should not be lost,
even if we decide not to interpret it fully later, at merge time.
The second issue with improving rebase --collapse is the option should not be
there to begin with. Rebasing and collapsing are orthogonal and a dedicated
command would probably enable a better, simpler ui. We should avoid advertizing
rebase --collapse, but with this fix it becomes the best shipped solution to
collapse changesets.
And for the record, available techniques are:
- revert + commit + strip: lose copies
- mq/qfold: repeated patching() (mostly correct, fragile)
- rebase: repeated merges (mostly correct, fragile)
- collapse: revert + tag rewriting wizardry, lose copies
- histedit: repeated patching() (mostly correct, fragile)
- amend: copies.pathcopies() + commitctx() + update + strip
Adrian Buehlmann <adrian@cadifra.com> [Sat, 12 May 2012 14:00:51 +0200] rev 16695
diffhelpers: use Py_ssize_t in testhunk()
Eliminates
mercurial/diffhelpers.c(143) : warning C4244: '=' : conversion from
'Py_ssize_t' to 'int', possible loss of data
mercurial/diffhelpers.c(144) : warning C4244: '=' : conversion from
'Py_ssize_t' to 'int', possible loss of data
when compiling for Windows x64 target using the Microsoft compiler.
Adrian Buehlmann <adrian@cadifra.com> [Sat, 12 May 2012 13:21:08 +0200] rev 16694
diffhelpers: use Py_ssize_t in addlines()
Eliminates
mercurial/diffhelpers.c(81) : warning C4244: '=' : conversion from
'Py_ssize_t' to 'int', possible loss of data
mercurial/diffhelpers.c(82) : warning C4244: '=' : conversion from
'Py_ssize_t' to 'int', possible loss of data
when compiling for Windows x64 target using the Microsoft compiler.
Adrian Buehlmann <adrian@cadifra.com> [Sat, 12 May 2012 12:07:18 +0200] rev 16693
diffhelpers: use Py_ssize_t in _fix_newline()
Eliminates
mercurial/diffhelpers.c(23) : warning C4244: 'initializing' : conversion from
'Py_ssize_t' to 'int', possible loss of data
mercurial/diffhelpers.c(26) : warning C4244: 'initializing' : conversion from
'Py_ssize_t' to 'int', possible loss of data
mercurial/diffhelpers.c(27) : warning C4244: 'initializing' : conversion from
'Py_ssize_t' to 'int', possible loss of data
mercurial/diffhelpers.c(30) : warning C4244: 'initializing' : conversion from
'Py_ssize_t' to 'int', possible loss of data
when compiling for Windows x64 target using the Microsoft compiler.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 12 May 2012 11:45:22 +0200] rev 16692
largefiles: add --all-largefiles flag to pull
Na'Tosha Bard <natosha@unity3d.com> [Sat, 12 May 2012 09:59:01 +0200] rev 16691
largefiles: refactor downloading of all largefiles to generic function
Mads Kiilerich <mads@kiilerich.com> [Sat, 12 May 2012 20:06:04 +0200] rev 16690
unbundle: move bookmark update outside the lock
d16c99f16f00 introduced updatecurrentbookmark after unbundle, but that path
might end up taking a wlock after lock when writing the bookmarks.
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:02:46 +0200] rev 16689
cleanup: replace naked excepts with except Exception: ...
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:02:45 +0200] rev 16688
cleanup: replace naked excepts with more specific ones
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:00:58 +0200] rev 16687
cleanup: "raise SomeException()" -> "raise SomeException"
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:00:57 +0200] rev 16686
cleanup: "not x in y" -> "x not in y"