Commit Graph

977 Commits

Author SHA1 Message Date
Patrick Mezard
7fe80a4355 Check mercurial/third-parties push conditions before pushing
This prevents pushing MQ applied patches without --force.
2011-02-01 00:25:59 +01:00
Patrick Mezard
8f8eb31e49 svnexternals: missing EOL in ui.warn() 2011-01-20 09:57:26 +01:00
Patrick Mezard
a1668ff58e svnexternals: update subrepo after mercurial changes 2011-01-23 22:41:42 +01:00
Augie Fackler
82438b9e5f Merge backout of f9733bec1b30. 2011-01-16 22:50:51 -06:00
Augie Fackler
50a29ad9e0 Backed out changeset f9733bec1b30
This was causing breakage with hg-git installed, and I'm more tired of
user gripes that hg-git and hgsubversion are incompatible than of
hearing complaints about doubled authentication prompts.

Hopefully at some point we can do better than this.
2011-01-16 22:49:16 -06:00
Patrick Mezard
e589fdc17c svnexternals: add ignoreupdate param to svnsubrepo.dirty()
This change was brought by Mercurial in 55e4073493fc
2011-01-07 19:21:02 +01:00
Dan Villiom Podlaski Christiansen
881a293367 clone: pass on the repository instance rather than the string given
Previously, cloning a Mercurial repository that required
authentication would prompt for authentication twice. This is because
hgclonewrapper() first created a repository instance, but didn't pass
it on. hg.close() would then create another instance, and since
Mercurial doesn't cache authentication credentials across instances,
this would cause a second credential prompt.

