Commit Graph

5508 Commits

Author SHA1 Message Date
Matt Harbison
63a46b018b subrepo: propagate matcher to subrepos when archiving
Add a match object to subrepo.archive(). This will allow the -X and -I
options to be honored inside subrepos when archiving. They formerly
only affect the top level repo.
2012-06-16 22:34:06 -04:00
Matt Harbison
c16332f051 largefiles: fix the directory structure when archiving a subrepo in a subrepo
Previously, a repo consisting of main/sub/subsub archived sub and subsub as
siblings under main.
2012-06-18 23:02:51 -04:00
Matt Harbison
bf6dae387d largefiles: fix a traceback when archiving a subrepo in a subrepo
This regression was introduced in 310edb24b71f.
2012-06-17 21:57:48 -04:00
Patrick Mezard
e029e6740d convert: keep branch switching merges with ancestors (issue3340)
When running convert with a filemap, merge parents which are ancestors
of other parents are ignored. This is hardly a problem when parents
belong to the same branch, but the result could be confusing when named
branches are involved. With:

  -o-a1-a2-a3...     <- A
    \           \
     b1-b2-b3...-m-  <- B

If all b* revisions are discarded, it is useful to preserve 'm' even if
it is empty after filtering to record the branch switch.

This patch makes filemap preserve "ancestor parents" if there is no
"non-ancestor parent" on the same branch than the merge revision.

Remarks:
- I am not completely convinced by the reasons given above and those
  detailed by Matt in this thread:

http://selenic.com/pipermail/mercurial-devel/2012-May/040627.html

  The properties we try to preserve are not clearly defined. That said,
  I know this patch already helped someone on IRC and the tests output
  look reasonable.

- This is a new version of the original "convert: filemap must preserve
  fast-forward merges" patch. It has exactly the same output for 2
  parents merges, the additional complexity is here to handle more than
  two parents.
2012-06-18 18:19:28 +02:00
Bryan O'Sullivan
513bd920fa revset: ensure we are reversing a list (issue3530) 2012-07-04 09:38:07 -07:00
Adrian Buehlmann
0375fd2e33 test-keyword: adapt for Windows 2012-07-03 18:02:07 +02:00
Mads Kiilerich
1f1159f6c1 tests: don't use dates before epoch in test-keyword.t
Timezone offsets of less than a minute is not shown but can cause displayed
dates to be before epoch start - and dates before epoch start is not shown
correctly on Windows (see also e68101a876a4).

These 'negative' dates could be considered undefined behaviour so we don't care
and swap the tests values for timestamp and timezone.
2012-07-04 02:04:58 +02:00
Mads Kiilerich
c5b3c2bb33 tests: make test-convert-bzr.t more stable
The test would occasionally fail because datesort don't have sub-second
granularity and thus can't sort commits made in the same second.

The test is made more stable by adding 1 second of sleep to make sure the bzr
commits are done with different timestamps.
2012-07-04 01:45:28 +02:00
Joshua Redstone
07547a08a2 casecollision: add tests
Add more tests to exercise the case collion detection code
2012-06-27 12:37:01 -07:00
Joshua Redstone
5d6b6b4a44 dirstate: add dir/file collision test
Add a test exercising collisions in add between files and directories of the
same name.
2012-06-27 12:28:26 -07:00
Adrian Buehlmann
d0ed8e9722 test-subrepo-relative-path: partially adapt for Windows 2012-07-02 16:54:01 +02:00
Mads Kiilerich
e3835ef5ff tests: make rm of usercache in test-largefiles.t more robust
Recursive removal of a different path could be fatal - better avoid recursive
rm completely.
2012-07-03 01:49:51 +02:00
Matt Mackall
12d4bcf86f merge with crew 2012-07-01 21:19:57 -05:00
Mads Kiilerich
0585ab3757 tests: enable test-largefiles.t on Windows MSYS
The 'serve' requirement is moved to the sections that really need it.

$USERCACHE needs quoting.
2012-07-02 01:48:12 +02:00
Adrian Buehlmann
4c34d29e62 test-largefiles: partially adapt for Windows
The adaption is partial, because "serve" is not yet officially supported in
tests on Windows.

The test passes on Windows with an experimental testbed that supports
hg serve in tests on Windows - except for some USERCACHE issues.

