Edouard Gomez <ed.gomez@free.fr> [Fri, 25 Mar 2011 01:38:47 +0100] rev 13757
convert: add bookmark support to hg source
Edouard Gomez <ed.gomez@free.fr> [Fri, 25 Mar 2011 01:38:43 +0100] rev 13756
convert: add bookmarks reading support to git backend
Matt Mackall <mpm@selenic.com> [Thu, 24 Mar 2011 15:12:51 -0500] rev 13755
ssh: fix password test
We don't support passwords in ssh URLs, and neither do some versions
of Python's urllib. Since we don't actually care much here, punt with
a glob in the test.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 24 Mar 2011 18:39:54 +0100] rev 13754
dirstate: check mtime when adding to _lastnormal
- consistently use mtime as mapped to dirstate granularity (needed for
filesystems like NTFS, which have sub-second resolution)
- no need to add files with mtime < _lastnormaltime
- improve comments
Martin Geisler <mg@aragost.com> [Thu, 24 Mar 2011 18:17:49 +0100] rev 13753
subrepo: simplify hgsubrepo._get a little
Lee Cantey <lcantey@gmail.com> [Thu, 24 Mar 2011 08:51:58 -0700] rev 13752
Fix expected url to match test.
Patrick Mezard <pmezard@gmail.com> [Thu, 24 Mar 2011 10:28:29 +0100] rev 13751
patch: deprecate ui.patch / external patcher feature
Why?
- Mercurial internal patcher works correctly for regular patches and git
patches, is much faster at least on Windows and is more extensible.
- In theory, the external patcher can be used to handle exotic patch formats. I
do not know any and have not heard about any such use in years.
- Most patch programs cannot handle git format patches, which makes the API
caller to decide either to ignore ui.patch by calling patch.internalpatch()
directly, or take the risk of random failures with valid inputs.
- One thing a patch program could do Mercurial patcher cannot is applying with
--reverse. Apparently several shelve like extensions try to use that,
including passing the "reverse" option to Mercurial patcher, which has been
removed mid-2009. I never heard anybody complain about that, and would prefer
reimplementing it anyway.
And from the technical perspective:
- The external patcher makes everything harder to maintain and implement. EOL
normalization is not implemented, and I would bet file renames, if supported
by the patcher, are not correctly recorded in the dirstate.
- No tests.
How?
- Remove related documentation
- Clearly mark patch.externalpatch() as private
- Remove the debuginstall check. This deprecation request was actually
triggered by this last point. debuginstall is the only piece of code patching
without a repository. When migrating to an integrated patch() + updatedir()
call, this was really a showstopper, all workarounds were either ugly or
uselessly complicated to implement. If we do not support external patcher
anymore, the debuginstall check is not useful anymore.
- Remove patch.externalpatch() after 1.9 release.
Matt Mackall <mpm@selenic.com> [Wed, 23 Mar 2011 19:28:16 -0500] rev 13750
# User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
# Date 1289564504 -3600
# Node ID b75264c15cc888cf38c3c7b8f619801e3c2589c7
# Parent 89b2e5d940f669e590096c6be70eee61c9172fff
revsets: overload the branch() revset to also take a branch name.
This should only change semantics in the specific case of a tag/branch
conflict where the tag wasn't done on the branch with the same
name. Previously, branch(whatever) would resolve to the branch of the
tag in that case, whereas now it will resolve to the branch of the
name. The previous behaviour, while documented, seemed very
counter-intuitive to me.
An alternate approach would be to introduce a new revset such as
branchname() or namedbranch(). While this would retain backwards
compatibility, the distinction between it and branch() would not be
readily apparent to users. The most intuitive behaviour would be to
have branch(x) require 'x' to be a branch name, and something like
branchof(x) or samebranch(x) do what branch(x) currently
does. Unfortunately, our backwards compatibility guarantees prevent us
from doing that.
Please note that while 'hg tag' guards against shadowing a branch, 'hg
branch' does not. Besides, even if it did, that wouldn't solve the
issue of conversions with such tags and branches...
Adrian Buehlmann <adrian@cadifra.com> [Wed, 23 Mar 2011 22:58:40 +0100] rev 13749
test-commit-multiple.t: improve committwice.py
- fix bug in replacebyte: parameter fn wasn't used (no harm done)
- remove unneeded matcher
- remove unused local n
- increase test coverage a bit with a second file and some sleeping
- show files changed in revisions
- move print statements out of racy path to make sure it's as racy as possible
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 23 Mar 2011 23:05:32 +0100] rev 13748
osutil: replace #import with #include, and add a check for it
Patrick Mezard <pmezard@gmail.com> [Wed, 23 Mar 2011 23:33:14 +0100] rev 13747
code indentation fixes
Edouard Gomez <ed.gomez@free.fr> [Wed, 07 Jul 2010 00:06:59 +0200] rev 13746
convert: add bookmark support to the hg sink
Edouard Gomez <ed.gomez@free.fr> [Wed, 07 Jul 2010 00:06:59 +0200] rev 13745
convert: add bookmark support to main command
During conversion, read bookmarks from source repo, filter them and push the
resulting set of bookmarks to destination sink.
Edouard Gomez <ed.gomez@free.fr> [Wed, 07 Jul 2010 00:06:59 +0200] rev 13744
convert: add bookmark support to common sink/source implementation
Adrian Buehlmann <adrian@cadifra.com> [Wed, 23 Mar 2011 11:22:29 +0100] rev 13743
dirstate: reset _lastnormal and _lastnormaltime
on write, invalidate, and clear
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Wed, 23 Mar 2011 16:06:55 +0100] rev 13742
discovery: avoid discovery when local graph is a subset of remote
Immediately sends local's heads to the server to check whether the server knows them all.
If it does, we can call getbundle immediately.
Interesting test output changes are:
- added 1 changesets with 0 changes to 1 files (+1 heads)
+ added 1 changesets with 0 changes to 0 files (+1 heads)
-> The new getbundle() actually fixes a bug vs. changegroupsubset() in that it no longer
returns unnecessary files when file revs are reused.
warning: repository is unrelated
+ requesting all changes
-> The new use of common instead of bases correctly indicates that an unrelated pull
gets all changes from the server.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Wed, 23 Mar 2011 16:02:11 +0100] rev 13741
wireproto: add getbundle() function
getbundle(common, heads) -> bundle
Returns the changegroup for all ancestors of heads which are not ancestors of common. For both
sets, the heads are included in the set.
Intended to eventually supercede changegroupsubset and changegroup. Uses heads of common region
to exclude unwanted changesets instead of bases of desired region, which is more useful and
easier to implement.
Designed to be extensible with new optional arguments (which will have to be guarded by
corresponding capabilities).
Matt Mackall <mpm@selenic.com> [Wed, 23 Mar 2011 12:38:36 -0500] rev 13740
merge with stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 23 Mar 2011 13:58:33 -0300] rev 13739
i18n-pt_BR: synchronized with 6783f47d90dd
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 23 Mar 2011 11:57:10 -0300] rev 13738
merge with i18n
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Mon, 14 Mar 2011 23:48:17 +0100] rev 13737
i18n-it: synchronized with adf3c4401c5d
Matt Mackall <mpm@selenic.com> [Wed, 23 Mar 2011 09:41:58 -0500] rev 13736
osutil: fix up check-code issues
Matt Mackall <mpm@selenic.com> [Wed, 23 Mar 2011 09:34:22 -0500] rev 13735
dirstate: flush _lastnormal when we see newer filesystem times
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 23 Mar 2011 09:43:34 +0100] rev 13734
util: add Mac-specific check whether we're in a GUI session (issue2553)
The previous test assumed that 'os.name' was "mac" on Mac OS X. This
is not the case; 'mac' was classic Mac OS, whereas Mac OS X has 'os.name'
be 'posix'.
Please note that this change will break Mercurial on hypothetical
non-Mac OS X deployments of Darwin.
Credit to Brodie Rao for thinking of CGSessionCopyCurrentDictionary()
and Kevin Bullock for testing.
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Wed, 23 Mar 2011 01:14:43 +0100] rev 13733
rebase: allow for rebasing descendants onto ancestors on different named branches
So far we've been denying rebasing descendants onto ancestors, but there are
situations in which this kind of operation makes perfect sense to me.
Let's say we have made a commit (or more), that belongs to branch 'dev', on
top of the named branch 'stable':
... a (stable) - b (dev)
but then we realize that b should belong to branch 'stable'.
In these cases a rebase means: "move these csets from named branch A to named
branch B" and there isn't a valid reason to deny it.
This patch basically doesn't block it, if source and destination are
on different named branches.
The old behaviour still applies for rebases across the same named branch.
Can you think of any tricky corner cases in which this new behaviour could
lead to problems? (I bet there are tons of them...)
By the way, I created a brand new .t because I feel there should be more
tests I can't think of at the moment.
Markus F.X.J. Oberhumer <markus@oberhumer.com> [Wed, 23 Mar 2011 02:33:24 +0100] rev 13732
bdiff.c: rename all variables which hold a hash value to "hash"
Markus F.X.J. Oberhumer <markus@oberhumer.com> [Wed, 23 Mar 2011 02:33:23 +0100] rev 13731
bdiff.c: use unsigned arithmetic for hash computation
Signed integer overflow is undefined in C.
Markus F.X.J. Oberhumer <markus@oberhumer.com> [Wed, 23 Mar 2011 02:33:22 +0100] rev 13730
bdiff.c: cast to unsigned char when computing hash value
Markus F.X.J. Oberhumer <markus@oberhumer.com> [Wed, 23 Mar 2011 02:33:21 +0100] rev 13729
bdiff.c: make all local functions static
Matt Mackall <mpm@selenic.com> [Wed, 23 Mar 2011 09:20:40 -0500] rev 13728
merge with stable