Commit Graph

198 Commits

Author SHA1 Message Date
Michael Haggerty
9e416d4b6c Extract a method MergeFrontier.fill_diagram(). 2013-05-06 10:34:54 +02:00
Michael Haggerty
159c1b9d88 Extract a method Block.fill_diagram(). 2013-05-06 10:34:53 +02:00
Michael Haggerty
c26bac9269 Merge branch 'pyflakes'
Fix up several coding errors discovered by pyflakes.
2013-05-06 10:34:10 +02:00
Michael Haggerty
b09f973906 Remove unused local variable. 2013-05-06 10:32:58 +02:00
Michael Haggerty
b1a5e7cd1d Fix reference to member variable "goal". 2013-05-06 10:32:30 +02:00
Michael Haggerty
5363bcad9c Invoke static method using class from static method. 2013-05-06 10:31:39 +02:00
Michael Haggerty
2fde7055a4 Remove unused imports. 2013-05-06 10:30:14 +02:00
Michael Haggerty
ee33bab0ac Add links to new blog posts. 2013-05-06 09:10:26 +02:00
Michael Haggerty
c89d8bab3d Use notation %d-%d to refer to merges. 2013-05-05 16:43:21 +02:00
Michael Haggerty
ee8dab4004 Teach "remove" how to abort a merge conflict. 2013-05-05 16:43:21 +02:00
Michael Haggerty
c9cee43666 Make MergeState.get_scratch_refname() static. 2013-05-05 16:43:21 +02:00
Michael Haggerty
261bed8ab1 Fix how require_clean_work_tree() deals with an unmerged file. 2013-05-05 16:43:21 +02:00
Michael Haggerty
eb29d1ece8 Emit informational messages for autofills, too. 2013-05-05 16:43:21 +02:00
Michael Haggerty
3aba04f119 Do not require a clean work tree for "list" or "diagram". 2013-05-05 16:43:21 +02:00
Michael Haggerty
7be908ad19 Improve "diagram" output.
Add options --commits and --frontier to decide which diagram to show.

Add keys.

Make character use consistent across diagrams.
2013-05-05 16:43:21 +02:00
Michael Haggerty
fedb7c5527 Change the order of subcommands.
Change the order that subcommands are passed to argparse to put the
most commonly-needed commands near the top of the help text.  Explain
some commands in terms of others (e.g., "start" == "init" +
"continue").
2013-05-05 16:43:21 +02:00
Michael Haggerty
156b807903 Improve module documentation.
Also include links to relevant blog articles.
2013-05-05 16:43:20 +02:00
Michael Haggerty
5d754f7dda Add a simple script for exercising git-imerge in a merge with a conflict. 2013-05-05 06:44:45 +02:00
Michael Haggerty
4d63d52416 Add a simple script for exercising git-imerge in a conflictless merge. 2013-05-05 06:44:21 +02:00
Michael Haggerty
7b43e7da6e Implement "finish" command. 2013-05-05 06:01:49 +02:00
Michael Haggerty
75ddb1174e Disallow --goal=rebase if any branch commits are merges.
Later should either implement this functionality or, alternatively,
offer a --force option or a --goal=rebase-discarding-merges.
2013-05-05 05:55:38 +02:00
Michael Haggerty
bc241e1786 Extract a function get_commit_parents(). 2013-05-05 05:55:38 +02:00
Michael Haggerty
ec4024af1c Add a "simplify" command. 2013-05-05 05:55:38 +02:00
Michael Haggerty
9dda011bab Extract a function checkout(). 2013-05-04 12:21:47 +02:00
Michael Haggerty
4eb28eb913 Explicitly disallow --goal=full for now. 2013-05-04 12:21:47 +02:00
Michael Haggerty
b1cb0377d6 Add method MergeFrontier.is_complete(). 2013-05-04 12:21:47 +02:00
Michael Haggerty
3fb6ac9d20 Update file docstring (also used in help output). 2013-05-04 12:21:47 +02:00
Michael Haggerty
7963f70cf1 Add a "record" command that records a merge but does not proceed. 2013-05-04 12:21:46 +02:00
Michael Haggerty
3a4337a683 Change "start" command to launch right into the merge.
Add an "init" command which only initializes the merge without resolving
anything.
2013-05-04 12:21:46 +02:00
Michael Haggerty
f55e85da9b Rename MergeState.start() to MergeState.initialize(), and change it not to call save().
Call save() at the caller instead.
2013-05-04 12:21:46 +02:00
Michael Haggerty
ea12d28a7e Require the --name option for the "start" command. 2013-05-04 12:21:46 +02:00
Michael Haggerty
44be75f2f8 Tighten up the choice of which imerge name to use.
If the user didn't specify --name, but there is exactly one imerge in
progress, use that one.
2013-05-04 12:21:46 +02:00
Michael Haggerty
b9686c3bda Extract a method MergeState._read_state(). 2013-05-04 12:21:46 +02:00
Michael Haggerty
84d5851769 Allow "remove" command without explicit --name option. 2013-05-04 12:21:46 +02:00
Michael Haggerty
aa70e40b0c Add "continue" command. 2013-05-04 12:21:46 +02:00
Michael Haggerty
fda6d701bb Add method Block.convert_original_indexes(). 2013-05-04 12:21:46 +02:00
Michael Haggerty
865d38b433 Extract a function read_merge_state(). 2013-05-04 12:21:46 +02:00
Michael Haggerty
ceee704b17 Generate some output for automerge attempts. 2013-05-04 12:21:46 +02:00
Michael Haggerty
de389689a6 Spiff up the MergeFrontier ASCII-art output. 2013-05-04 12:21:46 +02:00
Michael Haggerty
b91e4768c5 Add a method MergeState.auto_complete_frontier().
Throw exceptions with better messages.
2013-05-04 12:21:46 +02:00
Michael Haggerty
69dfa88389 Remove unused local variable. 2013-05-04 12:21:45 +02:00
Michael Haggerty
383132cfe2 Make autofill smarter.
Make it build on the existing frontier instead of starting
from scratch.
2013-05-04 12:21:45 +02:00
Michael Haggerty
18df8501e7 Change Block.auto_outline_frontier() to return a boolean value. 2013-05-04 12:21:45 +02:00
Michael Haggerty
f28638f71c Add a method Block.get_original_indices(). 2013-05-04 12:21:45 +02:00
Michael Haggerty
5fb5ebf1cb Use max() to find the biggest block. 2013-05-04 12:21:45 +02:00
Michael Haggerty
2b4928e5c8 Add a method Block.get_area(). 2013-05-04 12:21:45 +02:00
Michael Haggerty
fd9cd436cd Add a method MergeFrontier.iter_blocker_blocks() 2013-05-04 12:21:45 +02:00
Michael Haggerty
7d6dedd0a7 Store the merge base in MergeState.
It helps avoid special code in map_known_frontier().
2013-05-04 12:21:45 +02:00
Michael Haggerty
a2f7c7a0e8 Add __str__() methods for the Block classes. 2013-05-04 12:21:45 +02:00
Michael Haggerty
bcadbefb4c Output frontier as part of diagram output. 2013-05-04 12:21:45 +02:00