The added (glob)'s are needed because of backslash <-> shlash issues in paths.
2012-06-30 19:31:03 +02:00
Mads Kiilerich
e1e9922b2d tests: make histedit pass on Windows MSYS
The command file will now be named with $TESTTMP (with '\') instead of `pwd`
(with '/') to avoid wrong path conversions.
2012-07-02 01:47:59 +02:00
Mads Kiilerich
9fd035159b tests: make histedit tests more resilient to filesystem variation
Better quoting of odd filesystem paths and no dependency to execute bit.
2012-06-30 03:34:50 +02:00
Mads Kiilerich
db710d2031 tests: convert histedit tests to .t
Mostly a trivial conversion.
2012-06-30 03:34:44 +02:00
Mads Kiilerich
7c32277ff3 histedit: use stable iteration order for processing bookmarks
Random dict iteration order caused test failure in
test-histedit-bookmark-motion.t.
2012-06-30 03:34:41 +02:00
Augie Fackler
47d370a444 test-histedit-edit: improve coverage of histedit code 2012-06-27 18:41:14 -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
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
Idan Kamara
bcb7450401 amend: disable hooks when creating intermediate commit (issue3501) 2012-06-23 19:57:29 +03: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
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
Thomas Arendsen Hein
bbd22fd92b merge with crew-stable 2012-06-26 14:32:20 +02:00
Thomas Arendsen Hein
90f293b489 convert/bzr: make tests work with bzr 2.0 again
bzr ci --commit-time was introduced in 2.1
bzr add without -q prints "adding" in 2.1, "added" in 2.0
2012-06-26 12:17:40 +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
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
Matt Mackall
36aa7282e4 merge with crew 2012-06-21 17:37:02 -05:00
Martin Geisler
d22efb8f52 merge with stable 2012-06-21 15:10:01 +02:00
Adrian Buehlmann
41fcaa827d test-http and test-https: partially adapt for Windows 2012-06-19 19:45:00 +02:00
Eduard-Cristian Stefan
bdebec155d test-subrepo-git.t: 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-20 02:09:49 +03:00
Adrian Buehlmann
938a48ede9 test-bookmarks-pushpull: partially adapt for Windows
The kill call at the end is redundant, as we already have

199:  $ hg serve -p $HGPORT -d --pid-file=../hg.pid -E errors.log
200:  $ cat ../hg.pid >> $DAEMON_PIDS

So there is nothing left that would not already be killed by the $DAEMON_PIDS
mechanism.
2012-06-20 18:02:01 +02:00
Adrian Buehlmann
af62deef88 test-static-http: partially adapt for Windows 2012-06-19 19:28:55 +02:00
Adrian Buehlmann
2b98836d65 test-bad-pull: partially adjust for Windows
On a English Windows 7, the testcase fails with

  $ hg clone http://localhost:$HGPORT/ copy
  abort: error: No connection could be made because the target machine actively refused it

Since the error message on non-English Windows installs are most likely
different, we have to glob the entire error message away for Windows.
2012-06-19 17:05:04 +02:00
Mads Kiilerich
a8107f523f tests: consistently use printenv.py the same MSYS/Windows-compatible way
This will remove some reasons some tests are disabled on Windows.
2012-06-21 03:05:02 +02:00
Mads Kiilerich
1fda0b1af1 tests: prepare get-with-headers.py for MSYS
get-with-headers.py took the http GET parameter as a command line parameter
that had to start with '/'. MSYS on windows will mangle such paths.

Instead of applying a workaround everywhere (such as an extra '/') we let
get-with-headers.py add the mandatory '/'. That is consistent with the
url path handling in the Mercurial url class.

A few tests sent 'GET ?cmd=...' which is invalid. They will now send 'GET
/?cmd=...'.

This will not enable any tests for being run on windows - only remove one
reason they were disabled.
2012-06-21 03:05:02 +02:00
Mads Kiilerich
490f13d607 tests: hghave outer-repo should be true even if a bad repo is found
Only the abort message 'no repository found' is a reliable indication that
there is no outer repo.
2012-06-20 23:41:21 +02:00
Mads Kiilerich
ccfffc07ba tests: add missing no-outer-repo requirements
Outer repos (if any) will now never be touched by the tests. But it is better
to run without any repos around the tmp directory.
2012-06-20 23:41:21 +02:00
Mads Kiilerich
db42f91a88 tests: convert some 'hghave no-outer-repo' to #if
In some places we instead use 'hg init' to create a well-known outer repo
without any special extensions or other config settings.
2012-06-20 23:41:21 +02:00
Thomas Arendsen Hein
1dffad0c67 tests: remove execute permission from two unified test files 2012-06-20 17:04:30 +02:00
Thomas Arendsen Hein
ad3dbec4ae graft: allow -r to specify revisions 2012-06-20 17:02:43 +02:00
Thomas Arendsen Hein
9e0f26649a mq: abort if no files or revisions are specified for qimport 2012-06-20 16:22:58 +02:00
Mads Kiilerich
f7215835a1 tests: convert some hghave unix-permissions to #if 2012-06-19 01:43:41 +02:00