Commit Graph

648 Commits

Author SHA1 Message Date
Patrick Mezard
d576863603 convert: replace fork with subprocess call. 2007-08-06 21:49:26 +02:00
Brendan Cully
43a17f1dbd convert: svn: remove debugging message 2007-08-05 12:09:55 -07:00
Brendan Cully
e14b56ed31 convert: look up copies in getchanges instead of getcommit
svn: defer path expansion until getchanges to reduce latency, as well as memory
usage when converting incrementally.
2007-08-05 12:03:27 -07:00
Brendan Cully
79dfd4af0e convert: svn: pull up path to file expansion code into separate function.
This is part of the process for deferring path expansion until getchanges.
Copy detection also needs to be moved out of the commit object.
2007-08-05 11:30:52 -07:00
Brendan Cully
ae6d027bb1 convert: svn: hoist up branch creation check 2007-08-05 10:23:45 -07:00
Brendan Cully
746c44a9fc convert: svn: remove dead code 2007-08-05 10:04:28 -07:00
Brendan Cully
0febaca10c convert: svn: add helper function for optrevs 2007-08-05 10:04:00 -07:00
Brendan Cully
bc5b76fe7b Merge with crew 2007-08-04 18:04:35 -07:00
Brendan Cully
c7dc3bf62b convert: svn: ensure leading / is removed from paths in _find_children (broken in e1a302eaf619) 2007-08-04 18:02:37 -07:00
Bryan O'Sullivan
b7ce9fcfbd convert: drop duplicated assignments. 2007-08-04 12:38:30 -07:00
Brendan Cully
8b26a09d27 imerge: gussy up dispatcher to support subcommand opts.
Add -n, --resolved, --unresolved to status.
2007-08-04 12:26:48 -07:00
Brendan Cully
6f2a9d642d Merge with crew 2007-08-04 09:33:10 -07:00
Brendan Cully
9fa1148786 imerge: handle renames 2007-08-03 18:05:20 -07:00
Patrick Mezard
17bfcef457 convert: support windows SVN simple auth provider 2007-08-02 23:38:32 +02:00
Thomas Arendsen Hein
0dfe60884f imerge: sorted() is only available in python2.4 and above 2007-08-02 14:04:51 +02:00
Benoit Boissinot
3588fd3abd imerge: tarfile.extractall is only available in python2.5 2007-08-02 14:04:00 +02:00
Brendan Cully
a23047ab44 Update imerge for new filemerge interface 2007-08-01 23:59:19 -07:00
Alexis S. L. Carvalho
5af674774c del transaction before lock before wlock
This way rollbacks happen while the repo is still locked.

Deleting lock before wlock is not strictly necessary, but is
more consistent with the locking order.
2007-08-02 01:56:08 -03:00
Alexis S. L. Carvalho
181f0a3596 convert: fix locking order 2007-08-02 01:56:08 -03:00
Brendan Cully
70d50ced47 convert: (svn) simplify _find_children 2007-08-01 15:16:42 -07:00
Brendan Cully
dbb657852c imerge extension and test 2007-08-01 11:37:11 -07:00
Thomas Arendsen Hein
c6fa90f553 Update style of record's cmdtable to match mercurial/commands.py 2007-08-01 10:42:42 +02:00
Bryan O'Sullivan
bfb3dfc715 convert: add config option to turn off use of branch names 2007-07-31 17:18:59 -07:00
Bryan O'Sullivan
a79766b2cd Add record extension, giving darcs-like interactive hunk picking 2007-07-31 16:28:05 -07:00
Patrick Mezard
70ab7b4b41 mq: add qnew --git option 2007-07-28 20:15:54 +02:00
Bryan O'Sullivan
e5831bba91 convert: empty log messages are OK as of d10c8cd5d283 2007-07-27 14:30:20 -07:00
Brendan Cully
0c1f3fe27b Merge with bos 2007-07-26 14:04:48 -07:00
Brendan Cully
987acabeef convert svn: canonicalize path before calling url_from_path.
Otherwise libsvn has a tendency to abort().
2007-07-26 14:02:49 -07:00
Bryan O'Sullivan
930e85e029 convert: get rid of ugly use of hasattr 2007-07-26 13:36:53 -07:00
Bryan O'Sullivan
4b8b41843e convert: get rid of "hg." prefix where not needed 2007-07-26 13:34:36 -07:00
Bryan O'Sullivan
30c0638736 convert: add filename filtering and renaming support 2007-07-26 13:34:36 -07:00
Bryan O'Sullivan
2eb79e019f convert: acquire/release locks periodically 2007-07-26 13:34:36 -07:00
Bryan O'Sullivan
73b8ede983 convert: Support Mercurial as a source, as well as a sink 2007-07-26 13:34:36 -07:00
Bryan O'Sullivan
787a42c2b2 convert: make commit constructor clearer and less magical 2007-07-26 13:34:36 -07:00
Bryan O'Sullivan
fe20ca5067 convert: rename mapfile to revmapfile, so we can map more than just revs 2007-07-26 13:34:36 -07:00
Brendan Cully
bd0ce0a313 convert svn: try to extract URL from source if it is a working directory 2007-07-26 10:57:26 -07:00
Brendan Cully
eb0a3e666b convert: urlify svn repos if necessary.
We should also try to extract the URL from an svn working directory.
2007-07-26 10:42:44 -07:00
Matt Mackall
3dfe783ec5 transactions: avoid late tear-down (issue641)
We use weak references (ugh) to avoid having to manually delete
transaction references out of each call frame when an exception occurs.
2007-07-22 14:53:57 -05:00
Matt Mackall
cd72dc7f1b Merge with crew 2007-07-21 16:44:38 -05:00
Matt Mackall
3a3bd8ec5b Make repo locks recursive, eliminate all passing of lock/wlock 2007-07-21 16:02:10 -05:00
Matt Mackall
3e13c68628 Use try/finally pattern to cleanup locks and transactions 2007-07-21 16:02:10 -05:00
Matt Mackall
c2967290a5 dirstate: add __contains__ and make __getitem__ more useful
dirstate.state(f) == '?' -> f not in dirstate
dirstate.state(f) -> dirstate[f]
2007-07-21 16:02:09 -05:00
Matt Mackall
bab511ec55 dirstate: make wjoin function private 2007-07-21 16:02:09 -05:00
Matt Mackall
cf691df912 dirstate: break update into separate functions 2007-07-21 16:02:09 -05:00
Thomas Arendsen Hein
c8973835b3 test-alias: Removed fallback to parentui, no longer needed since 681da44cf9e4 2007-07-21 17:56:30 +02:00
Thomas Arendsen Hein
95c8d3f7f8 Remove unused pprint import and the commented line which used it before. 2007-07-21 10:43:29 +02:00
Thomas Arendsen Hein
4c6cff621b Backout 5d79f5ed74d4 and replace ''' with """ to make some highlighting happy.
I have tried Debian's default emacs and the current CVS version. Default emacs
doesn't have highlighting enabled (and being emacs-illiterate I don't know how
to enable it) and the CVS emacs' Python highlighting has no problems with '
characters here.
2007-07-21 10:36:51 +02:00
Thomas Arendsen Hein
d9d3256252 removed trailing whitespace 2007-07-21 10:30:51 +02:00
Bryan O'Sullivan
17119bef10 convert/subversion: rehandle the no-tags case 2007-07-19 15:33:21 -07:00
Bryan O'Sullivan
c303898fbc convert/subversion: work around memory leak in svn's python bindings
The svn.ra.get_log wrapper attaches the hash of changed paths for every
log entry to a global memory pool, so memory consumption increases
rapidly, with no way to free it.

Our workaround is to call this function in a child process, and feed
its results back over a pipe.  The memory consumption of the child still
grows huge (hundreds of megabytes), but at least it goes away once the
reading-the-log phase is done.
2007-07-19 12:41:07 -07:00
Bryan O'Sullivan
e824d5ba5d convert/subversion: Simplify callback. 2007-07-18 22:44:25 -07:00
Bryan O'Sullivan
12b2410da4 convert/subversion: reduce memory usage by filtering early
This makes up to a 50% difference in memory consumption.
2007-07-18 19:56:36 -07:00
Bryan O'Sullivan
dd356c432e Automated merge with http://hg.intevation.org/mercurial/crew 2007-07-18 19:47:22 -07:00
Bryan O'Sullivan
b5c4639e41 convert/subversion: get converter working against plain HTTP. 2007-07-18 17:44:52 -07:00
Bryan O'Sullivan
118f017025 convert/subversion.py: str.rsplit is not available in Python 2.3 2007-07-17 15:47:32 -07:00
Bryan O'Sullivan
4946c0febe convert/subversion.py: fix bad assumptions about SVN path naming
The SVN converter assumed that the trunk and branches paths were fixed,
and immediately under the base of the SVN URL.  Fix the second assumption,
and allow the trunk and branches paths to be reconfigured.
2007-07-17 15:24:59 -07:00
Bryan O'Sullivan
1f2fa7bf13 convert/subversion.py: escape quotes to make code readable in Emacs 2007-07-17 13:08:50 -07:00
Alexis S. L. Carvalho
ae58d97874 merge with crew-stable 2007-07-17 09:28:01 -03:00
Alexis S. L. Carvalho
b476b55a4a convert: manually set encoding to UTF-8
Right now the backends assume we're working in UTF-8 and there's
no good way to ignore the encoding when adding revisions.
2007-07-17 09:08:29 -03:00
Bryan O'Sullivan
3ab73cd145 mq: autodetect an existing git patch during qrefresh (issue 491) 2007-07-16 16:50:47 -07:00
Bryan O'Sullivan
a4a1d041e4 patchbomb: add --desc, to specify a file containing a series description 2007-07-16 14:43:47 -07:00
Thomas Arendsen Hein
db8622096e merge with crew-stable 2007-07-15 21:05:38 +02:00
Thomas Arendsen Hein
3d7a9209df convert: Use clone's behaviour for the default destionation name.
Adjusted the documentation for this and for the fact that the destionation is
created even if a name is specified.
2007-07-15 21:04:07 +02:00
Brendan Cully
ee2cc772b4 convert: record the source revision in the changelog 2007-07-13 08:28:57 -07:00
Brendan Cully
98b8fae908 mq: improve qclone error handling when patch directory is not a repository. 2007-07-10 09:52:32 -07:00
Lee Cantey
1515fb9031 Correct inadvertent line ending change. 2007-07-09 10:59:49 -07:00
Lee Cantey
244b7b7c94 Fix for win32text corrupting files that have CRLF line endings. (issue302)
Also generate a warning when encountering this condition.

From Shun-ichi Goto in attachment win32text-patch3.txt for issue 302.
2007-07-09 10:46:41 -07:00
Brendan Cully
864d59c393 python 2.3 does not have sorted 2007-07-06 10:29:09 -07:00
Bryan O'Sullivan
e1c7de520a mq: autodetect an existing git patch during qrefresh (issue 491) 2007-07-16 16:50:47 -07:00
Brendan Cully
27d64c4447 convert: svn code movement (no actual changes) 2007-07-05 16:14:01 -07:00
Brendan Cully
58d7e42923 convert: svn: avoid parsing already-seen logentries due to branch following 2007-07-05 15:01:31 -07:00
Brendan Cully
ed4c3cf173 Merge with main 2007-07-05 14:32:18 -07:00
Brendan Cully
24a607c530 convert: svn: some improvements in memory usage 2007-07-05 14:31:13 -07:00
Brendan Cully
ddffa36984 convert: svn: remove svn_paths wrappers 2007-07-05 12:45:41 -07:00
Brendan Cully
d1cc733573 convert: svn: use revmap to parse only new revisions in incremental conversions 2007-07-05 12:41:58 -07:00
Brendan Cully
39cf515050 convert: export revmap to source.
Sources may be able to use it to optimise their own log fetching
2007-07-05 12:24:26 -07:00
Brendan Cully
6209ccf2e8 convert: svn: defer get_log parsing until after get_log completes.
According to the documentation, it is not safe to perform any other
operation on the ra object until get_log completes.
2007-07-05 12:18:01 -07:00
Brendan Cully
d2a6fef145 convert: move some code into common init function 2007-07-05 12:08:48 -07:00
Brendan Cully
6417597754 alias: remove dead code 2007-07-05 12:00:26 -07:00
Brendan Cully
0588c7805e convert: call superclass init from engine init functions 2007-07-05 12:00:04 -07:00
Brendan Cully
0289847474 Add alias extension 2007-07-04 13:38:49 -07:00
Brendan Cully
92fb333742 convert svn: minor improvement to tag detection.
The better way is probably to list the latest tags directory and
look up the last log message for each entry. This is surprisingly
annoying to do.
2007-07-03 20:22:39 -07:00
Brendan Cully
07b2fc9ea8 convert: svn merges produce hard-to-trace file entries. Ignore them for now. 2007-07-03 19:49:36 -07:00
Brendan Cully
825722ad9e convert: svn: autodetect /branches, /tags, /trunk.
Various other branch handling improvement attempts too.
2007-07-03 19:26:41 -07:00
Brendan Cully
a114b546b6 convert: svn: pull out broken batching code, add alpha tags support 2007-07-03 17:07:58 -07:00
Brendan Cully
e8a0e23644 convert: svn: get parent for branch creation events 2007-07-03 15:34:30 -07:00
Brendan Cully
60700a427c convert: add optional module argument to svn._fetch_revisions 2007-07-03 15:12:07 -07:00
Brendan Cully
2466b3d9ee convert: svn: parse log entries as they arrive instead of deferring it 2007-07-03 14:16:54 -07:00
Brendan Cully
3462a62549 convert: svn: move some debug output to verbose 2007-07-03 13:50:26 -07:00
Brendan Cully
0048939292 convert: another typo in svn.latest 2007-07-03 12:56:30 -07:00
Brendan Cully
efaa1dcb9a convert: typo in svn.latest 2007-07-03 12:52:13 -07:00
Brendan Cully
19d4037536 convert: svn: add function to get the latest revision touching a path
Make it work for HTTP URLs
2007-07-03 12:44:04 -07:00
Brendan Cully
11ae6e941f convert: svn: add an early return to move most changeset parsing out an indent level 2007-07-03 11:36:06 -07:00
Brendan Cully
256bc344d3 convert: svn: use a separate mempool for each ls in the 1.4 fallback path 2007-07-03 10:55:46 -07:00
Thomas Arendsen Hein
55ec898361 children extension: Don't abort when looking at the null revision.
Since e3bc293c220b revlog.children only returns real children,
so this is no longer a problem.
2007-07-03 12:50:05 +02:00
Thomas Arendsen Hein
c9b92d418a Add extension to provide the 'hg children' command (with tests) 2007-07-03 12:14:25 +02:00
Brendan Cully
8ec10514c6 convert: make convertsource option handling transparent 2007-07-02 22:33:48 -07:00
Brendan Cully
d3d4a7d3f5 convert: svn: skip revisions without file entries 2007-07-02 08:31:02 -07:00
OHASHI Hideya
e65e8661b8 interhg extension allows you to change changelog text like InterWiki. 2007-07-03 00:13:52 +09:00
Brendan Cully
300a70dc81 convert: svn: disable batched fetch - get the whole log immediately 2007-07-02 07:54:51 -07:00
Brendan Cully
4dc3f96686 convert: svn: add revnum() to convert rev to revnum 2007-07-02 07:28:54 -07:00
Brendan Cully
3633ad1c8b convert: svn: abort if module stat fails 2007-07-02 07:22:11 -07:00
Brendan Cully
fd76b646a1 convert: fetch svn changes on demand (in batches) 2007-07-01 23:28:21 -07:00
Brendan Cully
a380d8f56b convert: svn: convert branch trunk to default 2007-07-01 22:23:33 -07:00
Brendan Cully
19c00a246e convert: svn: fix fallback directory listing code when importing a submodule 2007-07-01 22:21:05 -07:00
Brendan Cully
67217d7c09 convert: remove svn debugger trap 2007-07-01 22:09:33 -07:00
Brendan Cully
27056ca3cd convert: import all branches from git repositories 2007-07-01 22:00:25 -07:00
Brendan Cully
b0c6674f4c convert: gitcmd wrapper for os.popen 2007-07-01 21:09:08 -07:00
Brendan Cully
abc3ff714b convert: gitcmd wrapper for os.popen 2007-07-01 21:09:08 -07:00
Brendan Cully
977193d42f convert: activate subversion engine
Fail gracefully if the subversion python bindings are not installed.
Support --rev option to convert as well as URL@rev.
2007-07-01 20:30:04 -07:00
Daniel Holth
b6da512597 convert extension: Add SVN converter 2007-07-01 23:56:11 +02:00
Daniel Holth
202219ddab convert extension: stripped-down svn transport module 2007-07-01 17:15:54 +02:00
Brendan Cully
a29de605a9 convert: split converter into convertsource and convertsink 2007-07-01 19:58:19 -07:00
Brendan Cully
7b9fcd8629 convert: move *** empty log message *** into commit class 2007-07-01 19:40:02 -07:00
Brendan Cully
b6f546b15e convert: initialize source after destination, cleaning up if source is unusable 2007-07-01 19:23:10 -07:00
Brendan Cully
ee1924281e convert: add -r argument specifying latest revision to convert 2007-07-01 15:02:15 -07:00
Brendan Cully
4ac9754fb4 convert: ove recode method into converter_source 2007-07-01 12:58:08 -07:00
Brendan Cully
edeeaca988 mq: more qdelete help text tweaks 2007-06-28 09:19:08 -07:00
Brendan Cully
98fb3fa634 mq: require patch argument or revision for qdelete 2007-06-28 08:42:43 -07:00
Thomas Arendsen Hein
d17146e533 Make hg glog abort if unused arguments are given. 2007-06-28 16:18:09 +02:00
Thomas Arendsen Hein
0b7147a667 Updated command tables in commands.py and hgext extensions.
- Marked for translation where extensions already had _()
- Corrected indentation
- fixed a few synopsises
2007-06-26 22:38:57 +02:00
Brendan Cully
23fe084573 mq: regularize patch header creation.
Do not prefix qnew patches with [mq]: when a message has been given.
Always use [mq]: as the prefix for generated commit messages.
2007-06-25 15:57:01 -07:00
Alexis S. L. Carvalho
08bab0f618 convert: "unknown" is a string 2007-06-25 18:52:12 -03:00
Hollis Blanchard
50bf402546 fix 'convert' with single commit repositories
The attached patch passes the three 'convert' testcases, and also is
able to successfully convert the git.git repository.
2007-06-25 14:50:25 -05:00
Brendan Cully
6cc7a712e7 mq: support qnew -I/-X and file name lists 2007-06-25 11:13:27 -07:00
Brendan Cully
4aac760bf3 Merge with mpm 2007-06-25 10:34:53 -07:00
Brendan Cully
22d4a3bbc0 mq: document that qinit -c may be run later 2007-06-25 09:49:40 -07:00
Matt Mackall
9a11c35355 strip: move strip code to a new repair module 2007-06-25 01:26:44 -05:00
Matt Mackall
c8f5240b24 strip: simplify bundle helper 2007-06-25 01:22:45 -05:00
Matt Mackall
e2973b5e3e strip: pull core strip logic into its own function 2007-06-24 18:22:40 -05:00
Eric Hopper
bb53a2c70f convert: handle new cvsps with Tags: and multiple tags. 2007-06-24 07:22:58 -07:00
Emanuele Aina
a6db33bd4a purge: add the clean alias inspired by git-clean and svn-clean 2007-06-23 22:26:22 -05:00
Emanuele Aina
5968bafc17 purge: don't delete ignored files if --all is not specified 2007-06-06 22:17:35 +02:00
Thomas Arendsen Hein
2f42bdc4f1 merge with main 2007-06-23 21:11:28 +02:00
Thomas Arendsen Hein
9270e4454c hgk: Use $HG instead of hg (see 9779a8c8d672) 2007-06-23 21:10:55 +02:00
Matt Mackall
3791779d22 convert: sometimes git forgets the author 2007-06-23 13:33:45 -05:00
Alexis S. L. Carvalho
769bdcbb59 transplant: fix locking order 2007-06-22 19:43:29 -03:00
Thomas Arendsen Hein
4d29c6dc8e Updated copyright notices and add "and others" to "hg version" 2007-06-19 08:51:34 +02:00
Thomas Arendsen Hein
483231d996 Cleanup of whitespace, indentation and line continuation. 2007-06-19 08:06:37 +02:00
Matt Mackall
e957b05434 localrepo and dirstate: rename reload to invalidate
We want to avoid actually reloading if possible.
2007-06-18 13:24:34 -05:00
Brendan Cully
760b2de090 patchbomb: fix PAGER buglet introduced in 833bc8eb2f1f 2007-06-17 20:09:35 -07:00
Patrick Mezard
e0e36eb1b2 patchbomb: page patchbomb messages only if PAGER is defined.
Paging is complicated under win32. It is just better to avoid it by default.
2007-06-17 20:35:43 +02:00
Patrick Mezard
f2a33f2a1b Merge with crew-stable 2007-06-17 20:08:06 +02:00
Patrick Mezard
571e9d813f patchbomb: flush ui before delegating to pager. 2007-06-17 19:40:02 +02:00
Brendan Cully
c860c88389 convert: remove pdb call. *blush* 2007-06-14 16:19:58 -07:00
Brendan Cully
3671e1a1d1 convert: fix various authormap handling bugs 2007-06-14 16:12:08 -07:00
Edouard Gomez
8076a27777 convert extension: Add support for username mapping
Allows mapping usernames to new ones during conversion process.
 - Use -A option for first import
 - Then at the end of the conversion process and if the destination
   repo supports authorfile attribute, author map content is copied
   to the file pointed by the authorfile call.
 - On incremental conversions w/o any -A option specified, the
   destination authorfile, if any, gets read automatically.

EG: This allows mapping unix system usernames used in CVS accounts
    to a more typical "Firstname Lastname <address@server.org>" pair.
2007-06-14 23:25:55 +02:00
Edouard Gomez
b42f104ce2 convert extension: Save a few opens on the map file
Save a few opens on the map file adding a class attribute
2007-06-14 23:25:55 +02:00
Thomas Arendsen Hein
19530763e6 Reverted changesets a812fb9bfa26 and f1c9e4d4a477: show @ as glog parent again.
Repainted the bikeshed with its original color.
2007-06-14 12:54:06 +02:00
Alexis S. L. Carvalho
c623e457f8 mq: reduce matcher abuse
The match function should match only the files we're interested in.
2007-06-13 21:39:45 -03:00