Commit Graph

17204 Commits

Author SHA1 Message Date
Adrian Buehlmann
388dfb8323 help: explain effect of .hgignore on tracked files 2012-07-02 00:31:22 +02:00
Adrian Buehlmann
f4e0fd8be9 hgignore: simply ignore all *.exe's everywhere
it's not like we're going to add any exe anywhere ever
2012-07-01 10:06:16 +02:00
Mads Kiilerich
43fde17e2d tests: ignore pax_global_header in test-subrepo-git.t
Failure seen on hgbuildbot 2.4 and 2.5 after a62fb0987502.

Hide '../archive_x/s/pax_global_header' with same strange trick as in
686775e575f3.
2012-07-05 02:25:49 +02:00
Mads Kiilerich
8ba44477e6 tests: remove GNU quoting in test-subrepo-deep-nested-change.t
Test failure on non-GNU systems introduced in a62fb0987502.
2012-07-05 01:47:17 +02:00
Mads Kiilerich
b5842551c2 tests: add '(glob)' for Windows paths in test-subrepo-deep-nested-change.t
Test failure was introduced in a62fb0987502.
2012-07-05 00:51:05 +02:00
Mads Kiilerich
2108c6e927 check-code: verify that 'saved backup bundle to ...' is '(glob)'ed
This is the most frequent trivial reason tests fail on Windows.
2012-07-05 00:49:26 +02:00
Mads Kiilerich
2a09e8d38f tests: fix test markup in test-merge-types.t
d727e5b3202b introduced some tests that because of incorrect indentation wasn't
run.
2012-07-05 00:35:42 +02:00
Adrian Buehlmann
7d6945259d test-hgweb-diffs: partially adapt for Windows
Since chmod isn't supported on Windows (or vfat), I'm importing a here-doc
instead (<<EOF ..).

Option --bypass on import of the here-doc is required on Windows (or vfat) to
bypass the working directory (see hg help import). Not using --bypass would
lose the mode changing bits.

I've had to insert a --bypass on the preexisting import call futher down in the
test, because importing a patch with --exact and mode changes will fail on
Windows (and vfat).

As the point of this test is not to test commit, I'm using the import
procedure for all platforms unconditionally, that is, I'm intentionally not
keeping the original sequence of hg and chmod calls for platforms that support
exec either, which saves us having to insert an #if exec ... #else ... #endif.
2012-07-04 12:43:13 +02:00
Augie Fackler
a0a7fde1c9 histedit: mark as a first party extension 2012-06-28 08:45:38 -05:00
Augie Fackler
99e113bc35 histedit: remove use of reduce() builtin spotted by check-code 2012-06-27 18:42:48 -05:00
Augie Fackler
47d370a444 test-histedit-edit: improve coverage of histedit code 2012-06-27 18:41:14 -05:00
Augie Fackler
8f661724bc histedit: fix most check-code violations 2012-06-27 18:35:33 -05:00
Augie Fackler
533a952be8 histedit tests: fix check-code problems 2012-06-27 18:34:31 -05:00
Augie Fackler
526a183684 histedit: new extension for interactive history editing 2012-06-27 17:52:54 -05:00
Adrian Buehlmann
e634568f0e exewrapper: use generic term script
The exewrapper doesn't know anything so far about what the script is or does.
2012-06-29 08:10:43 +02:00
Adrian Buehlmann
675c7eeaef Makefile: add build_hgexe -i for local 2012-06-29 13:12:35 +02:00
Adrian Buehlmann
7e44d18d42 setup: compile hg.exe
This implements a new command

  $ python setup.py build_hgexe -i

which places the hg.exe in the root of the source tree.
2012-06-29 13:10:48 +02:00
Adrian Buehlmann
156618ffc9 test-commit-amend: adapt for Windows after 90349a7a3b8f 2012-06-29 15:21:35 +02:00
Matt Mackall
61aa1f42b8 merge with stable 2012-06-29 00:40:52 -05:00
Adrian Buehlmann
ae3fe9a6e0 exewrapper: adding new exewrapper.c 2012-06-29 00:01:19 +02:00
Christian Ebert
01fcbdd680 keyword: use ui.formatter for kwfiles output 2012-06-28 15:06:41 +01:00
Bryan O'Sullivan
26f2c363fd revlog: make compress a method
This allows an extension to optionally use a new compression type based
on the options applied by the repo to the revlog's opener.

