Dan Villiom Podlaski Christiansen
d5600d0016
Get rid of .hg/svn/last_rev:
...
We now calculate the last known revision by iterating over all known
revisions and finding the highest number. Theoretically, we might be
able to simply read the latest entry, but in practice, that's a bug
waiting to happen. For instance, we might want to achieve
compatibility with '.hg/shamap' as generated by the
ConvertExtension, and it not only cannot offer a guarantee of
linearity, but it also allows more than one conversion to source exists.
I'd say we have other problems to care about until this turns up as a
hotspot in profiling. Such as why we leak circa 100MB of memory per
1000 revisions converted ;)
2009-03-27 01:09:36 +01:00
Augie Fackler
6b854b9187
fetch: Fix a bogus case where no files in the root level of trunk caused breakage in the branch detection.
2009-03-09 12:01:40 -05:00
Augie Fackler
7f302f14cd
test_rebuildmeta: Remove the "expected missing" hack now that the branch refactor fixed that problem.
2009-03-03 00:02:09 -06:00
Augie Fackler
5771c60c73
Refactor branch handling to be much more dynamic (and hopefully robust).
...
This should allow fixing of several outstanding issues with branch handling. Note that this is a *massive* change to one of the oldest parts of hgsubversion, so it might introduce bugs not caught by the testsuite.
2009-03-02 23:58:38 -06:00
Augie Fackler
9cbde47428
Stop allowing "missing" branches in the tests, since that is fixed by the branch refactor.
2009-03-02 23:54:32 -06:00
Augie Fackler
23ef2a31d9
Be more explicit about which branch I'm checking.
2009-03-02 23:54:14 -06:00
Augie Fackler
8a85f21bcb
Add a genignore utility command that generates an hgignore file by scraping svn:ignore properties.
2009-02-24 14:30:21 -06:00
Augie Fackler
7c17f8a473
Remove useless imports.
2009-01-21 20:29:23 -06:00
Augie Fackler
4626e889e8
Add some comprehensive tests that can be run with nose in order to make it easier to verify stupid and real replay do the same thing.
2009-01-21 20:27:51 -06:00
Patrick Mezard
91ce6eb557
Do not recurse for externals on copied directory in stupid mode
...
We inherit the source externals, changes to children will appear in the
changelog.
2009-01-14 23:17:13 -06:00
Patrick Mezard
f3f120cc99
test_externals: test branch copy, use absolute externals
2009-01-14 23:17:12 -06:00
Benoit Boissinot
4097b5cf15
remove generators (compat with python2.3)
2009-01-13 15:39:22 +01:00
Graham Booker
8b8a5894cd
Fetch: add a filemap argument for use in converting old repositories to
...
Mercurial.
2009-01-03 20:15:03 -06:00
Patrick Mezard
8fb27961b4
test_utility_commands: fix normalized URL references under Windows
2009-01-02 15:54:07 -06:00
Patrick Mezard
c17e74afd3
Really delete the .hgsvnexternals file when explicitely removed
2009-01-02 15:54:06 -06:00
Patrick Mezard
5629bbe05a
Support svn:externals changes via .hgsvnexternals updates
2009-01-02 15:54:05 -06:00
Patrick Mezard
ae52abfad6
Convert svn:externals properties into a .hgsvnexternals file
2009-01-02 15:54:05 -06:00
Patrick Mezard
980ed94914
test_util: check all committed revisions are pushed
2008-12-30 20:33:57 -06:00
Patrick Mezard
f64f7be3b4
fetch_command: cancel patching when encountering binary diffs
...
Mercurial patching code does not support hunks with embedded nul characters.
2008-12-30 20:33:56 -06:00
Augie Fackler
42010019a9
authormap: Add tests, fix in stupid mode.
2008-12-30 20:14:03 -06:00
Augie Fackler
135487c29b
info: Actually determine and show the repo root.
2008-12-30 10:12:16 -06:00
Augie Fackler
c356268aac
Import cleanup thanks to pyflakes.
2008-12-24 11:17:50 -06:00
Augie Fackler
3c2aac4c1a
utility_commands: Test outgoing and fix it to work again.
2008-12-24 11:12:23 -06:00
Augie Fackler
6f8b90fbad
utility_commands: Implement rebuildmeta so that metadata can be rebuilt.
...
hg_delta_editor: Fixed some longstanding branch_info bugs detected while
rebuilding meta.
2008-12-23 22:19:26 -06:00
Augie Fackler
c6cb3f3922
fetch: Refactor extra creation to be shared by real and diff replay.
...
Add convert-compatible meta information to extra.
2008-12-23 11:10:32 -06:00
Augie Fackler
bb1ad558ba
tests: Fix some missing suite definitions so that running the full testsuite
...
does not require installing nose.
2008-12-23 17:45:34 -06:00
Augie Fackler
59a1a426b6
push: Improved the rebasing logic for push so that it doesn't break with
...
keeping branch names during rebase.
2008-12-22 21:21:11 -06:00
Augie Fackler
a8a83f58cc
rebase: preserve local branch names.
...
Note: this commit introduces a dependency on Mercurial 1.1.1 or later.
2008-12-22 21:20:10 -06:00
Augie Fackler
8ec19e30a3
tests: Add an environment variable (HGSUBVERSION_TEST_TEMP) which allows
...
specification of where temporary repositories (both hg and svn) should be
created. Set it to a RAM disk to make the tests run faster.
2008-12-20 19:13:46 -06:00
Augie Fackler
2377a3ba9f
Improve branch closing in the case of a single-rev replacement of one branch
...
with another. Includes a test case.
2008-12-20 19:04:59 -06:00
Patrick Mezard
d7fb402a05
hg_delta_editor: reset properties of deleted entries
...
Otherwise, in case of entry replacement the properties are incorrectly
inherited.
2008-12-15 21:57:10 -06:00
Patrick Mezard
d194742e5b
test_fetch_command: test file and directory deletions
2008-12-15 21:39:35 -06:00
Augie Fackler
2b165f10a7
util: Add a command to normalize svn urls and use it in a couple of places. Test that it works and prevents failed assertions.
2008-12-11 20:41:57 -06:00
Augie Fackler
dd6ddc6cc1
utility_commands: Add tests for url and info. Fix a bad mock in the process.
2008-12-11 20:24:48 -06:00
Augie Fackler
5c3930383a
diff_cmd: more robust, add tests.
2008-12-11 19:49:36 -06:00
Augie Fackler
5a6b6fb661
Fix an apparent regression where branch name didn't get properly stored for
...
commits forced on empty branches.
2008-12-11 17:34:33 -06:00
Augie Fackler
b504f748bf
tests: Fix a missing pass of stupid=True.
2008-12-11 17:19:43 -06:00
Augie Fackler
245956d4eb
hg_delta_editor: fix bad parent revision calculation in the case of a branch
...
recycling a name.
Also implemented marking branches as closed in both replay and stupid paths.
2008-12-10 14:29:05 -06:00
Patrick Mezard
cca43db578
test_fetch_renames: test file and directory case changes
2008-12-10 11:03:23 -06:00
Patrick Mezard
4962def957
hg_delta_editor: fix parent revision detection on branch copy
...
Project items copyfrom revisions are irrelevant to parent revision detection,
only the project one or those of its ancestors matter. Items copyfrom is
useful when retrieving items content.
Former code resulted in incorrect converted graph for pyglet repository,
especially on the following revision:
------------------------------------------------------------------------
r274 | r1chardj0n3s | 2006-12-21 02:02:14 +0100 (Jeu, 21 Dec 2006) | 2 lines
Changed paths:
A /branches/richard-glx-version (from /trunk:269)
M /branches/richard-glx-version/pyglet/window/xlib/__init__.py
R /branches/richard-glx-version/tests/test.py (from /trunk/tests/test.py:270)
R /branches/richard-glx-version/tools/info.py (from /trunk/tools/info.py:272)
R /branches/richard-glx-version/website/get_involved.php (from /trunk/website/get_involved.php:273)
Branching to horribly mangle GLX
2008-12-10 11:03:22 -06:00
Patrick Mezard
ab83ba2548
test_fetch_rename: test content of files coming from the past
2008-12-10 11:03:22 -06:00
Patrick Mezard
a9f4c82415
run.py: register and develop test_fetch_symlinks
2008-12-10 11:03:19 -06:00
Patrick Mezard
cc0dbae2c2
Move and complete execute bit conversion tests into test_fetch_exec.py
2008-12-10 11:03:18 -06:00
Luke Opperman
beecf48b3b
tag_repo: remove gentags command, extend repo.tags(), HgChangeEditor now takes either repo or repo_path
2008-12-04 13:10:40 -06:00
Patrick Mezard
f378fe3193
hg_delta_editor: do not assume branches are copied from trunk by default
...
Here is what happen in jquery repository:
- kelvin-dev branch is created in r1617 with an empty directory for the
datePicker plugin
- commits are done
- datePicker plugin is merged in trunk
Before the fix, the converter assumed the initial empty commit had for parent
some other commit of trunk, therefore adding all its files, which was wrong.
And we ended with 'alignDemo.html' in converted trunk@5946 while it was not in
the source revision.
2008-11-29 11:25:01 -06:00
Patrick Mezard
a8d51edac3
hg_delta_editor: fix update of stray files in branches/
...
Ensure that self.current_file is a non-empty path in a branch.
2008-11-29 11:25:01 -06:00
Patrick Mezard
ede6bdfce9
fetch_command: ignore stray files in branches/ in non-diff mode
2008-11-29 11:25:01 -06:00
Patrick Mezard
05423736da
Add a disabled test for unrelated branches
...
The fix is not obvious but preserving the test helps fixing other stuff.
2008-11-29 11:25:01 -06:00
Augie Fackler
4ec9620b80
Fix a regression in converting repositories with files copied in from outside
...
branches/tags/trunk where repo root != project root.
2008-11-25 16:21:57 -06:00
Augie Fackler
0b3d81a7d5
fetch_command: Fix mis-converted executable when svn:executable was set to the
...
empty string.
2008-11-25 09:45:38 -06:00