ohloh_scm 2.5.1 → 3.0.1
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.
- checksums.yaml +5 -5
- data/{bin → .bin}/accept_svn_ssl_certificate +0 -0
- data/.bin/check_scm_version +28 -0
- data/.bin/run-test +3 -0
- data/.bin/run-tests +3 -0
- data/{bin → .bin}/string_encoder +0 -0
- data/.git_hooks/pre-commit +20 -0
- data/.gitignore +1 -4
- data/.rubocop.yml +13 -0
- data/.ruby-version +1 -2
- data/.travis.yml +3 -2
- data/Dockerfile +8 -4
- data/Gemfile +14 -0
- data/Gemfile.lock +54 -0
- data/{COPYING → LICENSE.txt} +0 -0
- data/README.md +52 -116
- data/Rakefile +7 -29
- data/lib/ohloh_scm.rb +26 -32
- data/lib/ohloh_scm/activity.rb +38 -0
- data/lib/ohloh_scm/bzr.rb +12 -0
- data/lib/ohloh_scm/bzr/activity.rb +191 -0
- data/lib/ohloh_scm/bzr/scm.rb +24 -0
- data/lib/ohloh_scm/bzr/status.rb +8 -0
- data/lib/ohloh_scm/bzr/validation.rb +18 -0
- data/lib/ohloh_scm/commit.rb +44 -41
- data/lib/ohloh_scm/core.rb +22 -0
- data/lib/ohloh_scm/cvs.rb +11 -0
- data/lib/ohloh_scm/cvs/activity.rb +149 -0
- data/lib/ohloh_scm/cvs/scm.rb +149 -0
- data/lib/ohloh_scm/cvs/status.rb +14 -0
- data/lib/ohloh_scm/cvs/validation.rb +106 -0
- data/lib/ohloh_scm/data/git_ignore_list.rb +29 -0
- data/lib/ohloh_scm/diff.rb +42 -39
- data/lib/ohloh_scm/factory.rb +11 -0
- data/lib/ohloh_scm/git.rb +11 -0
- data/lib/ohloh_scm/git/activity.rb +317 -0
- data/lib/ohloh_scm/git/scm.rb +137 -0
- data/lib/ohloh_scm/git/status.rb +13 -0
- data/lib/ohloh_scm/git/validation.rb +18 -0
- data/lib/ohloh_scm/git_svn.rb +11 -0
- data/lib/ohloh_scm/git_svn/activity.rb +84 -0
- data/lib/ohloh_scm/git_svn/scm.rb +91 -0
- data/lib/ohloh_scm/git_svn/status.rb +8 -0
- data/lib/ohloh_scm/git_svn/validation.rb +8 -0
- data/lib/ohloh_scm/hg.rb +12 -0
- data/lib/ohloh_scm/hg/activity.rb +188 -0
- data/lib/ohloh_scm/hg/scm.rb +51 -0
- data/lib/ohloh_scm/hg/status.rb +8 -0
- data/lib/ohloh_scm/hg/validation.rb +18 -0
- data/lib/ohloh_scm/parser.rb +30 -0
- data/lib/ohloh_scm/parser/array_writer.rb +15 -0
- data/lib/ohloh_scm/parser/branch_number.rb +63 -0
- data/lib/ohloh_scm/{parsers → parser}/bzr_xml_parser.rb +65 -55
- data/lib/ohloh_scm/parser/cvs_parser.rb +161 -0
- data/lib/ohloh_scm/parser/git_parser.rb +128 -0
- data/lib/ohloh_scm/parser/hg_parser.rb +78 -0
- data/lib/ohloh_scm/{parsers → parser}/hg_style +0 -0
- data/lib/ohloh_scm/{parsers → parser}/hg_verbose_style +0 -0
- data/lib/ohloh_scm/parser/svn_parser.rb +83 -0
- data/lib/ohloh_scm/py_bridge.rb +9 -0
- data/lib/ohloh_scm/py_bridge/bzr_client.rb +28 -0
- data/lib/ohloh_scm/{adapters/bzrlib/bzrlib_pipe_server.py → py_bridge/bzr_server.py} +1 -1
- data/lib/ohloh_scm/py_bridge/hg_client.rb +30 -0
- data/lib/ohloh_scm/{adapters/hglib/server.py → py_bridge/hg_server.py} +0 -0
- data/lib/ohloh_scm/py_bridge/py_client.rb +45 -0
- data/lib/ohloh_scm/scm.rb +26 -0
- data/lib/ohloh_scm/status.rb +24 -0
- data/lib/ohloh_scm/string_extensions.rb +11 -0
- data/lib/ohloh_scm/svn.rb +11 -0
- data/lib/ohloh_scm/svn/activity.rb +95 -0
- data/lib/ohloh_scm/svn/scm.rb +95 -0
- data/lib/ohloh_scm/svn/status.rb +8 -0
- data/lib/ohloh_scm/svn/validation.rb +56 -0
- data/lib/ohloh_scm/system.rb +44 -0
- data/lib/ohloh_scm/validation.rb +83 -0
- data/lib/ohloh_scm/version.rb +8 -1
- data/ohloh_scm.gemspec +18 -15
- data/spec/.rubocop.yml +22 -0
- data/spec/benchmarks/hg_bzr_bash_vs_py_api.rb +39 -0
- data/spec/benchmarks/process_spawn_benchmark.rb +133 -0
- data/spec/helpers/assert_scm_attr_helper.rb +31 -0
- data/spec/helpers/commit_tokens_helper.rb +26 -0
- data/spec/helpers/generic_helper.rb +5 -0
- data/spec/helpers/repository_helper.rb +36 -0
- data/spec/helpers/system_helper.rb +25 -0
- data/spec/ohloh_scm/bzr/activity_spec.rb +460 -0
- data/spec/ohloh_scm/bzr/scm_spec.rb +17 -0
- data/spec/ohloh_scm/bzr/validation_spec.rb +37 -0
- data/spec/ohloh_scm/cvs/activity_spec.rb +93 -0
- data/spec/ohloh_scm/cvs/scm_spec.rb +112 -0
- data/spec/ohloh_scm/cvs/validation_spec.rb +78 -0
- data/spec/ohloh_scm/factory_spec.rb +16 -0
- data/spec/ohloh_scm/git/activity_spec.rb +402 -0
- data/spec/ohloh_scm/git/scm_spec.rb +57 -0
- data/spec/ohloh_scm/git/status_spec.rb +11 -0
- data/spec/ohloh_scm/git/validation_spec.rb +57 -0
- data/spec/ohloh_scm/git_svn/activity_spec.rb +89 -0
- data/spec/ohloh_scm/git_svn/scm_spec.rb +22 -0
- data/spec/ohloh_scm/hg/activity_spec.rb +323 -0
- data/spec/ohloh_scm/hg/scm_spec.rb +23 -0
- data/spec/ohloh_scm/hg/status_spec.rb +12 -0
- data/spec/ohloh_scm/hg/validation_spec.rb +32 -0
- data/spec/ohloh_scm/parser/array_writer_spec.rb +29 -0
- data/spec/ohloh_scm/parser/branch_number_spec.rb +126 -0
- data/spec/ohloh_scm/parser/cvs_parser_spec.rb +77 -0
- data/spec/ohloh_scm/parser/git_parser_spec.rb +102 -0
- data/spec/ohloh_scm/parser/hg_parser_spec.rb +194 -0
- data/spec/ohloh_scm/svn/activity_spec.rb +55 -0
- data/spec/ohloh_scm/svn/scm_spec.rb +75 -0
- data/spec/ohloh_scm/svn/validation_spec.rb +89 -0
- data/spec/ohloh_scm/svn_parser_spec.rb +146 -0
- data/spec/ohloh_scm/system_spec.rb +32 -0
- data/spec/ohloh_scm/version_spec.rb +9 -0
- data/{test/data → spec/raw_fixtures}/basic.rlog +0 -0
- data/{test/data → spec/raw_fixtures}/file_created_on_branch.rlog +0 -0
- data/{test/data → spec/raw_fixtures}/invalid-utf-word +0 -0
- data/{test/data → spec/raw_fixtures}/multiple_revisions.rlog +0 -0
- data/{test/data → spec/raw_fixtures}/sample-content +0 -0
- data/{test/data → spec/raw_fixtures}/simple.ohlog +1 -1
- data/{test/data → spec/raw_fixtures}/simple.svn_log +0 -0
- data/{test/data → spec/raw_fixtures}/simultaneous_checkins.rlog +0 -0
- data/{test/data → spec/raw_fixtures}/simultaneous_checkins_2.rlog +0 -0
- data/spec/scm_fixtures/bzr.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/bzr_colon.tgz +0 -0
- data/spec/scm_fixtures/bzr_large.tgz +0 -0
- data/spec/scm_fixtures/bzr_with_authors.tgz +0 -0
- data/spec/scm_fixtures/bzr_with_branch.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/bzr_with_invalid_encoding.tgz +0 -0
- data/spec/scm_fixtures/bzr_with_nested_branches.tgz +0 -0
- data/spec/scm_fixtures/bzr_with_subdirectories.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/cvs.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git_dupe_delete.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git_svn.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git_walk.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git_with_invalid_encoding.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git_with_master_tag.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git_with_multiple_branch.tgz +0 -0
- data/spec/scm_fixtures/git_with_mv.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/git_with_null_merge.tgz +0 -0
- data/spec/scm_fixtures/git_with_submodules.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/hg.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/hg_dupe_delete.tgz +0 -0
- data/spec/scm_fixtures/hg_large.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/hg_walk.tgz +0 -0
- data/{test/repositories → spec/scm_fixtures}/hg_with_invalid_encoding.tgz +0 -0
- data/spec/scm_fixtures/svn.tgz +0 -0
- data/spec/scm_fixtures/svn_subdir.tgz +0 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/string_encoder_spec.rb +32 -0
- metadata +224 -1052
- data/bin/ohlog +0 -152
- data/lib/ohloh_scm/adapters/abstract/misc.rb +0 -12
- data/lib/ohloh_scm/adapters/abstract/sha1.rb +0 -48
- data/lib/ohloh_scm/adapters/abstract/system.rb +0 -60
- data/lib/ohloh_scm/adapters/abstract/validation.rb +0 -77
- data/lib/ohloh_scm/adapters/abstract_adapter.rb +0 -32
- data/lib/ohloh_scm/adapters/bzr/cat_file.rb +0 -25
- data/lib/ohloh_scm/adapters/bzr/commits.rb +0 -100
- data/lib/ohloh_scm/adapters/bzr/head.rb +0 -19
- data/lib/ohloh_scm/adapters/bzr/misc.rb +0 -61
- data/lib/ohloh_scm/adapters/bzr/pull.rb +0 -22
- data/lib/ohloh_scm/adapters/bzr/push.rb +0 -51
- data/lib/ohloh_scm/adapters/bzr/validation.rb +0 -16
- data/lib/ohloh_scm/adapters/bzr_adapter.rb +0 -15
- data/lib/ohloh_scm/adapters/bzrlib/bzrlib_pipe_client.rb +0 -71
- data/lib/ohloh_scm/adapters/bzrlib/cat_file.rb +0 -9
- data/lib/ohloh_scm/adapters/bzrlib/head.rb +0 -9
- data/lib/ohloh_scm/adapters/bzrlib_adapter.rb +0 -25
- data/lib/ohloh_scm/adapters/cvs/commits.rb +0 -97
- data/lib/ohloh_scm/adapters/cvs/misc.rb +0 -212
- data/lib/ohloh_scm/adapters/cvs/validation.rb +0 -77
- data/lib/ohloh_scm/adapters/cvs_adapter.rb +0 -18
- data/lib/ohloh_scm/adapters/factory.rb +0 -38
- data/lib/ohloh_scm/adapters/git/cat_file.rb +0 -16
- data/lib/ohloh_scm/adapters/git/commit_all.rb +0 -141
- data/lib/ohloh_scm/adapters/git/commits.rb +0 -122
- data/lib/ohloh_scm/adapters/git/head.rb +0 -21
- data/lib/ohloh_scm/adapters/git/misc.rb +0 -107
- data/lib/ohloh_scm/adapters/git/patch.rb +0 -9
- data/lib/ohloh_scm/adapters/git/pull.rb +0 -124
- data/lib/ohloh_scm/adapters/git/push.rb +0 -39
- data/lib/ohloh_scm/adapters/git/token.rb +0 -53
- data/lib/ohloh_scm/adapters/git/validation.rb +0 -50
- data/lib/ohloh_scm/adapters/git_adapter.rb +0 -18
- data/lib/ohloh_scm/adapters/git_svn/cat_file.rb +0 -22
- data/lib/ohloh_scm/adapters/git_svn/commits.rb +0 -57
- data/lib/ohloh_scm/adapters/git_svn/head.rb +0 -9
- data/lib/ohloh_scm/adapters/git_svn/misc.rb +0 -24
- data/lib/ohloh_scm/adapters/git_svn/pull.rb +0 -80
- data/lib/ohloh_scm/adapters/git_svn_adapter.rb +0 -13
- data/lib/ohloh_scm/adapters/hg/cat_file.rb +0 -28
- data/lib/ohloh_scm/adapters/hg/commits.rb +0 -112
- data/lib/ohloh_scm/adapters/hg/head.rb +0 -29
- data/lib/ohloh_scm/adapters/hg/misc.rb +0 -40
- data/lib/ohloh_scm/adapters/hg/patch.rb +0 -9
- data/lib/ohloh_scm/adapters/hg/pull.rb +0 -23
- data/lib/ohloh_scm/adapters/hg/push.rb +0 -51
- data/lib/ohloh_scm/adapters/hg/validation.rb +0 -26
- data/lib/ohloh_scm/adapters/hg_adapter.rb +0 -21
- data/lib/ohloh_scm/adapters/hglib/cat_file.rb +0 -14
- data/lib/ohloh_scm/adapters/hglib/client.rb +0 -62
- data/lib/ohloh_scm/adapters/hglib/head.rb +0 -9
- data/lib/ohloh_scm/adapters/hglib_adapter.rb +0 -25
- data/lib/ohloh_scm/adapters/svn/cat_file.rb +0 -19
- data/lib/ohloh_scm/adapters/svn/commits.rb +0 -195
- data/lib/ohloh_scm/adapters/svn/head.rb +0 -19
- data/lib/ohloh_scm/adapters/svn/misc.rb +0 -171
- data/lib/ohloh_scm/adapters/svn/patch.rb +0 -8
- data/lib/ohloh_scm/adapters/svn/pre-revprop-change +0 -2
- data/lib/ohloh_scm/adapters/svn/pull.rb +0 -77
- data/lib/ohloh_scm/adapters/svn/push.rb +0 -15
- data/lib/ohloh_scm/adapters/svn/validation.rb +0 -87
- data/lib/ohloh_scm/adapters/svn_adapter.rb +0 -17
- data/lib/ohloh_scm/adapters/svn_chain/cat_file.rb +0 -8
- data/lib/ohloh_scm/adapters/svn_chain/chain.rb +0 -100
- data/lib/ohloh_scm/adapters/svn_chain/commits.rb +0 -37
- data/lib/ohloh_scm/adapters/svn_chain_adapter.rb +0 -44
- data/lib/ohloh_scm/parsers/array_writer.rb +0 -19
- data/lib/ohloh_scm/parsers/branch_number.rb +0 -60
- data/lib/ohloh_scm/parsers/bzr_parser.rb +0 -128
- data/lib/ohloh_scm/parsers/cvs_parser.rb +0 -182
- data/lib/ohloh_scm/parsers/git_parser.rb +0 -67
- data/lib/ohloh_scm/parsers/git_styled_parser.rb +0 -95
- data/lib/ohloh_scm/parsers/hg_parser.rb +0 -63
- data/lib/ohloh_scm/parsers/hg_styled_parser.rb +0 -65
- data/lib/ohloh_scm/parsers/human_writer.rb +0 -49
- data/lib/ohloh_scm/parsers/parser.rb +0 -34
- data/lib/ohloh_scm/parsers/svn_parser.rb +0 -77
- data/lib/ohloh_scm/parsers/svn_xml_parser.rb +0 -62
- data/lib/ohloh_scm/parsers/xml_writer.rb +0 -62
- data/lib/ohloh_scm/scratch_dir.rb +0 -59
- data/lib/ohloh_scm/shellout.rb +0 -40
- data/log/.gitignore +0 -1
- data/test/bin/svn +0 -7
- data/test/data/basic.ohlog +0 -11
- data/test/data/branch_merge.bzr_xml_log +0 -87
- data/test/data/git_patch.diff +0 -19
- data/test/data/helloworld.log +0 -41
- data/test/data/hg_patch.diff +0 -9
- data/test/data/intelliglue.rlog +0 -1216
- data/test/data/multiple_commits.rlog +0 -64
- data/test/data/simple.bzr_xml_log +0 -41
- data/test/data/simple.svn_xml_log +0 -66
- data/test/data/svn_patch.diff +0 -9
- data/test/data/svn_with_invalid_encoding.log +0 -33
- data/test/repositories/bzr/.bzr/README +0 -3
- data/test/repositories/bzr/.bzr/branch-format +0 -1
- data/test/repositories/bzr/.bzr/branch/branch.conf +0 -0
- data/test/repositories/bzr/.bzr/branch/format +0 -1
- data/test/repositories/bzr/.bzr/branch/last-revision +0 -1
- data/test/repositories/bzr/.bzr/branch/tags +0 -1
- data/test/repositories/bzr/.bzr/checkout/conflicts +0 -1
- data/test/repositories/bzr/.bzr/checkout/dirstate +0 -0
- data/test/repositories/bzr/.bzr/checkout/format +0 -1
- data/test/repositories/bzr/.bzr/repository/format +0 -1
- data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.iix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.rix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.six +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.tix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.iix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.rix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.six +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.tix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.iix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.rix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.six +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.tix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.iix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.rix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.six +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.tix +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.iix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.rix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.six +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.tix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.iix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.rix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.six +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.tix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.iix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.rix +0 -0
- data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.six +0 -5
- data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.tix +0 -0
- data/test/repositories/bzr/.bzr/repository/pack-names +0 -0
- data/test/repositories/bzr/.bzr/repository/packs/0428489d1a03d05c496c2c429fe96e90.pack +0 -0
- data/test/repositories/bzr/.bzr/repository/packs/62f9cada7c58bce361b9b852d180ff56.pack +0 -0
- data/test/repositories/bzr/.bzr/repository/packs/71af8bae249bcb824a4ff17c62029142.pack +0 -0
- data/test/repositories/bzr/.bzr/repository/packs/7202eb77b81a80eca5296f317ed42149.pack +0 -0
- data/test/repositories/bzr/.bzr/repository/packs/8a571ba35ee54cd133b71e967442fe17.pack +0 -0
- data/test/repositories/bzr/.bzr/repository/packs/a06b9c10004fc3e05affee8cf0a9febd.pack +0 -0
- data/test/repositories/bzr/.bzr/repository/packs/f35e1020b6a55c81b6d2fe4c7bcd4645.pack +0 -0
- data/test/repositories/bzr/.bzr/repository/upload/.gitignore +0 -1
- data/test/repositories/bzr/C/303/251dric.txt +0 -2
- data/test/repositories/bzr/file1.txt +0 -2
- data/test/repositories/bzr/file3.txt +0 -1
- data/test/repositories/bzr/file4.txt +0 -1
- data/test/repositories/bzr/file5.txt +0 -4
- data/test/repositories/bzr_hello_world/.bzr/README +0 -3
- data/test/repositories/bzr_hello_world/.bzr/branch-format +0 -1
- data/test/repositories/bzr_hello_world/.bzr/branch/branch.conf +0 -0
- data/test/repositories/bzr_hello_world/.bzr/branch/format +0 -1
- data/test/repositories/bzr_hello_world/.bzr/branch/last-revision +0 -1
- data/test/repositories/bzr_hello_world/.bzr/branch/tags +0 -0
- data/test/repositories/bzr_hello_world/.bzr/checkout/conflicts +0 -1
- data/test/repositories/bzr_hello_world/.bzr/checkout/dirstate +0 -0
- data/test/repositories/bzr_hello_world/.bzr/checkout/format +0 -1
- data/test/repositories/bzr_hello_world/.bzr/repository/format +0 -1
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.iix +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.rix +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.six +0 -5
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.tix +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.iix +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.rix +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.six +0 -5
- data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.tix +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/pack-names +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/packs/a7cd0d6de5d8b3efdd5f61a4caeda296.pack +0 -0
- data/test/repositories/bzr_hello_world/.bzr/repository/packs/ed1e97c1213220a92ff857169867a7b3.pack +0 -0
- data/test/repositories/bzr_hello_world/helloworld.c +0 -6
- data/test/repositories/bzr_with_authors/.bzr/README +0 -3
- data/test/repositories/bzr_with_authors/.bzr/branch-format +0 -1
- data/test/repositories/bzr_with_authors/.bzr/branch/branch.conf +0 -0
- data/test/repositories/bzr_with_authors/.bzr/branch/format +0 -1
- data/test/repositories/bzr_with_authors/.bzr/branch/last-revision +0 -1
- data/test/repositories/bzr_with_authors/.bzr/branch/tags +0 -0
- data/test/repositories/bzr_with_authors/.bzr/checkout/conflicts +0 -1
- data/test/repositories/bzr_with_authors/.bzr/checkout/dirstate +0 -0
- data/test/repositories/bzr_with_authors/.bzr/checkout/format +0 -1
- data/test/repositories/bzr_with_authors/.bzr/checkout/views +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/format +0 -1
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.cix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.iix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.rix +0 -6
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.six +0 -5
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.tix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.cix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.iix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.rix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.six +0 -5
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.tix +0 -6
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.cix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.iix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.rix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.six +0 -5
- data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.tix +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/pack-names +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/packs/1326ecee2f4f69991771137c5307689a.pack +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/packs/adf730b6cf7c7959afcedb87e155654d.pack +0 -0
- data/test/repositories/bzr_with_authors/.bzr/repository/packs/d2613fcfb5e48e79073b96270782f95c.pack +0 -0
- data/test/repositories/bzr_with_authors/test.txt +0 -1
- data/test/repositories/bzr_with_branch/.bzr/README +0 -3
- data/test/repositories/bzr_with_branch/.bzr/branch-format +0 -1
- data/test/repositories/bzr_with_branch/.bzr/branch/branch.conf +0 -1
- data/test/repositories/bzr_with_branch/.bzr/branch/format +0 -1
- data/test/repositories/bzr_with_branch/.bzr/branch/last-revision +0 -1
- data/test/repositories/bzr_with_branch/.bzr/branch/tags +0 -0
- data/test/repositories/bzr_with_branch/.bzr/checkout/conflicts +0 -1
- data/test/repositories/bzr_with_branch/.bzr/checkout/dirstate +0 -0
- data/test/repositories/bzr_with_branch/.bzr/checkout/format +0 -1
- data/test/repositories/bzr_with_branch/.bzr/checkout/merge-hashes +0 -3
- data/test/repositories/bzr_with_branch/.bzr/repository/format +0 -1
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.iix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.rix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.six +0 -5
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.tix +0 -5
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.iix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.rix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.six +0 -5
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.tix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.iix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.rix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.six +0 -5
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.tix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.iix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.rix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.six +0 -5
- data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.tix +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/pack-names +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/packs/3336f250dbe86a7eec2de4c1b1f97db7.pack +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/packs/47cfe65310e6d462bb87a68fff0bc162.pack +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/packs/64e98edbf1aebe6f532f2f93b24eead8.pack +0 -0
- data/test/repositories/bzr_with_branch/.bzr/repository/packs/8008794e258fc3fa4be68d538312a91c.pack +0 -0
- data/test/repositories/bzr_with_branch/goodbyeworld.c +0 -5
- data/test/repositories/bzr_with_branch/helloworld.c +0 -6
- data/test/repositories/bzr_with_nested_branches/.bzr/README +0 -3
- data/test/repositories/bzr_with_nested_branches/.bzr/branch-format +0 -1
- data/test/repositories/bzr_with_nested_branches/.bzr/branch/branch.conf +0 -1
- data/test/repositories/bzr_with_nested_branches/.bzr/branch/format +0 -1
- data/test/repositories/bzr_with_nested_branches/.bzr/branch/last-revision +0 -1
- data/test/repositories/bzr_with_nested_branches/.bzr/branch/tags +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/checkout/conflicts +0 -1
- data/test/repositories/bzr_with_nested_branches/.bzr/checkout/dirstate +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/checkout/format +0 -1
- data/test/repositories/bzr_with_nested_branches/.bzr/checkout/merge-hashes +0 -6
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/format +0 -1
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.tix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.tix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.tix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.tix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.tix +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.tix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.tix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.tix +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.iix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.rix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.six +0 -5
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.tix +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/pack-names +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/0428489d1a03d05c496c2c429fe96e90.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/30fcaac048e328a7727156986055f6e8.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/673cc297ed321f667e1d8d4fff600829.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/71af8bae249bcb824a4ff17c62029142.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/7202eb77b81a80eca5296f317ed42149.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/8a571ba35ee54cd133b71e967442fe17.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/a06b9c10004fc3e05affee8cf0a9febd.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/da6c79a024c70fd6831e323430a96cc8.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/f35e1020b6a55c81b6d2fe4c7bcd4645.pack +0 -0
- data/test/repositories/bzr_with_nested_branches/.bzr/repository/upload/.gitignore +0 -1
- data/test/repositories/bzr_with_nested_branches/file1.txt +0 -2
- data/test/repositories/bzr_with_nested_branches/file3.txt +0 -1
- data/test/repositories/bzr_with_nested_branches/file4.txt +0 -1
- data/test/repositories/bzr_with_nested_branches/file5.txt +0 -4
- data/test/repositories/bzr_with_nested_branches/file6.txt +0 -2
- data/test/repositories/bzr_with_nested_branches/file7.txt +0 -2
- data/test/repositories/bzr_with_subdirectories/.bzr/README +0 -3
- data/test/repositories/bzr_with_subdirectories/.bzr/branch-format +0 -1
- data/test/repositories/bzr_with_subdirectories/.bzr/branch/branch.conf +0 -0
- data/test/repositories/bzr_with_subdirectories/.bzr/branch/format +0 -1
- data/test/repositories/bzr_with_subdirectories/.bzr/branch/last-revision +0 -1
- data/test/repositories/bzr_with_subdirectories/.bzr/branch/tags +0 -0
- data/test/repositories/bzr_with_subdirectories/.bzr/checkout/conflicts +0 -1
- data/test/repositories/bzr_with_subdirectories/.bzr/checkout/dirstate +0 -0
- data/test/repositories/bzr_with_subdirectories/.bzr/checkout/format +0 -1
- data/test/repositories/bzr_with_subdirectories/.bzr/repository/format +0 -1
- data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.iix +0 -0
- data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.rix +0 -0
- data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.six +0 -5
- data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.tix +0 -0
- data/test/repositories/bzr_with_subdirectories/.bzr/repository/pack-names +0 -0
- data/test/repositories/bzr_with_subdirectories/.bzr/repository/packs/6eb92b11d9f811881dd08e0ca71e136d.pack +0 -0
- data/test/repositories/bzr_with_subdirectories/foo/helloworld.c +0 -0
- data/test/repositories/deep_svn/README.txt +0 -5
- data/test/repositories/deep_svn/conf/authz +0 -21
- data/test/repositories/deep_svn/conf/passwd +0 -8
- data/test/repositories/deep_svn/conf/svnserve.conf +0 -30
- data/test/repositories/deep_svn/db/current +0 -1
- data/test/repositories/deep_svn/db/format +0 -1
- data/test/repositories/deep_svn/db/fs-type +0 -1
- data/test/repositories/deep_svn/db/revprops/0 +0 -5
- data/test/repositories/deep_svn/db/revprops/1 +0 -14
- data/test/repositories/deep_svn/db/revprops/2 +0 -14
- data/test/repositories/deep_svn/db/revprops/3 +0 -14
- data/test/repositories/deep_svn/db/revprops/4 +0 -14
- data/test/repositories/deep_svn/db/revs/0 +0 -11
- data/test/repositories/deep_svn/db/revs/1 +0 -122
- data/test/repositories/deep_svn/db/revs/2 +0 -19
- data/test/repositories/deep_svn/db/revs/3 +0 -44
- data/test/repositories/deep_svn/db/revs/4 +0 -48
- data/test/repositories/deep_svn/db/uuid +0 -1
- data/test/repositories/deep_svn/db/write-lock +0 -0
- data/test/repositories/deep_svn/format +0 -1
- data/test/repositories/deep_svn/hooks/post-commit.tmpl +0 -51
- data/test/repositories/deep_svn/hooks/post-lock.tmpl +0 -44
- data/test/repositories/deep_svn/hooks/post-revprop-change.tmpl +0 -56
- data/test/repositories/deep_svn/hooks/post-unlock.tmpl +0 -42
- data/test/repositories/deep_svn/hooks/pre-commit.tmpl +0 -70
- data/test/repositories/deep_svn/hooks/pre-lock.tmpl +0 -64
- data/test/repositories/deep_svn/hooks/pre-revprop-change.tmpl +0 -66
- data/test/repositories/deep_svn/hooks/pre-unlock.tmpl +0 -60
- data/test/repositories/deep_svn/hooks/start-commit.tmpl +0 -54
- data/test/repositories/deep_svn/locks/db-logs.lock +0 -3
- data/test/repositories/deep_svn/locks/db.lock +0 -3
- data/test/repositories/git_with_empty_merge.tgz +0 -0
- data/test/repositories/svn/README.txt +0 -5
- data/test/repositories/svn/conf/authz +0 -21
- data/test/repositories/svn/conf/passwd +0 -8
- data/test/repositories/svn/conf/svnserve.conf +0 -30
- data/test/repositories/svn/db/current +0 -1
- data/test/repositories/svn/db/format +0 -1
- data/test/repositories/svn/db/fs-type +0 -1
- data/test/repositories/svn/db/revprops/0 +0 -5
- data/test/repositories/svn/db/revprops/1 +0 -14
- data/test/repositories/svn/db/revprops/2 +0 -13
- data/test/repositories/svn/db/revprops/3 +0 -13
- data/test/repositories/svn/db/revprops/4 +0 -13
- data/test/repositories/svn/db/revprops/5 +0 -13
- data/test/repositories/svn/db/revprops/6 +0 -12
- data/test/repositories/svn/db/revs/0 +0 -11
- data/test/repositories/svn/db/revs/1 +0 -0
- data/test/repositories/svn/db/revs/2 +0 -0
- data/test/repositories/svn/db/revs/3 +0 -0
- data/test/repositories/svn/db/revs/4 +0 -0
- data/test/repositories/svn/db/revs/5 +0 -64
- data/test/repositories/svn/db/revs/6 +0 -50
- data/test/repositories/svn/db/uuid +0 -1
- data/test/repositories/svn/db/write-lock +0 -0
- data/test/repositories/svn/format +0 -1
- data/test/repositories/svn/hooks/post-commit.tmpl +0 -51
- data/test/repositories/svn/hooks/post-lock.tmpl +0 -44
- data/test/repositories/svn/hooks/post-revprop-change.tmpl +0 -56
- data/test/repositories/svn/hooks/post-unlock.tmpl +0 -42
- data/test/repositories/svn/hooks/pre-commit.tmpl +0 -70
- data/test/repositories/svn/hooks/pre-lock.tmpl +0 -64
- data/test/repositories/svn/hooks/pre-revprop-change +0 -67
- data/test/repositories/svn/hooks/pre-unlock.tmpl +0 -60
- data/test/repositories/svn/hooks/start-commit.tmpl +0 -54
- data/test/repositories/svn/locks/db-logs.lock +0 -3
- data/test/repositories/svn/locks/db.lock +0 -3
- data/test/repositories/svn_empty/README.txt +0 -5
- data/test/repositories/svn_empty/conf/authz +0 -32
- data/test/repositories/svn_empty/conf/hooks-env.tmpl +0 -19
- data/test/repositories/svn_empty/conf/passwd +0 -8
- data/test/repositories/svn_empty/conf/svnserve.conf +0 -76
- data/test/repositories/svn_empty/db/current +0 -1
- data/test/repositories/svn_empty/db/format +0 -2
- data/test/repositories/svn_empty/db/fs-type +0 -1
- data/test/repositories/svn_empty/db/fsfs.conf +0 -125
- data/test/repositories/svn_empty/db/min-unpacked-rev +0 -1
- data/test/repositories/svn_empty/db/revprops/0/0 +0 -5
- data/test/repositories/svn_empty/db/revs/0/0 +0 -11
- data/test/repositories/svn_empty/db/txn-current +0 -1
- data/test/repositories/svn_empty/db/txn-current-lock +0 -0
- data/test/repositories/svn_empty/db/uuid +0 -1
- data/test/repositories/svn_empty/db/write-lock +0 -0
- data/test/repositories/svn_empty/format +0 -1
- data/test/repositories/svn_empty/hooks/post-commit.tmpl +0 -52
- data/test/repositories/svn_empty/hooks/post-lock.tmpl +0 -45
- data/test/repositories/svn_empty/hooks/post-revprop-change.tmpl +0 -57
- data/test/repositories/svn_empty/hooks/post-unlock.tmpl +0 -43
- data/test/repositories/svn_empty/hooks/pre-commit.tmpl +0 -85
- data/test/repositories/svn_empty/hooks/pre-lock.tmpl +0 -73
- data/test/repositories/svn_empty/hooks/pre-revprop-change.tmpl +0 -66
- data/test/repositories/svn_empty/hooks/pre-unlock.tmpl +0 -65
- data/test/repositories/svn_empty/hooks/start-commit.tmpl +0 -74
- data/test/repositories/svn_empty/locks/db-logs.lock +0 -3
- data/test/repositories/svn_empty/locks/db.lock +0 -3
- data/test/repositories/svn_with_branching.tgz +0 -0
- data/test/repositories/svn_with_invalid_encoding.tgz +0 -0
- data/test/repositories/svn_with_tree_move/README.txt +0 -5
- data/test/repositories/svn_with_tree_move/conf/authz +0 -21
- data/test/repositories/svn_with_tree_move/conf/passwd +0 -8
- data/test/repositories/svn_with_tree_move/conf/svnserve.conf +0 -30
- data/test/repositories/svn_with_tree_move/db/current +0 -1
- data/test/repositories/svn_with_tree_move/db/format +0 -1
- data/test/repositories/svn_with_tree_move/db/fs-type +0 -1
- data/test/repositories/svn_with_tree_move/db/revprops/0 +0 -5
- data/test/repositories/svn_with_tree_move/db/revprops/1 +0 -13
- data/test/repositories/svn_with_tree_move/db/revprops/2 +0 -13
- data/test/repositories/svn_with_tree_move/db/revs/0 +0 -11
- data/test/repositories/svn_with_tree_move/db/revs/1 +0 -0
- data/test/repositories/svn_with_tree_move/db/revs/2 +0 -44
- data/test/repositories/svn_with_tree_move/db/uuid +0 -1
- data/test/repositories/svn_with_tree_move/db/write-lock +0 -0
- data/test/repositories/svn_with_tree_move/format +0 -1
- data/test/repositories/svn_with_tree_move/hooks/post-commit.tmpl +0 -51
- data/test/repositories/svn_with_tree_move/hooks/post-lock.tmpl +0 -44
- data/test/repositories/svn_with_tree_move/hooks/post-revprop-change.tmpl +0 -56
- data/test/repositories/svn_with_tree_move/hooks/post-unlock.tmpl +0 -42
- data/test/repositories/svn_with_tree_move/hooks/pre-commit.tmpl +0 -70
- data/test/repositories/svn_with_tree_move/hooks/pre-lock.tmpl +0 -64
- data/test/repositories/svn_with_tree_move/hooks/pre-revprop-change.tmpl +0 -66
- data/test/repositories/svn_with_tree_move/hooks/pre-unlock.tmpl +0 -60
- data/test/repositories/svn_with_tree_move/hooks/start-commit.tmpl +0 -54
- data/test/repositories/svn_with_tree_move/locks/db-logs.lock +0 -3
- data/test/repositories/svn_with_tree_move/locks/db.lock +0 -3
- data/test/test_helper.rb +0 -127
- data/test/unit/abstract_adapter_test.rb +0 -106
- data/test/unit/adapter_factory_test.rb +0 -67
- data/test/unit/array_writer_test.rb +0 -33
- data/test/unit/bzr_cat_file_test.rb +0 -56
- data/test/unit/bzr_commits_test.rb +0 -388
- data/test/unit/bzr_head_test.rb +0 -18
- data/test/unit/bzr_misc_test.rb +0 -62
- data/test/unit/bzr_parser_test.rb +0 -483
- data/test/unit/bzr_pull_test.rb +0 -31
- data/test/unit/bzr_push_test.rb +0 -61
- data/test/unit/bzr_validation_test.rb +0 -61
- data/test/unit/bzr_xml_parser_test.rb +0 -409
- data/test/unit/bzrlib_cat_file_test.rb +0 -56
- data/test/unit/bzrlib_head_test.rb +0 -18
- data/test/unit/cvs_branch_number_test.rb +0 -130
- data/test/unit/cvs_commits_test.rb +0 -52
- data/test/unit/cvs_convert_test.rb +0 -30
- data/test/unit/cvs_misc_test.rb +0 -82
- data/test/unit/cvs_parser_test.rb +0 -94
- data/test/unit/cvs_validation_test.rb +0 -148
- data/test/unit/git_cat_file_test.rb +0 -21
- data/test/unit/git_commit_all_test.rb +0 -34
- data/test/unit/git_commits_test.rb +0 -179
- data/test/unit/git_head_test.rb +0 -26
- data/test/unit/git_log_parser_test.rb +0 -221
- data/test/unit/git_misc_test.rb +0 -100
- data/test/unit/git_parser_test.rb +0 -59
- data/test/unit/git_patch_test.rb +0 -14
- data/test/unit/git_pull_test.rb +0 -50
- data/test/unit/git_push_test.rb +0 -46
- data/test/unit/git_rev_list_test.rb +0 -89
- data/test/unit/git_styled_parser_test.rb +0 -103
- data/test/unit/git_svn_cat_file_test.rb +0 -57
- data/test/unit/git_svn_commits_test.rb +0 -37
- data/test/unit/git_svn_pull_test.rb +0 -51
- data/test/unit/git_token_test.rb +0 -45
- data/test/unit/git_validation_test.rb +0 -93
- data/test/unit/hg_cat_file_test.rb +0 -47
- data/test/unit/hg_commits_test.rb +0 -220
- data/test/unit/hg_head_test.rb +0 -24
- data/test/unit/hg_misc_test.rb +0 -48
- data/test/unit/hg_parser_test.rb +0 -184
- data/test/unit/hg_patch_test.rb +0 -14
- data/test/unit/hg_pull_test.rb +0 -29
- data/test/unit/hg_push_test.rb +0 -59
- data/test/unit/hg_rev_list_test.rb +0 -63
- data/test/unit/hg_validation_test.rb +0 -60
- data/test/unit/hglib_cat_file_test.rb +0 -47
- data/test/unit/hglib_head_test.rb +0 -18
- data/test/unit/ohlog_command_line_test.rb +0 -36
- data/test/unit/shellout_test.rb +0 -26
- data/test/unit/string_encoder_command_line_test.rb +0 -27
- data/test/unit/svn_cat_file_test.rb +0 -22
- data/test/unit/svn_chain_cat_file_test.rb +0 -24
- data/test/unit/svn_chain_commits_test.rb +0 -176
- data/test/unit/svn_chain_test.rb +0 -77
- data/test/unit/svn_commits_test.rb +0 -275
- data/test/unit/svn_convert_test.rb +0 -28
- data/test/unit/svn_head_test.rb +0 -27
- data/test/unit/svn_misc_test.rb +0 -142
- data/test/unit/svn_parser_test.rb +0 -155
- data/test/unit/svn_patch_test.rb +0 -14
- data/test/unit/svn_pull_test.rb +0 -60
- data/test/unit/svn_push_test.rb +0 -40
- data/test/unit/svn_validation_test.rb +0 -176
- data/test/unit/svn_xml_parser_test.rb +0 -45
@@ -1,64 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
# PRE-LOCK HOOK
|
4
|
-
#
|
5
|
-
# The pre-lock hook is invoked before an exclusive lock is
|
6
|
-
# created. Subversion runs this hook by invoking a program
|
7
|
-
# (script, executable, binary, etc.) named 'pre-lock' (for which
|
8
|
-
# this file is a template), with the following ordered arguments:
|
9
|
-
#
|
10
|
-
# [1] REPOS-PATH (the path to this repository)
|
11
|
-
# [2] PATH (the path in the repository about to be locked)
|
12
|
-
# [3] USER (the user creating the lock)
|
13
|
-
#
|
14
|
-
# The default working directory for the invocation is undefined, so
|
15
|
-
# the program should set one explicitly if it cares.
|
16
|
-
#
|
17
|
-
# If the hook program exits with success, the lock is created; but
|
18
|
-
# if it exits with failure (non-zero), the lock action is aborted
|
19
|
-
# and STDERR is returned to the client.
|
20
|
-
|
21
|
-
# On a Unix system, the normal procedure is to have 'pre-lock'
|
22
|
-
# invoke other programs to do the real work, though it may do the
|
23
|
-
# work itself too.
|
24
|
-
#
|
25
|
-
# Note that 'pre-lock' must be executable by the user(s) who will
|
26
|
-
# invoke it (typically the user httpd runs as), and that user must
|
27
|
-
# have filesystem-level permission to access the repository.
|
28
|
-
#
|
29
|
-
# On a Windows system, you should name the hook program
|
30
|
-
# 'pre-lock.bat' or 'pre-lock.exe',
|
31
|
-
# but the basic idea is the same.
|
32
|
-
#
|
33
|
-
# Here is an example hook script, for a Unix /bin/sh interpreter:
|
34
|
-
|
35
|
-
REPOS="$1"
|
36
|
-
PATH="$2"
|
37
|
-
USER="$3"
|
38
|
-
|
39
|
-
# If a lock exists and is owned by a different person, don't allow it
|
40
|
-
# to be stolen (e.g., with 'svn lock --force ...').
|
41
|
-
|
42
|
-
# (Maybe this script could send email to the lock owner?)
|
43
|
-
SVNLOOK=/opt/local/bin/svnlook
|
44
|
-
GREP=/bin/grep
|
45
|
-
SED=/bin/sed
|
46
|
-
|
47
|
-
LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \
|
48
|
-
$GREP '^Owner: ' | $SED 's/Owner: //'`
|
49
|
-
|
50
|
-
# If we get no result from svnlook, there's no lock, allow the lock to
|
51
|
-
# happen:
|
52
|
-
if [ "$LOCK_OWNER" = "" ]; then
|
53
|
-
exit 0
|
54
|
-
fi
|
55
|
-
|
56
|
-
# If the person locking matches the lock's owner, allow the lock to
|
57
|
-
# happen:
|
58
|
-
if [ "$LOCK_OWNER" = "$USER" ]; then
|
59
|
-
exit 0
|
60
|
-
fi
|
61
|
-
|
62
|
-
# Otherwise, we've got an owner mismatch, so return failure:
|
63
|
-
echo "Error: $PATH already locked by ${LOCK_OWNER}." 1>&2
|
64
|
-
exit 1
|
@@ -1,66 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
# PRE-REVPROP-CHANGE HOOK
|
4
|
-
#
|
5
|
-
# The pre-revprop-change hook is invoked before a revision property
|
6
|
-
# is added, modified or deleted. Subversion runs this hook by invoking
|
7
|
-
# a program (script, executable, binary, etc.) named 'pre-revprop-change'
|
8
|
-
# (for which this file is a template), with the following ordered
|
9
|
-
# arguments:
|
10
|
-
#
|
11
|
-
# [1] REPOS-PATH (the path to this repository)
|
12
|
-
# [2] REVISION (the revision being tweaked)
|
13
|
-
# [3] USER (the username of the person tweaking the property)
|
14
|
-
# [4] PROPNAME (the property being set on the revision)
|
15
|
-
# [5] ACTION (the property is being 'A'dded, 'M'odified, or 'D'eleted)
|
16
|
-
#
|
17
|
-
# [STDIN] PROPVAL ** the new property value is passed via STDIN.
|
18
|
-
#
|
19
|
-
# If the hook program exits with success, the propchange happens; but
|
20
|
-
# if it exits with failure (non-zero), the propchange doesn't happen.
|
21
|
-
# The hook program can use the 'svnlook' utility to examine the
|
22
|
-
# existing value of the revision property.
|
23
|
-
#
|
24
|
-
# WARNING: unlike other hooks, this hook MUST exist for revision
|
25
|
-
# properties to be changed. If the hook does not exist, Subversion
|
26
|
-
# will behave as if the hook were present, but failed. The reason
|
27
|
-
# for this is that revision properties are UNVERSIONED, meaning that
|
28
|
-
# a successful propchange is destructive; the old value is gone
|
29
|
-
# forever. We recommend the hook back up the old value somewhere.
|
30
|
-
#
|
31
|
-
# On a Unix system, the normal procedure is to have 'pre-revprop-change'
|
32
|
-
# invoke other programs to do the real work, though it may do the
|
33
|
-
# work itself too.
|
34
|
-
#
|
35
|
-
# Note that 'pre-revprop-change' must be executable by the user(s) who will
|
36
|
-
# invoke it (typically the user httpd runs as), and that user must
|
37
|
-
# have filesystem-level permission to access the repository.
|
38
|
-
#
|
39
|
-
# On a Windows system, you should name the hook program
|
40
|
-
# 'pre-revprop-change.bat' or 'pre-revprop-change.exe',
|
41
|
-
# but the basic idea is the same.
|
42
|
-
#
|
43
|
-
# The hook program typically does not inherit the environment of
|
44
|
-
# its parent process. For example, a common problem is for the
|
45
|
-
# PATH environment variable to not be set to its usual value, so
|
46
|
-
# that subprograms fail to launch unless invoked via absolute path.
|
47
|
-
# If you're having unexpected problems with a hook program, the
|
48
|
-
# culprit may be unusual (or missing) environment variables.
|
49
|
-
#
|
50
|
-
# Here is an example hook script, for a Unix /bin/sh interpreter.
|
51
|
-
# For more examples and pre-written hooks, see those in
|
52
|
-
# the Subversion repository at
|
53
|
-
# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and
|
54
|
-
# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/
|
55
|
-
|
56
|
-
|
57
|
-
REPOS="$1"
|
58
|
-
REV="$2"
|
59
|
-
USER="$3"
|
60
|
-
PROPNAME="$4"
|
61
|
-
ACTION="$5"
|
62
|
-
|
63
|
-
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
|
64
|
-
|
65
|
-
echo "Changing revision properties other than svn:log is prohibited" >&2
|
66
|
-
exit 1
|
@@ -1,60 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
# PRE-UNLOCK HOOK
|
4
|
-
#
|
5
|
-
# The pre-unlock hook is invoked before an exclusive lock is
|
6
|
-
# destroyed. Subversion runs this hook by invoking a program
|
7
|
-
# (script, executable, binary, etc.) named 'pre-unlock' (for which
|
8
|
-
# this file is a template), with the following ordered arguments:
|
9
|
-
#
|
10
|
-
# [1] REPOS-PATH (the path to this repository)
|
11
|
-
# [2] PATH (the path in the repository about to be unlocked)
|
12
|
-
# [3] USER (the user destroying the lock)
|
13
|
-
#
|
14
|
-
# The default working directory for the invocation is undefined, so
|
15
|
-
# the program should set one explicitly if it cares.
|
16
|
-
#
|
17
|
-
# If the hook program exits with success, the lock is destroyed; but
|
18
|
-
# if it exits with failure (non-zero), the unlock action is aborted
|
19
|
-
# and STDERR is returned to the client.
|
20
|
-
|
21
|
-
# On a Unix system, the normal procedure is to have 'pre-unlock'
|
22
|
-
# invoke other programs to do the real work, though it may do the
|
23
|
-
# work itself too.
|
24
|
-
#
|
25
|
-
# Note that 'pre-unlock' must be executable by the user(s) who will
|
26
|
-
# invoke it (typically the user httpd runs as), and that user must
|
27
|
-
# have filesystem-level permission to access the repository.
|
28
|
-
#
|
29
|
-
# On a Windows system, you should name the hook program
|
30
|
-
# 'pre-unlock.bat' or 'pre-unlock.exe',
|
31
|
-
# but the basic idea is the same.
|
32
|
-
#
|
33
|
-
# Here is an example hook script, for a Unix /bin/sh interpreter:
|
34
|
-
|
35
|
-
REPOS="$1"
|
36
|
-
PATH="$2"
|
37
|
-
USER="$3"
|
38
|
-
|
39
|
-
# If a lock is owned by a different person, don't allow it be broken.
|
40
|
-
# (Maybe this script could send email to the lock owner?)
|
41
|
-
|
42
|
-
SVNLOOK=/opt/local/bin/svnlook
|
43
|
-
GREP=/bin/grep
|
44
|
-
SED=/bin/sed
|
45
|
-
|
46
|
-
LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \
|
47
|
-
$GREP '^Owner: ' | $SED 's/Owner: //'`
|
48
|
-
|
49
|
-
# If we get no result from svnlook, there's no lock, return success:
|
50
|
-
if [ "$LOCK_OWNER" = "" ]; then
|
51
|
-
exit 0
|
52
|
-
fi
|
53
|
-
# If the person unlocking matches the lock's owner, return success:
|
54
|
-
if [ "$LOCK_OWNER" = "$USER" ]; then
|
55
|
-
exit 0
|
56
|
-
fi
|
57
|
-
|
58
|
-
# Otherwise, we've got an owner mismatch, so return failure:
|
59
|
-
echo "Error: $PATH locked by ${LOCK_OWNER}." 1>&2
|
60
|
-
exit 1
|
@@ -1,54 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
# START-COMMIT HOOK
|
4
|
-
#
|
5
|
-
# The start-commit hook is invoked before a Subversion txn is created
|
6
|
-
# in the process of doing a commit. Subversion runs this hook
|
7
|
-
# by invoking a program (script, executable, binary, etc.) named
|
8
|
-
# 'start-commit' (for which this file is a template)
|
9
|
-
# with the following ordered arguments:
|
10
|
-
#
|
11
|
-
# [1] REPOS-PATH (the path to this repository)
|
12
|
-
# [2] USER (the authenticated user attempting to commit)
|
13
|
-
#
|
14
|
-
# The default working directory for the invocation is undefined, so
|
15
|
-
# the program should set one explicitly if it cares.
|
16
|
-
#
|
17
|
-
# If the hook program exits with success, the commit continues; but
|
18
|
-
# if it exits with failure (non-zero), the commit is stopped before
|
19
|
-
# a Subversion txn is created, and STDERR is returned to the client.
|
20
|
-
#
|
21
|
-
# On a Unix system, the normal procedure is to have 'start-commit'
|
22
|
-
# invoke other programs to do the real work, though it may do the
|
23
|
-
# work itself too.
|
24
|
-
#
|
25
|
-
# Note that 'start-commit' must be executable by the user(s) who will
|
26
|
-
# invoke it (typically the user httpd runs as), and that user must
|
27
|
-
# have filesystem-level permission to access the repository.
|
28
|
-
#
|
29
|
-
# On a Windows system, you should name the hook program
|
30
|
-
# 'start-commit.bat' or 'start-commit.exe',
|
31
|
-
# but the basic idea is the same.
|
32
|
-
#
|
33
|
-
# The hook program typically does not inherit the environment of
|
34
|
-
# its parent process. For example, a common problem is for the
|
35
|
-
# PATH environment variable to not be set to its usual value, so
|
36
|
-
# that subprograms fail to launch unless invoked via absolute path.
|
37
|
-
# If you're having unexpected problems with a hook program, the
|
38
|
-
# culprit may be unusual (or missing) environment variables.
|
39
|
-
#
|
40
|
-
# Here is an example hook script, for a Unix /bin/sh interpreter.
|
41
|
-
# For more examples and pre-written hooks, see those in
|
42
|
-
# the Subversion repository at
|
43
|
-
# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and
|
44
|
-
# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/
|
45
|
-
|
46
|
-
|
47
|
-
REPOS="$1"
|
48
|
-
USER="$2"
|
49
|
-
|
50
|
-
commit-allower.pl --repository "$REPOS" --user "$USER" || exit 1
|
51
|
-
special-auth-check.py --user "$USER" --auth-level 3 || exit 1
|
52
|
-
|
53
|
-
# All checks passed, so allow the commit.
|
54
|
-
exit 0
|
data/test/test_helper.rb
DELETED
@@ -1,127 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
require 'fileutils'
|
3
|
-
require 'find'
|
4
|
-
|
5
|
-
unless defined?(TEST_DIR)
|
6
|
-
TEST_DIR = File.dirname(__FILE__)
|
7
|
-
end
|
8
|
-
require_relative '../lib/ohloh_scm'
|
9
|
-
|
10
|
-
OhlohScm::Adapters::AbstractAdapter.logger = Logger.new(File.open('log/test.log','a'))
|
11
|
-
|
12
|
-
unless defined?(REPO_DIR)
|
13
|
-
REPO_DIR = File.expand_path(File.join(TEST_DIR, 'repositories'))
|
14
|
-
end
|
15
|
-
|
16
|
-
unless defined?(DATA_DIR)
|
17
|
-
DATA_DIR = File.expand_path(File.join(TEST_DIR, 'data'))
|
18
|
-
end
|
19
|
-
|
20
|
-
class OhlohScm::Test < Test::Unit::TestCase
|
21
|
-
# For reasons unknown, the base class defines a default_test method to throw a failure.
|
22
|
-
# We override it with a no-op to prevent this 'helpful' feature.
|
23
|
-
def default_test
|
24
|
-
end
|
25
|
-
|
26
|
-
def assert_convert(parser, log, expected)
|
27
|
-
result = ''
|
28
|
-
parser.parse File.new(log), :writer => OhlohScm::Parsers::XmlWriter.new(result)
|
29
|
-
assert_buffers_equal File.read(expected), result
|
30
|
-
end
|
31
|
-
|
32
|
-
# assert_equal just dumps the massive strings to the console, which is not helpful.
|
33
|
-
# Instead we try to indentify the line of the first error.
|
34
|
-
def assert_buffers_equal(expected, actual)
|
35
|
-
return if expected == actual
|
36
|
-
|
37
|
-
expected_lines = expected.split("\n")
|
38
|
-
actual_lines = actual.split("\n")
|
39
|
-
|
40
|
-
expected_lines.each_with_index do |line, i|
|
41
|
-
if line != actual_lines[i]
|
42
|
-
assert_equal line, actual_lines[i], "at line #{i} of the reference buffer"
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# We couldnt' find the mismatch. Just bail.
|
47
|
-
assert_equal expected_lines, actual_lines
|
48
|
-
end
|
49
|
-
|
50
|
-
def with_repository(type, name, branch_name = nil)
|
51
|
-
OhlohScm::ScratchDir.new do |dir|
|
52
|
-
if Dir.entries(REPO_DIR).include?(name)
|
53
|
-
`cp -R #{File.join(REPO_DIR, name)} #{dir}`
|
54
|
-
elsif Dir.entries(REPO_DIR).include?(name + '.tgz')
|
55
|
-
`tar xzf #{File.join(REPO_DIR, name + '.tgz')} --directory #{dir}`
|
56
|
-
else
|
57
|
-
raise RuntimeError.new("Repository archive #{File.join(REPO_DIR, name)} not found.")
|
58
|
-
end
|
59
|
-
yield type.new(:url => File.join(dir, name), branch_name: branch_name).normalize
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# We are unable to add a commit message with non utf8 characters using svn 1.6 & above.
|
64
|
-
# In order to emulate encoding issues, we use a custom svn executable that returns
|
65
|
-
# an xml log with invalid characters in it.
|
66
|
-
# We prepend our custom svn's location to $PATH to make it available during our tests.
|
67
|
-
def with_invalid_encoded_svn_repository
|
68
|
-
with_repository(OhlohScm::Adapters::SvnChainAdapter, 'svn_with_invalid_encoding') do |svn|
|
69
|
-
original_env_path = ENV['PATH']
|
70
|
-
custom_svn_path = File.expand_path('../bin/', __FILE__)
|
71
|
-
ENV['PATH'] = custom_svn_path + ':' + ENV['PATH']
|
72
|
-
|
73
|
-
yield svn
|
74
|
-
|
75
|
-
ENV['PATH'] = original_env_path
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def with_svn_repository(name, branch_name='')
|
80
|
-
with_repository(OhlohScm::Adapters::SvnAdapter, name) do |svn|
|
81
|
-
svn.branch_name = branch_name
|
82
|
-
svn.url = File.join(svn.root, svn.branch_name)
|
83
|
-
svn.url = svn.url[0..-2] if svn.url[-1..-1] == '/' # Strip trailing /
|
84
|
-
yield svn
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
def with_svn_chain_repository(name, branch_name='')
|
89
|
-
with_repository(OhlohScm::Adapters::SvnChainAdapter, name) do |svn|
|
90
|
-
svn.branch_name = branch_name
|
91
|
-
svn.url = File.join(svn.root, svn.branch_name)
|
92
|
-
svn.url = svn.url[0..-2] if svn.url[-1..-1] == '/' # Strip trailing /
|
93
|
-
yield svn
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
def with_cvs_repository(name, module_name='')
|
98
|
-
with_repository(OhlohScm::Adapters::CvsAdapter, name) do |cvs|
|
99
|
-
cvs.module_name = module_name
|
100
|
-
yield cvs
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
def with_git_repository(name, branch_name = nil)
|
105
|
-
with_repository(OhlohScm::Adapters::GitAdapter, name, branch_name) { |git| yield git }
|
106
|
-
end
|
107
|
-
|
108
|
-
def with_git_svn_repository(name)
|
109
|
-
with_repository(OhlohScm::Adapters::GitSvnAdapter, name) { |svn| yield svn }
|
110
|
-
end
|
111
|
-
|
112
|
-
def with_hg_repository(name, branch_name = nil)
|
113
|
-
with_repository(OhlohScm::Adapters::HgAdapter, name, branch_name) { |hg| yield hg }
|
114
|
-
end
|
115
|
-
|
116
|
-
def with_hglib_repository(name)
|
117
|
-
with_repository(OhlohScm::Adapters::HglibAdapter, name) { |hg| yield hg }
|
118
|
-
end
|
119
|
-
|
120
|
-
def with_bzr_repository(name)
|
121
|
-
with_repository(OhlohScm::Adapters::BzrAdapter, name) { |bzr| yield bzr }
|
122
|
-
end
|
123
|
-
|
124
|
-
def with_bzrlib_repository(name)
|
125
|
-
with_repository(OhlohScm::Adapters::BzrlibAdapter, name) { |bzr| yield bzr }
|
126
|
-
end
|
127
|
-
end
|
@@ -1,106 +0,0 @@
|
|
1
|
-
require_relative '../test_helper'
|
2
|
-
|
3
|
-
module OhlohScm::Adapters
|
4
|
-
class AbstractAdapterTest < OhlohScm::Test
|
5
|
-
def test_simple_validation
|
6
|
-
scm = AbstractAdapter.new()
|
7
|
-
assert !scm.valid?
|
8
|
-
assert_equal [[:url, "The URL can't be blank."]], scm.errors
|
9
|
-
|
10
|
-
scm.url = "http://www.test.org/test"
|
11
|
-
assert scm.valid?
|
12
|
-
assert scm.errors.empty?
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_valid_urls
|
16
|
-
['http://www.ohloh.net'].each do |url|
|
17
|
-
assert !AbstractAdapter.new(:url => url).validate_url
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_invalid_urls
|
22
|
-
[nil, '', '*' * 121].each do |url|
|
23
|
-
assert AbstractAdapter.new(:url => url).validate_url.any?
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_invalid_usernames
|
28
|
-
['no spaces allowed', '/', ':', 'a'*33].each do |username|
|
29
|
-
assert AbstractAdapter.new(:username => username).validate_username.any?
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_valid_usernames
|
34
|
-
[nil,'','joe_36','a'*32].each do |username|
|
35
|
-
assert !AbstractAdapter.new(:username => username).validate_username
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_invalid_passwords
|
40
|
-
['no spaces allowed', 'a'*33].each do |password|
|
41
|
-
assert AbstractAdapter.new(:password => password).validate_password.any?
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_valid_passwords
|
46
|
-
[nil,'','abc','a'*32].each do |password|
|
47
|
-
assert !AbstractAdapter.new(:password => password).validate_password
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_invalid_branch_names
|
52
|
-
['%','a'*81].each do |branch_name|
|
53
|
-
assert AbstractAdapter.new(:branch_name => branch_name).validate_branch_name.any?
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_valid_branch_names
|
58
|
-
[nil,'','/trunk','_','a'*80].each do |branch_name|
|
59
|
-
assert !AbstractAdapter.new(:branch_name => branch_name).validate_branch_name
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_normalize
|
64
|
-
scm = AbstractAdapter.new(:url => " http://www.test.org/test ", :username => " joe ", :password => " abc ", :branch_name => " trunk ")
|
65
|
-
scm.normalize
|
66
|
-
assert_equal "http://www.test.org/test", scm.url
|
67
|
-
assert_equal "trunk", scm.branch_name
|
68
|
-
assert_equal "joe", scm.username
|
69
|
-
assert_equal "abc", scm.password
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_shellout
|
73
|
-
cmd = %q( ruby -e" t = 'Hello World'; STDOUT.puts t; STDERR.puts t " )
|
74
|
-
stdout = AbstractAdapter.run(cmd)
|
75
|
-
assert_equal "Hello World\n", stdout
|
76
|
-
end
|
77
|
-
|
78
|
-
def test_shellout_with_stderr
|
79
|
-
cmd = %q( ruby -e" t = 'Hello World'; STDOUT.puts t; STDERR.puts t " )
|
80
|
-
stdout, stderr, status = AbstractAdapter.run_with_err(cmd)
|
81
|
-
assert_equal 0, status.exitstatus
|
82
|
-
assert_equal "Hello World\n", stdout
|
83
|
-
assert_equal "Hello World\n", stderr
|
84
|
-
end
|
85
|
-
|
86
|
-
def test_shellout_large_output
|
87
|
-
cat = 'ruby -e" puts Array.new(65536){ 42 } "'
|
88
|
-
stdout = AbstractAdapter.run(cat)
|
89
|
-
assert_equal Array.new(65536){ 42 }.join("\n").concat("\n"), stdout
|
90
|
-
end
|
91
|
-
|
92
|
-
def test_shellout_error
|
93
|
-
cmd = "false"
|
94
|
-
assert_raise RuntimeError do
|
95
|
-
stdout = AbstractAdapter.run(cmd)
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
def test_string_encoder_must_return_path_to_script
|
100
|
-
string_encoder_path = File.expand_path('../../../bin/string_encoder', __FILE__)
|
101
|
-
|
102
|
-
assert_equal string_encoder_path, AbstractAdapter.new.string_encoder
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
end
|