(decompress doesn't need the same treatment, as it can be replaced using
extensions.wrapfunction, and can figure out which compression algorithm
is in use based on the first byte of the compressed payload.)
2012-06-25 13:56:13 -07:00
Na'Tosha Bard
1ffeefa9fa largefiles: batch statlfile requests when pushing a largefiles repo (issue3386)
This implements a part of issue 3386.  It batches the request for the status of
all largefiles in the revisions that are about to be pushed into a single
request, instead of doing N separate requests.

In a real world test case, this change was verified to save 1,116 round-trips to
the server.  It only requires a client-side change; it is backwards-compatible
with an older version of the server.
2012-06-24 20:36:22 +02:00
Pierre-Yves David
100b68ca2e obsolete: write obsolete marker inside a transaction
Marker are now written as soon as possible but within a transaction. Using a
transaction ensure a proper behavior on error and rollback compatibility.

Flush logic are not necessary anymore and are dropped from lock release.

With this changeset, the obsstore is open, written and closed for every single
added marker. This is expected to be highly inefficient and batched write should
be implemented "quickly".

Another issue is that every flush of the file will invalidate the obsstore
filecache and trigger a full re instantiation of the repo.obsstore attribute
(including, reading and parsing entry). This is also expected to be highly
inefficient and proper filecache operation should be implemented "quickly" too.

A side benefit of the filecache issue is that repo.obsstore  object is properly
invalidated on transaction abortion.
2012-07-04 02:21:04 +02:00
Pierre-Yves David
587d4505e1 obsolete: append new markers to obsstore file instead of rewriting everything
This is the second step toward incremental writing of marker inside a
transaction. The obsstore file is now handled append only.

Header writing have been extracted from _writemarkers.

Because the _writemarkers method have been dropped, the push code
directly reuse the serialised content of local repo `listkeys`. This
is not very pretty, but this part of the protocol still need major
improvement anyway.
2012-07-04 02:02:48 +02:00
Pierre-Yves David
3fa4ff72f7 obsolete: move obsolete markers read/write logic to obsstore object
This is the first step toward incremental writing of obsolete marker within a
transaction.

For this purpose, obsstore is now given its repo sopener. This make it able to
handles read and write to the obsstore file itself. Most IO logic is removed
from localrepo and handled by obsstore object directly.
2012-07-04 02:00:36 +02:00
Matt Mackall
b02cfbb12b debugobsolete: remove spurious ctx from variable name
'contexts' are objects like the ones described in context.py, not
anything that describes a situation.
2012-07-11 18:35:14 -05:00
Idan Kamara
bcb7450401 amend: disable hooks when creating intermediate commit (issue3501) 2012-06-23 19:57:29 +03:00
Idan Kamara
7875dccb0b ui: add a variable to control whether hooks should be called
So hooks can be temporarily disabled.
2012-06-23 19:57:07 +03:00
Pierre-Yves David
49188ab1f7 strip: update help to state than you can strip public changeset
Multiple people have been confused by it.
2012-06-28 18:39:16 +02:00
David Schleimer
de4c701f51 bookmarks: correctly update current bookmarks on rebase (issue2277)
When you rebased with a currently active bookmark, that bookmark would
always point at the new tip, regardless of what revision it pointed at
before the rebase.

All bookmarks will now point at the equivalent post-rebase commit.
However, the currently active bookmark will cease to be active unless
it points at the new tip post-rebase.  Rebase will always leave the
new tip as the working copy parent, which is incompatible with having
an active bookmark that points at some other revision.  The common
case should be that the active bookmark will point at the new tip
post-rebase.
2012-06-22 11:40:31 -07:00
Wagner Bruna
9ee135f30f i18n-pt_BR: synchronized with 9e1c386d48be 2012-06-22 10:19:56 -03:00
Wagner Bruna
20ecdc31fe merge with i18n 2012-06-22 10:14:21 -03:00
Pierre-Yves David
d4f8bfb950 discovery: simplify branchmap construction against legacy server
All necessary data to fire a simple revset query are already known. No call to
ancestors are needed. Such ancestors calculation was already done to compute
outgoing.missing.
2012-06-22 12:17:49 +02:00
Matt Mackall
cbbdbdd866 copies: re-include root directory in directory rename detection (issue3511) 2012-06-27 13:41:04 -05:00
Bryan O'Sullivan
47b1cf0c50 store: sort filenames in place 2012-06-25 15:14:05 -07:00
Mads Kiilerich
278667f10c convert: check for failed svn import in debugsvnlog and abort cleanly
'hg debugsvnlog' failed with a crash when using the uninitialized transport in
get_log_child if the import of the svn libraries had failed.