This change could have unfortunate side effects in case of other
extensions wanting to modify the source passed to clone. This seems
like a somewhat unlikely scenario. I'll think about a possible way to
avoid all this hackery...
2010-12-14 12:09:27 +01:00
Patrick Mezard
27afa02659 svnexternals: add 'ignore' mode to avoid converting externals 2010-12-12 15:32:25 +01:00
Patrick Mezard
ac24c74682 Document subrepository externals 2010-12-12 15:14:07 +01:00
Dan Villiom Podlaski Christiansen
e2d430ddcd svn verify: fix specifying URL on the command line 2010-11-30 02:55:05 +01:00
Augie Fackler
5825235675 svnmeta: properly reference self.ui instead of ui 2010-11-29 23:17:07 -06:00
Dan Villiom Podlaski Christiansen
b38c7af4f2 test_util: make manifest filter use shared list of files to ignore 2010-11-30 02:54:11 +01:00
Dan Villiom Podlaski Christiansen
60033143f1 incoming: pass unexpanded source to wrapped function (fixes #178)
This will allow the MQ extension to use paths from the patch repository.
2010-11-29 11:50:55 +01:00
Dan Villiom Podlaski Christiansen
4017f2b831 make the default substition for an empty commit description the empty string 2010-11-28 03:53:34 +01:00
Dan Villiom Podlaski Christiansen
e7e5d3b8b5 configurable substitution for empty commit message (fixes #195)
The value of the default commit message is now configurable by setting
'hgsubversion.defaultmessage'. In addition, the log output is made
consistent with the result of the conversion.
2010-11-28 03:47:04 +01:00
Dan Villiom Podlaski Christiansen
78b7119fc3 test_fetch_mappings: actually test stupid mode in test_author_map_no_author() 2010-11-28 03:46:51 +01:00
Dan Villiom Podlaski Christiansen
14f74ad8ea add a MANIFEST.in file (fixes #142)
This ensures that source archives include help, tests and our Makefile.
2010-11-29 11:50:56 +01:00
Dan Villiom Podlaski Christiansen
fc2c8f58bb tests: fix running the comprehensive tests using nose. 2010-11-29 11:53:57 +01:00
Augie Fackler
5821f680b6 docs: document new config knob for externals support 2010-11-28 20:37:19 -06:00
Patrick Mezard
7c58c1f2dd svnexternals: support pushing subrepo based externals 2010-11-25 21:55:21 +01:00
Patrick Mezard
8197cf8bac svnexternals: support subrepos based externals checkout 2010-11-25 21:55:21 +01:00
Patrick Mezard
fe5402cb96 svnexternals: preliminary support for subrepos based externals
At this point, only pulling externals definitions into .hgsub and .hgsubstate
is supported. One difference between subrepos and svn:externals is the former
separate the source definition and target revision in two files, while
svn:externals definitions contain both. To handle this, the svn:externals
revision references is replaced with a {REV} placeholder and stored in .hgsub,
prefixed with the external base directory separated with a ':', while the
revision is extracted in .hgsubstate.

For instance, the following external:

    -r3 ^/externals/proj2@2 deps/proj2

Becomes:

    (.hgsub)
    deps/proj2 = [hgsubversion] :-r{REV} ^/externals/proj2@2 deps/proj2

    (.hgsubstate)
    3 deps/proj2
2010-11-25 21:55:21 +01:00
Patrick Mezard
a0bae52693 svnexternals: generate externals with a revision placeholder
This is the first step to separate source URL from revision identifier as
required by subrepos.
2010-11-25 21:55:21 +01:00
Patrick Mezard
0cb57d1778 Extract files not to be pushed in util 2010-11-19 20:14:04 +01:00
Patrick Mezard
3213066d78 svnexternals: keep diff() simple for the caller, return a list 2010-11-19 17:07:13 +01:00
Patrick Mezard
8b65a18ce1 svnexternals: hide .hgsvnexternals parsing in parse() 2010-11-19 17:07:13 +01:00
Patrick Mezard
0d44eb9a98 pull: stop handling .hgsvnexternals explicitely in memctx 2010-11-19 17:07:13 +01:00
Patrick Mezard
9c29cc4a3d replay: extract externals updating from convert_rev()
Partially revert 8eae0ac6bb36
2010-11-19 17:07:13 +01:00
Dan Villiom Podlaski Christiansen
1618736125 svn metacommand: improved argument checking
We now fail gracefully in case of a missing or invalid argument to
'update', and in case of an unknown subcommand.
2010-11-18 14:03:39 +01:00
Dan Villiom Podlaski Christiansen
ee2c3c6bcd svncommands: abort on missing metadata or Subversion URL (fixes #226) 2010-11-18 14:03:26 +01:00
Dan Villiom Podlaski Christiansen
bc63b9d91e rename our uisetup initialization method into extsetup
We're not doing any ui-specific setup, so we can use the old form and
remain compatible with Mercurial 1.3.
2010-11-18 09:06:06 +01:00
Dan Villiom Podlaski Christiansen
43a2dce0fb revsets: add docstrings. 2010-11-17 16:31:48 +01:00
Dan Villiom Podlaski Christiansen
a5d009205e wrappers: pass on subdir when creating obtaining svnmeta
The incoming, outgoing and push commands are updated. Running any of
parents, diff and rebase as the first command will fail, suggesting an
'hg svn rebuildmeta'.
2010-11-17 11:48:58 +01:00
Dan Villiom Podlaski Christiansen
1b66ffbe1c svnremoterepo: remove unused 'svnuuid' property 2010-11-17 11:48:56 +01:00
Augie Fackler
371eb692b1 pull: handle change in termwidth() api from hg change b9a8e84a8bb7 2010-11-14 19:07:20 -06:00
Dan Villiom Podlaski Christiansen
ea9b4dae0d svnmeta: store subdir in a file, and verify it when loading. 2010-11-12 19:22:20 +01:00
Dan Villiom Podlaski Christiansen
7956b40166 svnmeta: slight refactor of the UUID property.
Simplify the getter by setting self.__uuid in the setter.
2010-11-14 14:05:54 +01:00
Dan Villiom Podlaski Christiansen
341229e195 svnmeta: abort when no UUID given and none is stored on disk.
Previously, not passing a UUID when instantiating an SVNMeta instance
would cause it to succeed even if no UUID was previously known. First
when the UUID was actually read would an exception be raised.

This slight refactoring of _set_uuid() makes it so an exception is
raised immediately. While at it, the exception message is changed to
be slightly more accurate and helpful.
2010-11-11 21:32:22 +01:00
Dan Villiom Podlaski Christiansen
1421248efb svnmeta: cache the UUID in an attribute.
We use a try/except clause in the getter to keep complicated logic in
the setter.
2010-11-11 21:30:31 +01:00
Dan Villiom Podlaski Christiansen
550743d337 tests: make assertMultiLineEqual call super, if possible.
Python 2.7 provides such a method.
2010-11-11 21:30:31 +01:00
Dan Villiom Podlaski Christiansen
945db21a4e test_utility_commands: use self.assertMultiLineEqual().
The previous assertStringEqual() utility method pointed to standard
output. This is fairly annoying when running our own test-runner as it
suppresses that output. The assertMultiLineEqual() method shows
essentially the same information in the AssertionError itself.

While at it, all other comparisons that contain line-breaks are made
to use assertMultiLineEqual().
2010-11-11 21:30:31 +01:00
Dan Villiom Podlaski Christiansen
a914120eaf remove redundant calls to fd.flush() prior to doing fd.close(). 2010-11-09 13:49:30 +01:00
Dan Villiom Podlaski Christiansen
266d07be60 editor: handle property changes to links.
Previously, property changes to links caused 'link ' to be prepended
to the link destination. Removing a line that prepended it in
Revision::set() appears to fix it. In these cases, the "file marked as
link, but contains data" warning might be triggered. This should be
safe, so it's lowered to a note and the language made less conclusive.

In order to test this, extra revisions are added to the
'symlinks.svndump' fixture. As one of the new revisions add a link
that points to 'link to this', a check that asserted that link
destinations must not start with 'link ' was removed. This change is
safe, as the test later on asserts exact equality with the contents of
the 'links' dictionary.
2010-11-09 13:05:16 +01:00
Dan Villiom Podlaski Christiansen
4305e3545f help topic: numerous cleanups.
Many of these are thanks to timeless' review!
2010-11-04 18:24:18 +01:00
Patrick Mezard
5f20856c4b stupid: handle patch.iterhunks() changed brought by 909cb420154c 2010-11-03 22:03:42 +01:00
anatoly techtonik
51b4a561d4 usage examples for single directory clones 2010-10-25 16:20:32 +03:00
Dan Villiom Podlaski Christiansen
594b08e65f help topic: mention how "hg clone" can delete stuff.
This quip was requested by Steve Borho.
2010-10-30 19:58:32 -05:00
Dan Villiom Podlaski Christiansen
2fa6c3592c maps: map a missing author to '(no author)'
"None" doesn't really make much sense, so we use what 'svn log' shows
instead. This also fixes mapping this author to something else.
2010-10-09 16:20:52 -05:00
Dan Villiom Podlaski Christiansen
09bf857897 test_util: use SkipTest if provided by the unittest module.
This is the case with Python 2.7.
2010-10-09 16:20:52 -05:00
Augie Fackler
7b2029d1b8 Merge 2010-10-10 10:22:37 -05:00