annotate README @ 203:907c160c6289

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.
author Augie Fackler <durin42@gmail.com>
date Mon, 02 Mar 2009 23:58:38 -0600
parents 246ca614f04e
children 4ab27ddbae51
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
23eccbc18d01 Misunderstood how this is supposed to work.
Augie Fackler <durin42@gmail.com>
parents: 3
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
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
17 from Subversion 1.5 or later. You need Mercurial 1.1.1 or later.
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
18
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
19 .. _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
20 .. _mercurial-stable: http://selenic.com/repo/hg-stable
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
21 .. _crew: http://hg.intevation.org/mercurial/crew
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
22 .. _crew-stable: http://hg.intevation.org/mercurial/crew-stable
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
23
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
24 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
25 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
26 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
27 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
28
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
29 .. _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
30 UsingExtensions
5
0548662e2f34 Add a section on installation.
Augie Fackler <durin42@gmail.com>
parents: 4
diff changeset
31
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
32 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
33 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
34 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
35 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
36 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
37 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
38
9867250e0a4a Add a segment on running the tests before use.
Augie Fackler <durin42@gmail.com>
parents: 24
diff changeset
39 .. _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
40
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
41 Basic Use
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
42 -----------
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
43 Get a new clone of an svn server::
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
44
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
45 $ hg svnclone <svn URI> [destination]
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
46
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
47 Real example::
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
48
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
49 $ hg svnclone http://python-nose.googlecode.com/svn nose-hg
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
50
161
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
51 Note, you should pull from the root subversion directory, not specific
47127255145c Wrapped long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 149
diff changeset
52 folders (such as trunk).
113
31923684e4dc Better note on how to pull a repository.
John Paulett <john.paulett@gmail.com>
parents: 53
diff changeset
53
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
54 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
55
3
735fdc6c130a Change the readme to be reST.
Augie Fackler <durin42@gmail.com>
parents: 2
diff changeset
56 $ hg svn 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
57
191
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
58 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
59
191
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
60 Support for ``svn:externals``
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
61 -----------------------------
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
62 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
63 ``.hgsvnexternals`` file, with the following syntax::
190
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
64
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
65 [.]
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
66 external_reference_line1_1
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
67 external_reference_line1_2
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
68 [dir2]
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
69 external_reference_line2_1
078425d0187d Fix reST syntax error in README.
Martin Geisler <mg@daimi.au.dk>
parents: 189
diff changeset
70 external_reference_line2_2
177
71d170253a6f README: document svn:externals support
Patrick Mezard <pmezard@gmail.com>
parents: 161
diff changeset
71
189
8f751987cc0a Wrap long lines in README.
Martin Geisler <mg@daimi.au.dk>
parents: 177
diff changeset
72 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
73 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
74 being prefixed by a single space*.
177
71d170253a6f README: document svn:externals support
Patrick Mezard <pmezard@gmail.com>
parents: 161
diff changeset
75
191
0e912d37cbab Mark command line and svn:externals as literal text.
Martin Geisler <mg@daimi.au.dk>
parents: 190
diff changeset
76 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
77 updates on the related subversion repository.
177
71d170253a6f README: document svn:externals support
Patrick Mezard <pmezard@gmail.com>
parents: 161
diff changeset
78