Thu, 03 May 2012 15:14:58 +0200 rebase: allow collapsing branches in place (issue3111)
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
Sat, 12 May 2012 14:00:51 +0200 diffhelpers: use Py_ssize_t in testhunk()
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.
Sat, 12 May 2012 13:21:08 +0200 diffhelpers: use Py_ssize_t in addlines()
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.
Sat, 12 May 2012 12:07:18 +0200 diffhelpers: use Py_ssize_t in _fix_newline()
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.
Sat, 12 May 2012 11:45:22 +0200 largefiles: add --all-largefiles flag to pull
Na'Tosha Bard <natosha@unity3d.com> [Sat, 12 May 2012 11:45:22 +0200] rev 16692
largefiles: add --all-largefiles flag to pull
Sat, 12 May 2012 09:59:01 +0200 largefiles: refactor downloading of all largefiles to generic function
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
Sat, 12 May 2012 20:06:04 +0200 unbundle: move bookmark update outside the lock
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.
Sat, 12 May 2012 16:02:46 +0200 cleanup: replace naked excepts with except Exception: ...
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:02:46 +0200] rev 16689
cleanup: replace naked excepts with except Exception: ...
Sat, 12 May 2012 16:02:45 +0200 cleanup: replace naked excepts with more specific ones
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:02:45 +0200] rev 16688
cleanup: replace naked excepts with more specific ones
Sat, 12 May 2012 16:00:58 +0200 cleanup: "raise SomeException()" -> "raise SomeException"
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:00:58 +0200] rev 16687
cleanup: "raise SomeException()" -> "raise SomeException"
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip