amp 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +12 -0
- data/.hgignore +3 -0
- data/AUTHORS +1 -1
- data/Manifest.txt +99 -38
- data/README.md +3 -3
- data/Rakefile +53 -18
- data/SCHEDULE.markdown +5 -1
- data/TODO.markdown +120 -149
- data/ampfile.rb +3 -1
- data/bin/amp +4 -1
- data/ext/amp/bz2/extconf.rb +1 -1
- data/ext/amp/mercurial_patch/extconf.rb +1 -1
- data/ext/amp/mercurial_patch/mpatch.c +4 -3
- data/ext/amp/priority_queue/extconf.rb +1 -1
- data/ext/amp/support/extconf.rb +1 -1
- data/ext/amp/support/support.c +1 -1
- data/lib/amp.rb +125 -67
- data/lib/amp/commands/command.rb +12 -10
- data/lib/amp/commands/command_support.rb +8 -1
- data/lib/amp/commands/commands/help.rb +2 -20
- data/lib/amp/commands/commands/init.rb +14 -2
- data/lib/amp/commands/commands/templates.rb +6 -4
- data/lib/amp/commands/commands/version.rb +15 -1
- data/lib/amp/commands/commands/workflow.rb +3 -3
- data/lib/amp/commands/commands/workflows/git/add.rb +3 -3
- data/lib/amp/commands/commands/workflows/git/copy.rb +1 -1
- data/lib/amp/commands/commands/workflows/git/rm.rb +4 -2
- data/lib/amp/commands/commands/workflows/hg/add.rb +1 -1
- data/lib/amp/commands/commands/workflows/hg/addremove.rb +2 -2
- data/lib/amp/commands/commands/workflows/hg/annotate.rb +8 -2
- data/lib/amp/commands/commands/workflows/hg/bisect.rb +253 -0
- data/lib/amp/commands/commands/workflows/hg/branch.rb +1 -1
- data/lib/amp/commands/commands/workflows/hg/branches.rb +3 -3
- data/lib/amp/commands/commands/workflows/hg/bundle.rb +3 -3
- data/lib/amp/commands/commands/workflows/hg/clone.rb +4 -5
- data/lib/amp/commands/commands/workflows/hg/commit.rb +37 -1
- data/lib/amp/commands/commands/workflows/hg/copy.rb +2 -1
- data/lib/amp/commands/commands/workflows/hg/debug/index.rb +1 -1
- data/lib/amp/commands/commands/workflows/hg/diff.rb +3 -8
- data/lib/amp/commands/commands/workflows/hg/forget.rb +5 -4
- data/lib/amp/commands/commands/workflows/hg/identify.rb +6 -6
- data/lib/amp/commands/commands/workflows/hg/import.rb +1 -1
- data/lib/amp/commands/commands/workflows/hg/incoming.rb +2 -2
- data/lib/amp/commands/commands/workflows/hg/log.rb +5 -4
- data/lib/amp/commands/commands/workflows/hg/merge.rb +1 -1
- data/lib/amp/commands/commands/workflows/hg/move.rb +5 -3
- data/lib/amp/commands/commands/workflows/hg/outgoing.rb +1 -1
- data/lib/amp/commands/commands/workflows/hg/push.rb +6 -7
- data/lib/amp/commands/commands/workflows/hg/remove.rb +2 -2
- data/lib/amp/commands/commands/workflows/hg/resolve.rb +6 -23
- data/lib/amp/commands/commands/workflows/hg/root.rb +1 -2
- data/lib/amp/commands/commands/workflows/hg/status.rb +21 -12
- data/lib/amp/commands/commands/workflows/hg/tag.rb +2 -2
- data/lib/amp/commands/commands/workflows/hg/untrack.rb +12 -0
- data/lib/amp/commands/commands/workflows/hg/verify.rb +13 -3
- data/lib/amp/commands/commands/workflows/hg/what_changed.rb +18 -0
- data/lib/amp/commands/dispatch.rb +12 -13
- data/lib/amp/dependencies/amp_support.rb +1 -1
- data/lib/amp/dependencies/amp_support/ruby_amp_support.rb +1 -0
- data/lib/amp/dependencies/maruku.rb +136 -0
- data/lib/amp/dependencies/maruku/attributes.rb +227 -0
- data/lib/amp/dependencies/maruku/defaults.rb +71 -0
- data/lib/amp/dependencies/maruku/errors_management.rb +92 -0
- data/lib/amp/dependencies/maruku/helpers.rb +260 -0
- data/lib/amp/dependencies/maruku/input/charsource.rb +326 -0
- data/lib/amp/dependencies/maruku/input/extensions.rb +69 -0
- data/lib/amp/dependencies/maruku/input/html_helper.rb +189 -0
- data/lib/amp/dependencies/maruku/input/linesource.rb +111 -0
- data/lib/amp/dependencies/maruku/input/parse_block.rb +615 -0
- data/lib/amp/dependencies/maruku/input/parse_doc.rb +234 -0
- data/lib/amp/dependencies/maruku/input/parse_span_better.rb +746 -0
- data/lib/amp/dependencies/maruku/input/rubypants.rb +225 -0
- data/lib/amp/dependencies/maruku/input/type_detection.rb +147 -0
- data/lib/amp/dependencies/maruku/input_textile2/t2_parser.rb +163 -0
- data/lib/amp/dependencies/maruku/maruku.rb +33 -0
- data/lib/amp/dependencies/maruku/output/to_ansi.rb +223 -0
- data/lib/amp/dependencies/maruku/output/to_html.rb +991 -0
- data/lib/amp/dependencies/maruku/output/to_markdown.rb +164 -0
- data/lib/amp/dependencies/maruku/output/to_s.rb +56 -0
- data/lib/amp/dependencies/maruku/string_utils.rb +191 -0
- data/lib/amp/dependencies/maruku/structures.rb +167 -0
- data/lib/amp/dependencies/maruku/structures_inspect.rb +87 -0
- data/lib/amp/dependencies/maruku/structures_iterators.rb +61 -0
- data/lib/amp/dependencies/maruku/textile2.rb +1 -0
- data/lib/amp/dependencies/maruku/toc.rb +199 -0
- data/lib/amp/dependencies/maruku/usage/example1.rb +33 -0
- data/lib/amp/dependencies/maruku/version.rb +40 -0
- data/lib/amp/dependencies/priority_queue.rb +2 -1
- data/lib/amp/dependencies/python_config.rb +2 -1
- data/lib/amp/graphs/ancestor.rb +2 -1
- data/lib/amp/graphs/copies.rb +236 -233
- data/lib/amp/help/entries/__default__.erb +31 -0
- data/lib/amp/help/entries/commands.erb +6 -0
- data/lib/amp/help/entries/mdtest.md +35 -0
- data/lib/amp/help/entries/silly +3 -0
- data/lib/amp/help/help.rb +288 -0
- data/lib/amp/profiling_hacks.rb +5 -3
- data/lib/amp/repository/abstract/abstract_changeset.rb +97 -0
- data/lib/amp/repository/abstract/abstract_local_repo.rb +181 -0
- data/lib/amp/repository/abstract/abstract_staging_area.rb +180 -0
- data/lib/amp/repository/abstract/abstract_versioned_file.rb +100 -0
- data/lib/amp/repository/abstract/common_methods/changeset.rb +75 -0
- data/lib/amp/repository/abstract/common_methods/local_repo.rb +277 -0
- data/lib/amp/repository/abstract/common_methods/staging_area.rb +233 -0
- data/lib/amp/repository/abstract/common_methods/versioned_file.rb +71 -0
- data/lib/amp/repository/generic_repo_picker.rb +78 -0
- data/lib/amp/repository/git/repo_format/changeset.rb +336 -0
- data/lib/amp/repository/git/repo_format/staging_area.rb +192 -0
- data/lib/amp/repository/git/repo_format/versioned_file.rb +119 -0
- data/lib/amp/repository/git/repositories/local_repository.rb +164 -0
- data/lib/amp/repository/git/repository.rb +41 -0
- data/lib/amp/repository/mercurial/encoding/mercurial_diff.rb +382 -0
- data/lib/amp/repository/mercurial/encoding/mercurial_patch.rb +1 -0
- data/lib/amp/repository/mercurial/encoding/patch.rb +294 -0
- data/lib/amp/repository/mercurial/encoding/pure_ruby/ruby_mercurial_patch.rb +124 -0
- data/lib/amp/repository/mercurial/merging/merge_ui.rb +327 -0
- data/lib/amp/repository/mercurial/merging/simple_merge.rb +452 -0
- data/lib/amp/repository/mercurial/repo_format/branch_manager.rb +266 -0
- data/lib/amp/repository/mercurial/repo_format/changeset.rb +768 -0
- data/lib/amp/repository/mercurial/repo_format/dir_state.rb +716 -0
- data/lib/amp/repository/mercurial/repo_format/journal.rb +218 -0
- data/lib/amp/repository/mercurial/repo_format/lock.rb +210 -0
- data/lib/amp/repository/mercurial/repo_format/merge_state.rb +228 -0
- data/lib/amp/repository/mercurial/repo_format/staging_area.rb +367 -0
- data/lib/amp/repository/mercurial/repo_format/store.rb +487 -0
- data/lib/amp/repository/mercurial/repo_format/tag_manager.rb +322 -0
- data/lib/amp/repository/mercurial/repo_format/updatable.rb +543 -0
- data/lib/amp/repository/mercurial/repo_format/updater.rb +848 -0
- data/lib/amp/repository/mercurial/repo_format/verification.rb +433 -0
- data/lib/amp/repository/mercurial/repositories/bundle_repository.rb +216 -0
- data/lib/amp/repository/mercurial/repositories/http_repository.rb +386 -0
- data/lib/amp/repository/mercurial/repositories/local_repository.rb +2034 -0
- data/lib/amp/repository/mercurial/repository.rb +119 -0
- data/lib/amp/repository/mercurial/revlogs/bundle_revlogs.rb +249 -0
- data/lib/amp/repository/mercurial/revlogs/changegroup.rb +217 -0
- data/lib/amp/repository/mercurial/revlogs/changelog.rb +339 -0
- data/lib/amp/repository/mercurial/revlogs/file_log.rb +152 -0
- data/lib/amp/repository/mercurial/revlogs/index.rb +500 -0
- data/lib/amp/repository/mercurial/revlogs/manifest.rb +201 -0
- data/lib/amp/repository/mercurial/revlogs/node.rb +20 -0
- data/lib/amp/repository/mercurial/revlogs/revlog.rb +1026 -0
- data/lib/amp/repository/mercurial/revlogs/revlog_support.rb +129 -0
- data/lib/amp/repository/mercurial/revlogs/versioned_file.rb +597 -0
- data/lib/amp/repository/repository.rb +11 -88
- data/lib/amp/server/extension/amp_extension.rb +3 -3
- data/lib/amp/server/fancy_http_server.rb +1 -1
- data/lib/amp/server/fancy_views/_browser.haml +1 -1
- data/lib/amp/server/fancy_views/_diff_file.haml +1 -8
- data/lib/amp/server/fancy_views/changeset.haml +2 -2
- data/lib/amp/server/fancy_views/file.haml +1 -1
- data/lib/amp/server/fancy_views/file_diff.haml +1 -1
- data/lib/amp/support/amp_ui.rb +13 -29
- data/lib/amp/support/generator.rb +1 -1
- data/lib/amp/support/loaders.rb +1 -2
- data/lib/amp/support/logger.rb +10 -16
- data/lib/amp/support/match.rb +18 -4
- data/lib/amp/support/mercurial/ignore.rb +151 -0
- data/lib/amp/support/openers.rb +8 -3
- data/lib/amp/support/support.rb +91 -46
- data/lib/amp/templates/{blank.commit.erb → mercurial/blank.commit.erb} +0 -0
- data/lib/amp/templates/{blank.log.erb → mercurial/blank.log.erb} +0 -0
- data/lib/amp/templates/{default.commit.erb → mercurial/default.commit.erb} +0 -0
- data/lib/amp/templates/{default.log.erb → mercurial/default.log.erb} +0 -0
- data/lib/amp/templates/template.rb +18 -18
- data/man/amp.1 +51 -0
- data/site/src/about/commands.haml +1 -1
- data/site/src/css/amp.css +1 -1
- data/site/src/index.haml +3 -3
- data/tasks/man.rake +39 -0
- data/tasks/stats.rake +1 -10
- data/tasks/yard.rake +1 -50
- data/test/dirstate_tests/test_dir_state.rb +10 -8
- data/test/functional_tests/annotate.out +31 -0
- data/test/functional_tests/test_functional.rb +155 -63
- data/test/localrepo_tests/ampfile.rb +12 -0
- data/test/localrepo_tests/test_local_repo.rb +56 -57
- data/test/manifest_tests/test_manifest.rb +3 -5
- data/test/merge_tests/test_merge.rb +3 -3
- data/test/revlog_tests/test_revlog.rb +14 -6
- data/test/store_tests/test_fncache_store.rb +19 -19
- data/test/test_19_compatibility.rb +46 -0
- data/test/test_base85.rb +2 -2
- data/test/test_bdiff.rb +2 -2
- data/test/test_changegroup.rb +59 -0
- data/test/test_commands.rb +2 -2
- data/test/test_difflib.rb +2 -2
- data/test/test_generator.rb +34 -0
- data/test/test_ignore.rb +203 -0
- data/test/test_journal.rb +18 -13
- data/test/test_match.rb +2 -2
- data/test/test_mdiff.rb +3 -3
- data/test/test_mpatch.rb +3 -3
- data/test/test_multi_io.rb +40 -0
- data/test/test_support.rb +18 -2
- data/test/test_templates.rb +38 -0
- data/test/test_ui.rb +79 -0
- data/test/testutilities.rb +56 -0
- metadata +168 -49
- data/ext/amp/bz2/mkmf.log +0 -38
- data/lib/amp/encoding/mercurial_diff.rb +0 -378
- data/lib/amp/encoding/mercurial_patch.rb +0 -1
- data/lib/amp/encoding/patch.rb +0 -292
- data/lib/amp/encoding/pure_ruby/ruby_mercurial_patch.rb +0 -123
- data/lib/amp/merges/merge_state.rb +0 -164
- data/lib/amp/merges/merge_ui.rb +0 -322
- data/lib/amp/merges/simple_merge.rb +0 -450
- data/lib/amp/repository/branch_manager.rb +0 -234
- data/lib/amp/repository/dir_state.rb +0 -950
- data/lib/amp/repository/journal.rb +0 -203
- data/lib/amp/repository/lock.rb +0 -207
- data/lib/amp/repository/repositories/bundle_repository.rb +0 -214
- data/lib/amp/repository/repositories/http_repository.rb +0 -377
- data/lib/amp/repository/repositories/local_repository.rb +0 -2661
- data/lib/amp/repository/store.rb +0 -485
- data/lib/amp/repository/tag_manager.rb +0 -319
- data/lib/amp/repository/updatable.rb +0 -532
- data/lib/amp/repository/verification.rb +0 -431
- data/lib/amp/repository/versioned_file.rb +0 -475
- data/lib/amp/revlogs/bundle_revlogs.rb +0 -246
- data/lib/amp/revlogs/changegroup.rb +0 -217
- data/lib/amp/revlogs/changelog.rb +0 -338
- data/lib/amp/revlogs/changeset.rb +0 -521
- data/lib/amp/revlogs/file_log.rb +0 -165
- data/lib/amp/revlogs/index.rb +0 -493
- data/lib/amp/revlogs/manifest.rb +0 -195
- data/lib/amp/revlogs/node.rb +0 -18
- data/lib/amp/revlogs/revlog.rb +0 -1045
- data/lib/amp/revlogs/revlog_support.rb +0 -126
- data/lib/amp/support/ignore.rb +0 -144
- data/site/Rakefile +0 -38
- data/test/test_amp.rb +0 -9
- data/test/test_helper.rb +0 -15
data/ampfile.rb
CHANGED
|
@@ -17,7 +17,7 @@ Amp::Command.new("silly") do |c|
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
# command :push do |c|
|
|
20
|
-
#
|
|
20
|
+
# c.before { system "hg verify" }
|
|
21
21
|
# end
|
|
22
22
|
|
|
23
23
|
template :silly, <<-EOF
|
|
@@ -39,6 +39,8 @@ command "stats" do |c|
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
# bisect_command
|
|
43
|
+
|
|
42
44
|
namespace :docs do
|
|
43
45
|
|
|
44
46
|
command "gen" do |c|
|
data/bin/amp
CHANGED
data/ext/amp/bz2/extconf.rb
CHANGED
|
@@ -19,7 +19,7 @@ end
|
|
|
19
19
|
|
|
20
20
|
dir_config('bz2')
|
|
21
21
|
if !have_library('bz2', 'BZ2_bzWriteOpen')
|
|
22
|
-
raise "
|
|
22
|
+
raise "bzip2 headers not found. If you are on Linux, install the libbz2-dev package. If you are on Mac OS X, you should not see this error."
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
if enable_config("shared", true)
|
|
@@ -33,7 +33,7 @@ static uint32_t ntohl(uint32_t x)
|
|
|
33
33
|
#endif
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
VALUE rb_mAmp, rb_mDiffs, rb_mMercurialPatch;
|
|
36
|
+
VALUE rb_mAmp, rb_mMercurial, rb_mDiffs, rb_mMercurialPatch;
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
struct frag {
|
|
@@ -394,11 +394,12 @@ static VALUE amp_mpatch_patched_size(VALUE self, VALUE orig_r, VALUE bin_r)
|
|
|
394
394
|
}
|
|
395
395
|
|
|
396
396
|
|
|
397
|
-
void
|
|
397
|
+
void Init_CMercurialPatch() {
|
|
398
398
|
|
|
399
399
|
rb_mAmp = rb_define_module("Amp");
|
|
400
400
|
rb_mDiffs = rb_define_module_under(rb_mAmp, "Diffs");
|
|
401
|
-
|
|
401
|
+
rb_mMercurial = rb_define_module_under(rb_mDiffs, "Mercurial");
|
|
402
|
+
rb_mMercurialPatch = rb_define_module_under(rb_mMercurial, "MercurialPatch");
|
|
402
403
|
|
|
403
404
|
rb_define_singleton_method(rb_mMercurialPatch, "patched_size", amp_mpatch_patched_size, 2);
|
|
404
405
|
rb_define_singleton_method(rb_mMercurialPatch, "apply_patches", amp_mpatch_apply_patches, 2);
|
data/ext/amp/support/extconf.rb
CHANGED
data/ext/amp/support/support.c
CHANGED
|
@@ -221,7 +221,7 @@ static VALUE amp_string_unhexlify(VALUE self) {
|
|
|
221
221
|
* this function is run. All we need to do is add the new methods, and look up the
|
|
222
222
|
* symbols for to_dirstate_symbol.
|
|
223
223
|
*/
|
|
224
|
-
void
|
|
224
|
+
void Init_CSupport() {
|
|
225
225
|
if (little_endian == -1) little_endian = (ntohl(8) != 8);
|
|
226
226
|
|
|
227
227
|
// methods added to String class
|
data/lib/amp.rb
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
module Amp; end
|
|
2
2
|
# The root directory of this application
|
|
3
3
|
Amp::CODE_ROOT = File.expand_path File.dirname(__FILE__)
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Amp::EXT_ROOT = File.expand_path File.join(File.dirname(__FILE__), "..", "ext")
|
|
5
|
+
$:.unshift Amp::CODE_ROOT # now we don't need to do `require "#{curdir}..."
|
|
6
|
+
$:.unshift Amp::EXT_ROOT
|
|
6
7
|
# Timing variable
|
|
7
8
|
$start ||= Time.now
|
|
8
9
|
# Should we display anything?
|
|
@@ -12,15 +13,18 @@ $USE_RUBY ||= false
|
|
|
12
13
|
# Are we a command-line app? Default to no.
|
|
13
14
|
$cl ||= false
|
|
14
15
|
|
|
16
|
+
|
|
17
|
+
|
|
15
18
|
require "amp/support/loaders.rb"
|
|
16
19
|
|
|
20
|
+
need { 'amp/profiling_hacks' }
|
|
21
|
+
|
|
17
22
|
#require 'profile'
|
|
18
23
|
require 'fileutils'
|
|
19
24
|
require 'stringio'
|
|
20
25
|
|
|
21
26
|
local_start = Time.now
|
|
22
27
|
|
|
23
|
-
|
|
24
28
|
###############
|
|
25
29
|
# The Amp Magic
|
|
26
30
|
###############
|
|
@@ -30,87 +34,138 @@ module Amp
|
|
|
30
34
|
autoload :Generator, "amp/support/generator.rb"
|
|
31
35
|
autoload :Opener, "amp/support/openers.rb"
|
|
32
36
|
autoload :Match, "amp/support/match.rb"
|
|
33
|
-
autoload :Ignore, "amp/support/ignore.rb"
|
|
34
37
|
autoload :AmpConfig, "amp/support/amp_config.rb"
|
|
35
38
|
autoload :UI, "amp/support/amp_ui.rb"
|
|
36
|
-
|
|
37
|
-
autoload :Journal, "amp/repository/journal.rb"
|
|
38
|
-
autoload :VersionedFile, "amp/repository/versioned_file.rb"
|
|
39
|
-
autoload :VersionedWorkingFile, "amp/repository/versioned_file.rb"
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
module Git
|
|
41
|
+
autoload :Changeset, "amp/repository/git/repo_format/changeset.rb"
|
|
42
|
+
autoload :WorkingDirectoryChangeset, "amp/repository/git/repo_format/changeset.rb"
|
|
43
|
+
autoload :VersionedFile, "amp/repository/git/repo_format/versioned_file.rb"
|
|
44
|
+
autoload :VersionedWorkingFile, "amp/repository/git/repo_format/versioned_file.rb"
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
module Mercurial
|
|
48
|
+
autoload :Ignore, "amp/support/mercurial/ignore.rb"
|
|
49
|
+
|
|
50
|
+
autoload :Journal, "amp/repository/mercurial/repo_format/journal.rb"
|
|
51
|
+
autoload :VersionedFile, "amp/repository/mercurial/revlogs/versioned_file.rb"
|
|
52
|
+
autoload :VersionedWorkingFile, "amp/repository/mercurial/revlogs/versioned_file.rb"
|
|
53
|
+
|
|
54
|
+
autoload :Revlog, "amp/repository/mercurial/revlogs/revlog.rb"
|
|
55
|
+
autoload :Manifest, "amp/repository/mercurial/revlogs/manifest.rb"
|
|
56
|
+
autoload :FileLog, "amp/repository/mercurial/revlogs/file_log.rb"
|
|
57
|
+
autoload :ChangeLog, "amp/repository/mercurial/revlogs/changelog.rb"
|
|
58
|
+
autoload :ChangeGroup, "amp/repository/mercurial/revlogs/changegroup.rb"
|
|
59
|
+
autoload :Changeset, "amp/repository/mercurial/repo_format/changeset.rb"
|
|
60
|
+
autoload :WorkingDirectoryChangeset, "amp/repository/mercurial/repo_format/changeset.rb"
|
|
61
|
+
end
|
|
48
62
|
|
|
49
63
|
module Bundles
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
module Mercurial
|
|
65
|
+
autoload :BundleChangeLog, "amp/repository/mercurial/revlogs/bundle_revlogs.rb"
|
|
66
|
+
autoload :BundleFileLog, "amp/repository/mercurial/revlogs/bundle_revlogs.rb"
|
|
67
|
+
autoload :BundleManifest, "amp/repository/mercurial/revlogs/bundle_revlogs.rb"
|
|
68
|
+
autoload :BundleRevlog, "amp/repository/mercurial/revlogs/bundle_revlogs.rb"
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
module Encoding
|
|
57
73
|
autoload :Base85, "amp/encoding/base85.rb"
|
|
58
74
|
end
|
|
59
75
|
|
|
60
|
-
module Diffs
|
|
76
|
+
module Diffs
|
|
61
77
|
autoload :BinaryDiff, "amp/encoding/binary_diff.rb"
|
|
62
|
-
autoload :MercurialDiff, "amp/encoding/mercurial_diff.rb"
|
|
63
|
-
autoload :MercurialPatch, "amp/encoding/mercurial_patch.rb"
|
|
64
78
|
autoload :SequenceMatcher, "amp/encoding/difflib.rb"
|
|
79
|
+
|
|
80
|
+
module Mercurial
|
|
81
|
+
autoload :MercurialDiff, "amp/repository/mercurial/encoding/mercurial_diff.rb"
|
|
82
|
+
autoload :MercurialPatch, "amp/repository/mercurial/encoding/mercurial_patch.rb"
|
|
83
|
+
end
|
|
65
84
|
end
|
|
66
85
|
|
|
67
86
|
module Graphs
|
|
68
|
-
autoload :AncestorCalculator,
|
|
69
|
-
|
|
87
|
+
autoload :AncestorCalculator, "amp/graphs/ancestor.rb"
|
|
88
|
+
module Mercurial
|
|
89
|
+
autoload :CopyCalculator, "amp/graphs/copies.rb"
|
|
90
|
+
end
|
|
70
91
|
end
|
|
71
|
-
|
|
72
|
-
module
|
|
73
|
-
autoload :
|
|
74
|
-
autoload :
|
|
75
|
-
autoload :
|
|
92
|
+
|
|
93
|
+
module Help
|
|
94
|
+
autoload :HelpUI, "amp/help/help.rb"
|
|
95
|
+
autoload :HelpEntry, "amp/help/help.rb"
|
|
96
|
+
autoload :HelpRegistry, "amp/help/help.rb"
|
|
97
|
+
autoload :CommandHelpEntry, "amp/help/help.rb"
|
|
98
|
+
autoload :FileHelpEntry, "amp/help/help.rb"
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
module Merges
|
|
102
|
+
module Mercurial
|
|
103
|
+
autoload :MergeState, "amp/repository/mercurial/repo_format/merge_state.rb"
|
|
104
|
+
autoload :MergeUI, "amp/repository/mercurial/merging/merge_ui.rb"
|
|
105
|
+
autoload :ThreeWayMerger, "amp/repository/mercurial/merging/simple_merge.rb"
|
|
106
|
+
end
|
|
76
107
|
end
|
|
77
108
|
|
|
78
109
|
module Repositories
|
|
79
|
-
autoload :
|
|
80
|
-
autoload :
|
|
81
|
-
autoload :
|
|
82
|
-
autoload :
|
|
83
|
-
autoload :
|
|
84
|
-
autoload :
|
|
85
|
-
autoload :
|
|
86
|
-
autoload :
|
|
87
|
-
autoload :
|
|
88
|
-
autoload :
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
110
|
+
autoload :GenericRepoPicker, "amp/repository/generic_repo_picker.rb"
|
|
111
|
+
autoload :AbstractLocalRepository, "amp/repository/abstract/abstract_local_repo.rb"
|
|
112
|
+
autoload :AbstractStagingArea, "amp/repository/abstract/abstract_staging_area.rb"
|
|
113
|
+
autoload :AbstractChangeset, "amp/repository/abstract/abstract_changeset.rb"
|
|
114
|
+
autoload :AbstractVersionedFile, "amp/repository/abstract/abstract_versioned_file.rb"
|
|
115
|
+
autoload :CommonChangesetMethods, "amp/repository/abstract/common_methods/changeset.rb"
|
|
116
|
+
autoload :CommonLocalRepoMethods, "amp/repository/abstract/common_methods/local_repo.rb"
|
|
117
|
+
autoload :CommonStagingAreaMethods, "amp/repository/abstract/common_methods/staging_area.rb"
|
|
118
|
+
autoload :CommonChangesetMethods, "amp/repository/abstract/common_methods/changeset.rb"
|
|
119
|
+
autoload :CommonVersionedFileMethods,"amp/repository/abstract/common_methods/versioned_file.rb"
|
|
120
|
+
|
|
121
|
+
module Git
|
|
122
|
+
autoload :LocalRepository, "amp/repository/git/repositories/local_repository.rb"
|
|
123
|
+
autoload :GitPicker, "amp/repository/git/repository.rb"
|
|
124
|
+
autoload :StagingArea, "amp/repository/git/repo_format/staging_area.rb"
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
module Mercurial
|
|
128
|
+
autoload :BranchManager, "amp/repository/mercurial/repo_format/branch_manager.rb"
|
|
129
|
+
autoload :BundleRepository, "amp/repository/mercurial/repositories/bundle_repository.rb"
|
|
130
|
+
autoload :DirState, "amp/repository/mercurial/repo_format/dir_state.rb"
|
|
131
|
+
autoload :HTTPRepository, "amp/repository/mercurial/repositories/http_repository.rb"
|
|
132
|
+
autoload :HTTPSRepository, "amp/repository/mercurial/repositories/http_repository.rb"
|
|
133
|
+
autoload :LocalRepository, "amp/repository/mercurial/repositories/local_repository.rb"
|
|
134
|
+
autoload :Lock, "amp/repository/mercurial/repo_format/lock.rb"
|
|
135
|
+
autoload :MercurialPicker, "amp/repository/mercurial/repository.rb"
|
|
136
|
+
autoload :Repository, "amp/repository/mercurial/repository.rb"
|
|
137
|
+
autoload :StagingArea, "amp/repository/mercurial/repo_format/staging_area.rb"
|
|
138
|
+
autoload :Stores, "amp/repository/mercurial/repo_format/store.rb"
|
|
139
|
+
autoload :TagManager, "amp/repository/mercurial/repo_format/tag_manager.rb"
|
|
140
|
+
autoload :Updatable, "amp/repository/mercurial/repo_format/updatable.rb"
|
|
141
|
+
autoload :Verification, "amp/repository/mercurial/repo_format/verification.rb"
|
|
142
|
+
end
|
|
100
143
|
end
|
|
101
144
|
|
|
102
|
-
module
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
145
|
+
module Mercurial
|
|
146
|
+
module RevlogSupport
|
|
147
|
+
autoload :ChangeGroup, "amp/repository/mercurial/revlogs/changegroup.rb"
|
|
148
|
+
autoload :Index, "amp/repository/mercurial/revlogs/index.rb"
|
|
149
|
+
autoload :IndexInlineNG, "amp/repository/mercurial/revlogs/index.rb"
|
|
150
|
+
autoload :IndexVersion0, "amp/repository/mercurial/revlogs/index.rb"
|
|
151
|
+
autoload :IndexVersionNG, "amp/repository/mercurial/revlogs/index.rb"
|
|
152
|
+
autoload :Node, "amp/repository/mercurial/revlogs/node.rb"
|
|
153
|
+
autoload :Support, "amp/repository/mercurial/revlogs/revlog_support.rb"
|
|
154
|
+
end
|
|
108
155
|
end
|
|
109
156
|
|
|
110
|
-
module
|
|
111
|
-
autoload :
|
|
112
|
-
autoload :
|
|
113
|
-
autoload :
|
|
157
|
+
module Servers
|
|
158
|
+
autoload :FancyHTTPServer, "amp/server/fancy_http_server.rb"
|
|
159
|
+
autoload :HTTPServer, "amp/server/http_server.rb"
|
|
160
|
+
autoload :HTTPAuthorizedServer, "amp/server/http_server.rb"
|
|
161
|
+
autoload :RepoUserManagement, "amp/server/repo_user_management.rb"
|
|
162
|
+
autoload :User, "amp/server/amp_user.rb"
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
module Support
|
|
166
|
+
autoload :Logger, "amp/support/logger.rb"
|
|
167
|
+
autoload :MultiIO, "amp/support/multi_io.rb"
|
|
168
|
+
autoload :Template, "amp/templates/template.rb"
|
|
114
169
|
end
|
|
115
170
|
end
|
|
116
171
|
|
|
@@ -128,6 +183,7 @@ end
|
|
|
128
183
|
autoload :Archive, "amp/dependencies/minitar.rb"
|
|
129
184
|
autoload :Zip, "amp/dependencies/zip/zip.rb"
|
|
130
185
|
autoload :PriorityQueue, "amp/dependencies/priority_queue.rb"
|
|
186
|
+
autoload :Maruku, "amp/dependencies/maruku.rb"
|
|
131
187
|
|
|
132
188
|
#############################
|
|
133
189
|
# Files we need to just *run*
|
|
@@ -138,22 +194,24 @@ require "amp/dependencies/amp_support.rb"
|
|
|
138
194
|
require "amp/support/ruby_19_compatibility.rb"
|
|
139
195
|
require "amp/support/support.rb"
|
|
140
196
|
require "amp/templates/template.rb"
|
|
197
|
+
require "amp/repository/mercurial/repository.rb" # we're just loading in
|
|
198
|
+
require 'amp/repository/git/repository.rb' # all of the base repositories
|
|
141
199
|
|
|
142
200
|
if $cl # if it's a command line app
|
|
143
201
|
include Amp::KernelMethods
|
|
144
202
|
require "amp/commands/command.rb"
|
|
145
203
|
require_dir { "amp/commands/*.rb" }
|
|
146
204
|
require_dir { "amp/commands/commands/*.rb" }
|
|
147
|
-
|
|
148
205
|
else
|
|
149
206
|
# it's not a command line app
|
|
150
207
|
require 'amp/support/docs.rb' # live documentation access
|
|
151
208
|
end
|
|
209
|
+
|
|
152
210
|
require "amp/repository/repository.rb"
|
|
153
211
|
|
|
154
212
|
module Amp
|
|
155
|
-
VERSION = '0.5.
|
|
156
|
-
VERSION_TITLE = "John Locke"
|
|
213
|
+
VERSION = '0.5.3'
|
|
214
|
+
VERSION_TITLE = "John Locke" # the next one should totally be "Suomalaisen Susijengi"
|
|
157
215
|
|
|
158
216
|
def self.new_irb_session(bndng)
|
|
159
217
|
require 'irb'
|
|
@@ -197,4 +255,4 @@ if ENV["TESTING"] == "true"
|
|
|
197
255
|
end
|
|
198
256
|
|
|
199
257
|
# Benchmarking stuff
|
|
200
|
-
|
|
258
|
+
|
data/lib/amp/commands/command.rb
CHANGED
|
@@ -147,8 +147,8 @@ module Amp
|
|
|
147
147
|
attr_accessor :name
|
|
148
148
|
# Short, 1-line description of the command
|
|
149
149
|
attr_accessor :description
|
|
150
|
-
# The Trollop parser
|
|
151
|
-
|
|
150
|
+
# The Trollop parser.
|
|
151
|
+
attr_reader :parser
|
|
152
152
|
|
|
153
153
|
##
|
|
154
154
|
# Creates a command in the Amp system. Simply instantiating a new
|
|
@@ -177,7 +177,7 @@ module Amp
|
|
|
177
177
|
full_name = (self.class.current_namespaces + [name]).join(":")
|
|
178
178
|
name = full_name.to_sym
|
|
179
179
|
if self.class.all_commands[name]
|
|
180
|
-
yield
|
|
180
|
+
yield self.class.all_commands[name] if block_given?
|
|
181
181
|
return self.class.all_commands[name]
|
|
182
182
|
end
|
|
183
183
|
|
|
@@ -190,9 +190,10 @@ module Amp
|
|
|
190
190
|
|
|
191
191
|
@workflows = []
|
|
192
192
|
@synonyms = []
|
|
193
|
-
yield
|
|
193
|
+
yield self if block_given?
|
|
194
194
|
workflow :all if @workflows.empty?
|
|
195
195
|
@options += GLOBAL_OPTIONS
|
|
196
|
+
Amp::Help::CommandHelpEntry.new(full_name, self)
|
|
196
197
|
end
|
|
197
198
|
|
|
198
199
|
##
|
|
@@ -225,10 +226,10 @@ module Amp
|
|
|
225
226
|
# default :"no-color", true
|
|
226
227
|
# end
|
|
227
228
|
# @param [Symbol, #to_sym] opt the option to modify. Can be symbol or string.
|
|
228
|
-
# @param value the new default value for the option
|
|
229
|
+
# @param [Object] value the new default value for the option
|
|
229
230
|
def default(opt, value)
|
|
230
231
|
opt = opt.to_sym
|
|
231
|
-
the_opt = @options.
|
|
232
|
+
the_opt = @options.find {|o| o[:name] == opt }
|
|
232
233
|
if the_opt
|
|
233
234
|
the_opt[:options][:default] = value
|
|
234
235
|
end
|
|
@@ -307,7 +308,8 @@ module Amp
|
|
|
307
308
|
|
|
308
309
|
@before << block if block
|
|
309
310
|
@before
|
|
310
|
-
end
|
|
311
|
+
end
|
|
312
|
+
|
|
311
313
|
##
|
|
312
314
|
# This returns the list of actions to run after the command, in order (first
|
|
313
315
|
# ones are run first). You can modify this array in any way you choose, and
|
|
@@ -456,14 +458,14 @@ module Amp
|
|
|
456
458
|
# @return [Amp::Command] the command being run
|
|
457
459
|
def run(options={}, args=[])
|
|
458
460
|
# run the before commands
|
|
459
|
-
@before.each {|cmd| result = cmd.run options, args; return if !result || $break }
|
|
461
|
+
@before.each {|cmd| result = cmd.run options, args; return false if !result || $break }
|
|
460
462
|
|
|
461
463
|
@code[options, args] # and of course the actual command...
|
|
462
464
|
|
|
463
465
|
# top it off with the after commands
|
|
464
|
-
@after.each {|cmd| result = cmd.run options, args; return if !result || $break }
|
|
466
|
+
@after.each {|cmd| result = cmd.run options, args; return false if !result || $break }
|
|
465
467
|
|
|
466
|
-
|
|
468
|
+
true
|
|
467
469
|
end
|
|
468
470
|
|
|
469
471
|
NO_REPO_ALLOWED = {}
|
|
@@ -47,7 +47,7 @@ module Amp
|
|
|
47
47
|
def revision_pair(repo, revisions)
|
|
48
48
|
#revisions = [revisions] unless revisions.is_a?(Array)
|
|
49
49
|
if !revisions || revisions.empty?
|
|
50
|
-
return repo.
|
|
50
|
+
return repo.parents.first, nil
|
|
51
51
|
end
|
|
52
52
|
stop = nil
|
|
53
53
|
|
|
@@ -133,5 +133,12 @@ module Amp
|
|
|
133
133
|
message
|
|
134
134
|
end
|
|
135
135
|
|
|
136
|
+
def parse_revision_range(input)
|
|
137
|
+
match = input.match /(\d+)(?:#{REV_SEP}(\d*))?/
|
|
138
|
+
fin = match[2]
|
|
139
|
+
fin &&= fin.empty? ? nil : fin.to_i
|
|
140
|
+
[match[1].to_i, fin]
|
|
141
|
+
end
|
|
142
|
+
|
|
136
143
|
end
|
|
137
144
|
end
|