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
c205c57746
cmdutil: make bail_if_changed bail on uncommitted merge
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
5fef1977f2
update test-merge-types
2007-12-27 23:55:36 -06:00
Matt Mackall
faa2e2041c
ui: allow default when prompting
2007-12-27 22:49:01 -06:00
Matt Mackall
c7663b5b00
merge: add flag merging intelligence
...
- properly handle all 27 combinations of flags
- prompt on conflicts
2007-12-27 22:47:44 -06:00
Matt Mackall
614e20b215
util: remove set_exec and set_link methods
2007-12-27 22:47:41 -06:00
Matt Mackall
f21286882c
patch: use util.set_flags
2007-12-27 22:29:21 -06:00
Matt Mackall
ab5d78ce60
convert/svn: use util.set_flags
2007-12-27 22:29:17 -06:00
Matt Mackall
d9e4ee2c04
merge: use util.set_flags
2007-12-27 22:27:48 -06:00
Matt Mackall
49c18f282e
wwrite: simplify with util.set_flags
...
- always attempt to delete the file (gets rid of read-only message)
- always write as a normal file
- use set_flags to convert to link or set exec
2007-12-27 22:27:47 -06:00
Matt Mackall
717ff7e6f8
util: add new set_flags method
...
This is more efficient than calling set_link and set_exec
2007-12-27 22:27:45 -06:00
Matt Mackall
2af988f28f
add --debug to test-merge-types
2007-12-27 22:27:43 -06:00
Matt Mackall
7edaa19dd3
merge: simplify merge tests, fix exec flag bug
...
If local changed exec bit and remote changed file contents, exec bit
change would be lost.
2007-12-27 22:27:37 -06:00
Patrick Mezard
3cc8f21213
hg: fail upon copy/link errors while cloning locally
2007-12-27 22:28:41 +01: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
a8a4715876
convert: don't read ~/.cvsrc in test-convert-cvs
2007-12-27 19:59:44 +03:00
Thomas Arendsen Hein
d02cbcaa88
merge with crew-stable
2007-12-27 13:39:59 +01:00
Thomas Arendsen Hein
e6f1571179
Tests for 2d14cb7e2a9e and a60a6bd11ed6 (interactive prompts during merge)
2007-12-27 13:39:03 +01:00
Thomas Arendsen Hein
0a782ae200
Make ui.prompt repeat on "unrecognized response" again (issue897)
...
(this was accidentally changed in 18945c2eb022)
2007-12-27 10:32:33 +01:00
Thomas Arendsen Hein
3cd6fe199f
merge with crew-stable
2007-12-26 23:03:32 +01:00
Thomas Arendsen Hein
94bdbd585c
Fix misleading error and prompts during update/merge (issue556)
2007-12-26 22:47:16 +01: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
Patrick Mezard
a802f4255a
patch: be more tolerant to diffstat failures (issue 865)
...
Sometimes, revisions cannot be represented by a regular diff, only a git diff
would capture binary files or permission changes. diffstat cannot handle git
patches and will output "0 files changed" when fed with an empty diff. We
cannot consider the latter to be an error, unless we rewrite diffstat to handle
these correctly.
2007-12-25 22:21:51 +01:00
Kirill Smelkov
ce6e0fe0b0
.hgignore += tags & cscope files
2007-12-25 18:48:43 +03:00
Patrick Mezard
cf0ec16a92
Merge with crew-stable
2007-12-25 22:23:58 +01:00
Thomas Arendsen Hein
b29abebc1e
merge with crew-stable
2007-12-25 14:30:10 +01:00