Commit Graph

742 Commits

Author SHA1 Message Date
Matt Mackall
4374a62a6f bisect: keep history of all bad revisions
- use a single state dict
- find the minimum bad revision
2007-12-27 23:55:40 -06:00
Matt Mackall
98edd8fe9d bisect: use more standard command syntax and help 2007-12-27 23:55:40 -06:00
Matt Mackall
20c9eec942 bisect: move reporting out of core bisect function 2007-12-27 23:55:40 -06:00
Matt Mackall
c2150b8bfe bisect: add skip command
- read/write skip lines in state
- skip candidates in skipnodes
- move bisect begin logic to next
- add skip command
2007-12-27 23:55:40 -06:00
Matt Mackall
7caa218038 bisect: simplify state handling and init
- use a single bisect.state file
- unify init and reset (delete the state)
- move write into good/bad
2007-12-27 23:55:39 -06:00
Matt Mackall
b3662ecbfa bisect: remove unused imports 2007-12-27 23:55:39 -06:00
Matt Mackall
6b799c897d bisect: rename autobad/good/next 2007-12-27 23:55:39 -06:00
Matt Mackall
f29636dd67 bisect: slightly improve the help message 2007-12-27 23:55:39 -06:00
Matt Mackall
17063dc6f6 bisect: remove stale test function 2007-12-27 23:55:39 -06:00
Matt Mackall
98e6b1c3b6 bisect: use array.array rather than lists for ancestor lists
This nearly doubles performance and cuts memory usage in half on large
bisections.
2007-12-27 23:55:39 -06:00
Matt Mackall
762fb16074 bisect: switch individual ancestor lists from dict to list
This saves quite a lot of memory and increases performance
2007-12-27 23:55:39 -06:00
Matt Mackall
cff52b93cb bisect: turn ancestors into an array
This makes things faster and eliminates the separate stop hash
2007-12-27 23:55:39 -06:00
Matt Mackall
982653f2a9 bisect: greatly simplify the ancestor accumulating loop 2007-12-27 23:55:39 -06:00
Matt Mackall
36a17eda66 bisect: switch to rev-based calculation
- use revlog.parentrevs in search loops
- calculate stop directly in O(N) without reachable
- move badrev check into candidates
2007-12-27 23:55:39 -06:00
Matt Mackall
054559c4a9 bisect: fix up node vs rev naming 2007-12-27 23:55:39 -06:00
Matt Mackall
4a341be5b9 bisect: clarify some bisection code
- rename __ancestors... to candidates
- remove head parameter (it's always badrev)
- eliminate comprehensions to shrink parents
- num_ancestors -> n_child name fix
- clarify node selection
2007-12-27 23:55:39 -06:00
Matt Mackall
2c21ad57e0 bisect: inline num_children function 2007-12-27 23:55:39 -06:00
Matt Mackall
c433182f43 bisect: remove usage of sets 2007-12-27 23:55:39 -06:00
Matt Mackall
8431bfff31 bisect: remove stop argument to ancestors function 2007-12-27 23:55:39 -06:00
Matt Mackall
013ac03708 bisect: use bail_if_changed
- switch to using existing bail_if_changed code
- only abort when we're about to do an update
2007-12-27 23:55:39 -06:00
Matt Mackall
b5e59bd04e bisect: remove versionstr 2007-12-27 23:55:39 -06:00
Matt Mackall
b749d30f61 bisect: simplify lookup
- use repo.lookup directly
- move merge check to check_clean
2007-12-27 23:55:39 -06:00
Matt Mackall
2655c790b8 bisect: remove redundant clean checks 2007-12-27 23:55:39 -06:00
Matt Mackall
9441f83422 bisect: fold in two trivial functions 2007-12-27 23:55:39 -06:00
Matt Mackall
4ea69c713d bisect: remove two unused functions 2007-12-27 23:55:39 -06:00
Matt Mackall
ab5d78ce60 convert/svn: use util.set_flags 2007-12-27 22:29:17 -06:00
Maxim Dounin
54de122616 convert: svn-sink: copy and set properties after adding dirs/files
We can't store properties for files we haven't added to repo. Similarly,
we can't copy file to directory we haven't added to svn yet. Remember
needed changes and apply them in putcommit().
2007-12-27 03:14:46 +03:00
Maxim Dounin
bd23432b17 convert: allow repo root to be matched in filemap
For consistency with "rename subdir ." syntax in filemap, also support
"rename . subdir".
2007-12-25 21:14:11 -08:00
Bryan O'Sullivan
044477626b Merge with mpm 2007-12-19 19:23:18 -08:00
Bryan O'Sullivan
0ce5bba724 Merge with crew 2007-12-19 19:21:30 -08:00
Jesse Glick
e75d3a3d78 Issue 882: add standard hook to reject text files with CRLF.
While the win32text extension does LF <-> CRLF conversion, and will issue a
warning in case a file already in the repository uses CRLF, it provides no
mechanism for verifying that incoming changes use LF. In a large development
team with some Windows users, it is virtually guaranteed that someone will
forget to set up the encode filter correctly and accidentally check in a file
using CRLF, which can cause warnings for other Windows users when they next
fetch changes. Since this is a general problem it is desirable to have a
pre-commit (or -push) hook available to reject such accidents earlier rather
than trying to fix them up after the fact.
2007-12-19 17:02:31 -05:00
peter.arrenbrecht@gmail.com
86c52a7365 mq: add --currentuser and --user options to qnew and qrefresh
These options make qnew and qrefresh add/update the "From:" header (or, if present,
the "# User" header). This allows proper attribution of patches in patch queues
with multiple contributors.
2007-12-19 22:36:18 +01:00
Matt Mackall
1de0ed9a08 Merge with stable 2007-12-18 15:17:11 -06:00
Christian Ebert
27cd5a7001 patchbomb: make "hg email -b" w/o destination work as advertised 2007-12-16 22:55:23 +01:00
Christian Ebert
69c7eeabfc patchbomb: make "hg email -b" w/o destination work as advertised 2007-12-16 22:55:23 +01:00
Peter Arrenbrecht
977c33f8b5 mq: drop obsolete reference to 'qversion' 2007-12-13 20:35:42 +01:00
Patrick Mezard
783aa75f49 patchbomb: prompt with ui.prompt()
Avoid Windows raw_input() issue introduced by 0f20f68c768c.
Found by Steve Borho <steve@borho.org>.
2007-12-10 22:41:18 +01:00
Patrick Mezard
9760500b06 convert: move commands definition to ease demandload job (issue 860) 2007-12-09 15:25:36 +01:00
Patrick Mezard
7a15f92250 convert: move commands definition to ease demandload job (issue 860) 2007-12-09 15:25:36 +01:00
David J. Mellor
b1df375d09 convert: fix SVN date parser dropping the final whole second digit 2007-12-06 13:10:25 -08:00
Bryan O'Sullivan
d98a355588 Merge with stable 2007-12-06 13:11:36 -08:00
Christian Ebert
6965f3c58c highlight: adapt to hgweb_mode refactoring 2007-12-05 12:48:33 +01:00
Bryan O'Sullivan
314630c85c convert: some tidyups, doc improvements, and test fixes
The various back end options are now documented.
The hg source can now be configured not to hand out a revision ID.
2007-11-27 09:44:09 -08:00
Bryan O'Sullivan
eff109c7b0 convert: tell the source repository when a rev has been converted
This lets us roundtrip changes between svn and hg.
2007-11-26 17:23:20 -08:00
Bryan O'Sullivan
d991d10d66 convert: save hg revision during a convert
This breaks hg->hg hash roundtripping, but that was fragile, didn't work
reliably, and hence arguably of little value.
2007-11-26 14:01:31 -08:00
Patrick Mezard
80735bf58c Merge with crew-stable 2007-11-20 14:41:47 +01:00
Patrick Mezard
8ae803be30 mq: avoid qnew committing everything on invalid paths (issue 803)
If paths are supplied but resolve to nothing, localrepo.commit() is called with an empty set and commits the whole dirstate. Avoid this by passing the match function to commit.
2007-11-20 14:31:58 +01:00
Patrick Mezard
a9e1f119ec convert: read CVS files in chunks (issue 800)
socket.makefile() fails on large read requests (more than 10MB) with MemoryError.
2007-11-18 17:25:28 +01:00
Patrick Mezard
930b69add7 convert: add directories to subversion from root to leaves 2007-11-17 18:41:31 +01:00
Patrick Mezard
12b8219be3 convert: force svn:executable when execute-bit is not supported
The util.is_exec fallback would be to ask subversion for the current value of svn:executable. Setting it directly is just simpler.
2007-11-11 19:34:00 +01:00