annotate README @ 342:76c833526fbc

Use fallbacks in the wrappers for Subversion support, instead of prefixes. The change only applies to the ambiguous URL schemes: file, http and https. The others - svn+ssh and svn - behave the same as previously. For http and https, the wrapping is implemented in 'svnrepo.py': Only when the attempt to create a httprepo instance fails, will the URL be considered for Subversion URL. For file, the ambiguity is treated much like the Mercurial core distinguishes bundle and directories. In this case, a directory that looks like a Subversion repository will *not* be considered for a Mercurial clone. Tthe command lines are more similar to before this refactor. The only option added to push & pull is --stupid; others are only added to clone. Any of these options specified to clone will be added to the generated '.hgrc'. Also, the -r/--rev option now works for clone & push.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Wed, 20 May 2009 18:38:01 +0200
parents 982c46e7d167
children dbdcb97b38af
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
288
982c46e7d167 BitBucket supports having the ReST declaration in a comment.
Augie Fackler <durin42@gmail.com>
parents: 280
diff changeset
1 .. -*-restructuredtext-*-
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
2
192
246ca614f04e Promote first heading to a real title.
Martin Geisler <mg@daimi.au.dk>
parents: 191
diff changeset
3 ============
246ca614f04e Promote first heading to a real title.
Martin Geisler <mg@daimi.au.dk>
parents: 191
diff changeset
4 hgsubversion
246ca614f04e Promote first heading to a real title.
Martin Geisler <mg@daimi.au.dk>
parents: 191
diff changeset
5 ============
246ca614f04e Promote first heading to a real title.
Martin Geisler <mg@daimi.au.dk>
parents: 191
diff changeset
6
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
7 hgsubversion is an extension for Mercurial that allows using Mercurial
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
8 as a Subversion client.
0
f2636cfed115 Initial import of hgsubversion into a public repository.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
9
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
10 Right now it is *not* ready for production use. You should only be
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
11 using this if you're ready to hack on it, and go diving into the
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
12 internals of Mercurial and/or Subversion.
2
89f88df794d3 Cleanup to 80 columns and add a couple of notes on basic use.
Augie Fackler <durin42@gmail.com>
parents: 0
diff changeset
13
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
14 Installation
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
15 ------------
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
16 You need to have Subversion installed with the SWIG Python bindings
280
4a327bfc69c6 README: Now require 1.3.
Augie Fackler <durin42@gmail.com>
parents: 258
diff changeset
17 from Subversion 1.5 or later. You need Mercurial 1.3 (currently in development)
4a327bfc69c6 README: Now require 1.3.
Augie Fackler <durin42@gmail.com>
parents: 258
diff changeset
18 or later.
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
19
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
20 .. _mercurial: http://selenic.com/repo/hg
53
b61d49e3f91c crew-stable does not have what I need after all. Oops.
Augie Fackler <durin42@gmail.com>
parents: 50
diff changeset
21 .. _mercurial-stable: http://selenic.com/repo/hg-stable
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
22 .. _crew: http://hg.intevation.org/mercurial/crew
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
23 .. _crew-stable: http://hg.intevation.org/mercurial/crew-stable
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
24
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
25 If you are unfamiliar with installing Mercurial extensions, please see
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
26 the UsingExtensions_ page in the Mercurial wiki. Look at the example
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
27 for specifying an absolute path near the bottom of the page. You want
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
28 to give the path to the top level of your clone of this repository.
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
29
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
30 .. _UsingExtensions: http://www.selenic.com/mercurial/wiki/index.cgi/
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
31 UsingExtensions
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
32
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
33 Before using hgsubversion, I *strongly* encourage you to run the
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
34 automated tests. Just use nose_ if you have it (or ``easy_install
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
35 nose`` if you want it), or use ``python tests/run.py`` to run the
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
36 suite with the conventional test runner. Note that because I use nose,
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
37 there's a lot of stdout spew in the tests right now. The important
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
38 part is that all the tests pass.
30
9867250e0a4a Add a segment on running the tests before use.
Augie Fackler <durin42@gmail.com>
parents: 24
diff changeset
39
9867250e0a4a Add a segment on running the tests before use.
Augie Fackler <durin42@gmail.com>
parents: 24
diff changeset
40 .. _nose: http://code.google.com/p/python-nose/
9867250e0a4a Add a segment on running the tests before use.
Augie Fackler <durin42@gmail.com>
parents: 24
diff changeset
41
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
42 Basic Use
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
43 -----------
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
44 Get a new clone of an svn server::
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
45
258
4ab27ddbae51 Updated readme a little bit for the new UI.
Augie Fackler <durin42@gmail.com>
parents: 192
diff changeset
46 $ hg clone <svn URI> [destination]
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
47
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
48 Real example::
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
49
258
4ab27ddbae51 Updated readme a little bit for the new UI.
Augie Fackler <durin42@gmail.com>
parents: 192
diff changeset
50 $ hg clone svn+http://python-nose.googlecode.com/svn nose-hg
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
51
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
52 Note, you should pull from the root subversion directory, not specific
258
4ab27ddbae51 Updated readme a little bit for the new UI.
Augie Fackler <durin42@gmail.com>
parents: 192
diff changeset
53 folders (such as trunk). Also, you only need to modify http:// urls as shown.
4ab27ddbae51 Updated readme a little bit for the new UI.
Augie Fackler <durin42@gmail.com>
parents: 192
diff changeset
54 This is a side effect of Mercurial and Subversion both claiming the http
4ab27ddbae51 Updated readme a little bit for the new UI.
Augie Fackler <durin42@gmail.com>
parents: 192
diff changeset
55 protocol, so svn+http is used to work around that.
113
31923684e4dc Better note on how to pull a repository.
John Paulett <john.paulett@gmail.com>
parents: 53
diff changeset
56
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
57 Pull new revisions into an already-converted repo::
2
89f88df794d3 Cleanup to 80 columns and add a couple of notes on basic use.
Augie Fackler <durin42@gmail.com>
parents: 0
diff changeset
58
258
4ab27ddbae51 Updated readme a little bit for the new UI.
Augie Fackler <durin42@gmail.com>
parents: 192
diff changeset
59 $ hg pull
2
89f88df794d3 Cleanup to 80 columns and add a couple of notes on basic use.
Augie Fackler <durin42@gmail.com>
parents: 0
diff changeset
60
191
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
61 For more information, see ``hg help svn`` while in a converted repo.
177
71d170253a6f README: document svn:externals support
Patrick Mezard <pmezard@gmail.com>
parents: 161
diff changeset
62
191
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
63 Support for ``svn:externals``
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
64 -----------------------------
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
65 All ``svn:externals`` properties are serialized into a single
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
66 ``.hgsvnexternals`` file, with the following syntax::
190
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
67
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
68 [.]
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
69 external_reference_line1_1
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
70 external_reference_line1_2
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
71 [dir2]
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
72 external_reference_line2_1
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
73 external_reference_line2_2
177
71d170253a6f README: document svn:externals support
Patrick Mezard <pmezard@gmail.com>
parents: 161
diff changeset
74
189
8f751987cc0a Wrap long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 177
diff changeset
75 A header line gives the directory the property applies on, '.' for the
8f751987cc0a Wrap long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 177
diff changeset
76 project root directory. The property content follows, *every line
8f751987cc0a Wrap long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 177
diff changeset
77 being prefixed by a single space*.
177
71d170253a6f README: document svn:externals support
Patrick Mezard <pmezard@gmail.com>
parents: 161
diff changeset
78
191
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
79 The creation or modification of this file will trigger ``svn:externals``
189
8f751987cc0a Wrap long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 177
diff changeset
80 updates on the related subversion repository.
177
71d170253a6f README: document svn:externals support
Patrick Mezard <pmezard@gmail.com>
parents: 161
diff changeset
81