'convert' should never get as far as launching 'hg debugsvnlog' if the svn
libraries are missing, but by launching a subprocess there is risk that the
environment is mangled so the second import fails.

It is in principle also possible to launch the command manually.
2012-06-29 01:51:48 +02:00
Mads Kiilerich
37140b89be convert: accept Subversion 'file:///c%3A/svnrepo' syntax on Windows
Subversion can handle ':' quoted as '%3A' but urllib.url2pathname can't and
Mercurial thus rejected some valid subversions URLs.

This particular case will now be handled by some preprocessing before handing
it over to urllib.url2pathname.

This is tested by a0c992a723f9 when test-convert-svn-source.t and
test-convert-svn-move.t can be run on Windows.
2012-06-28 03:41:37 +02:00
Adrian Buehlmann
bc646a116e win32: remove uneeded usage of _STARTF_USESHOWWINDOW
spawndetached() was the only user of _STARTF_USESHOWWINDOW and it creates the
process with _CREATE_NO_WINDOW anyway. If the process has no window, then
there is nothing to hide.
2012-06-25 19:26:29 +02:00
Adrian Buehlmann
d8571d886c win32: specify _CREATE_NO_WINDOW on spawndetached()
Before this change, a console window briefly popped up on "hg serve -d" and
disappeared again, stealing the focus window (which was very annyoing when
running tests).

Specifying _CREATE_NO_WINDOW instead of _DETACHED_PROCESS fixes this (as tested
on Windows 7 x64).
2012-06-25 19:11:29 +02:00
Mads Kiilerich
b4bee4c024 tests: add missing path globbing for Windows in svn tests 2012-06-27 02:34:58 +02:00
Sune Foldager
77ac86c2b5 fix push of moved bookmark when creating new branch heads
The problem occured when pushing a changeset that at the same time creates a
new named branch head and moves a bookmark. The code invoked methods that only
exist on localrepo instances, so it failed for any other type of remote. The
test suite only tested against local remotes.
2012-06-26 23:05:25 +02:00
Matt Mackall
4a2b436e62 merge with stable 2012-06-26 15:08:10 -05:00
Bryan O'Sullivan
4bb35317bc scmutil: speed up new-style range extension
This improves perfrevset performance by 10% for 2222::33333 on a
kernel repo.
2012-06-22 12:00:41 -07:00
Thomas Arendsen Hein
bbd22fd92b merge with crew-stable 2012-06-26 14:32:20 +02:00
Mads Kiilerich
b584158b6d tests: cleanup of svn url handling
The subversion tests used different tricks to create properly encoded URLs,
partly due to partial support for different ways of running the tests on
windows. Now we only need/support one way of running the tests on windows.

Windows URLs should look like 'file:///c:/foo%20bar' and on Unix platforms
like 'file:///tmp/baz'.

'pwd' in the test framework will on Windows emit paths like 'c:/foo bar'.
Explicit handling of backslashes in paths is thus no longer needed and is
removed.  Paths on windows do however need an extra '/' compared to other
platforms.

This change makes test-subrepo-svn.t pass on windows with msys. Other tests
might need more work.
2012-06-26 03:35:22 +02:00
Eduard-Cristian Stefan
171e65bf7f test-subrepo-svn.t: partially adapt for Windows
hg forget 'notafile*' is changed to use a name that is valid on Windows so we
still get the same error ... but the error message is disabled because it
varies with the Windows version.
2012-06-23 19:54:08 +03:00
Mads Kiilerich
f9f38dc7f8 convert: ignore svn:executable for subversion targets without exec bit support
Calling propset/propdel with subversion 1.6 on FAT gave
  abort: svn exited with status 256
and made test-convert-hg-svn.t and test-convert-svn-sink.t fail. 1.7 worked.

This is a rework of 5ba59c098f03 but ignores the executable bit when it isn't
supported instead of using an approximation.
2012-06-24 17:06:47 +02:00
Mads Kiilerich
c6829a39d5 tests: add missing 'backup bundle' path glob in test-rebase-collapse.t
Introduced by f071275fac59.
2012-06-22 02:39:52 +02:00
Mads Kiilerich
ebd808f364 tests: add missing 'backup bundle' path glob in test-rebase-scenario-global.t
Introduced by d13aaf5669b3.
2012-06-22 00:52:14 +02:00