Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

Update readme #8

Open
wants to merge 283 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
283 commits
Select commit Hold shift + click to select a range
6b56848
[FIX] SvnChainAdapter: It is possible for a single Subversion commit
Mar 20, 2009
eca9bfc
[FIX] BzrAdapter: cat_file(): Fix case where filename includes a sing…
Apr 2, 2009
6b8c058
[FIX] Svn: export should not attempt to load external references
Apr 23, 2009
6e419a1
[NEW] Hg: Implement export
Apr 23, 2009
0f25bca
[NEW] Bzr: Implement export
Apr 23, 2009
c4f026e
[NEW] GitParser can parse a generic git log (that is, doesn't require
May 13, 2009
00854a9
[FIX] Git: Prevent merge commits from being duplicated.
May 13, 2009
e00bde3
[CHANGE] Svn: Relax validation rules for usernames to allow email add…
May 13, 2009
06b336d
[FIX] Svn: Improve guess_forge() to better recognize rubyforge.org
May 19, 2009
59bafda
[FIX] Hg and Git: better SourceForge detection in guess_forge()
May 19, 2009
d40ab0b
[FIX] Svn: Fix a complicated directory renaming case:
May 21, 2009
148f742
[CHANGE] Svn: Increase the maximum length of a branch_name to 80 char…
Jun 12, 2009
d600daa
[FIX] HgAdapter: Speed improvement for cat_file_parent().
Jul 7, 2009
f42e73c
[FIX] BzrAdapter: Support bzr 1.17
Aug 7, 2009
44f5785
[FIX] BzrAdapter: rename + modify in single commit
Aug 11, 2009
18b8f0d
[FIX] HgAdapter: Compatibility with hg 1.2.1
Aug 11, 2009
c139ca7
[FIX] as of SVN 1.6.5 or earlier, svn info returns an error code when
Oct 19, 2009
43c1612
[FIX] Use Bzr Author name when available
Oct 27, 2009
95331b7
OH-104 Dont auto-descend beyond /trunk directories
Nov 2, 2009
876b2b5
Merge branch 'master' of [email protected]:ohloh_scm
Nov 2, 2009
e5a10dd
[FIX] forge detection failing if svn url terminates without a trailing /
Nov 2, 2009
a6e3b65
[FIX] restict_url_to_trunk fails if already trunk
Nov 5, 2009
f5d6ed8
[FIX] Escape ">" character in Hg filenames
Jan 14, 2010
5d5d1f3
[FIX] Escape "|" character in Hg filenames
May 20, 2010
6851c5c
Fixed a string escape bug for hg
Nov 5, 2010
af79c7a
Updated SCM to use SVN 1.6's new --trust-server-cert command always
Dec 8, 2010
47135ef
Specify module name when using CVS test repository
robinluckey Dec 21, 2010
c3de1b0
Perform Bzr revert before push, pull
robinluckey Jan 11, 2011
b662a68
support lp: syntax in Bzr
robinluckey Jan 11, 2011
e371602
Enables :ext protocol for CVS
robinluckey Jan 11, 2011
b3b3c57
Fixes incorrect time format in Git parser test
robinluckey Jan 11, 2011
e5a6ea9
OTWO-171 Fixes hg filenames that include '#' char
robinluckey Jan 11, 2011
98dcc5d
Adds compatibility with hg 1.7.2
robinluckey Jan 12, 2011
b7f6ea7
OTWO-277 Enables GitAdapter to walk trunk only
robinluckey Jan 13, 2011
b5515ed
OTWO-277 Update all adapters to use new interface
robinluckey Jan 13, 2011
6f1e16c
Rename parameter 'since' to 'after'
robinluckey Jan 13, 2011
053d35d
OTWO-277 Fix bug revealed by Ohloh integration test
robinluckey Jan 13, 2011
f834f8e
OTWO-278 Updates HgAdapter to support :trunk_only
Jan 25, 2011
81950c1
OTWO-344 Allows Bzr revision-ids to include ':' character
Jan 27, 2011
86d106d
OTWO-285 Updates BzrAdapter to support :trunk_only
Jan 27, 2011
e6fc68d
Merge branch 'master' of github.com:blackducksw/ohloh_scm
Jan 28, 2011
4daf07f
OTWO-351 Escape backtick char in Hg filenames
Jan 28, 2011
df5a52c
OTWO-443: Fixes GitStyledParser to support empty commits
Feb 18, 2011
d8070b0
RAGE! Do not commit your punk logging code...
Feb 18, 2011
fd5a2f9
Removed a catch for an exception that shouldn't be caught and eaten. …
Mar 14, 2011
3131c05
Fixed an SVN bug introduced in the last commit by exposing an excepti…
Mar 25, 2011
117b36c
OTWO-579 Use read-only URLs when possible
Apr 12, 2011
ffef61d
OTWO-623 Fixes incorrect list of diffs for null git merges
Apr 25, 2011
6a010e3
OTWO-208 Ignore 'fatal signal 11' from all CVS servers
Jun 17, 2011
ccbcc2d
OTWO-627 Escape '$' characters in hg filenames
Jun 20, 2011
455a302
OTWO-840 Removes redundant log query from BzrAdapter.cat_file_parent
Jun 29, 2011
2aad015
Initial Bazaar XML log parser and basic tests.
amujumdar Aug 1, 2011
d8b6262
Fixed message and token parsing, added basic test.
amujumdar Aug 1, 2011
be60224
Fixed processing multiple file elements under one Op element.
amujumdar Aug 3, 2011
c892897
Updated to include BzrXmlParser.
amujumdar Aug 3, 2011
940da31
Adds sample bzr logs for testing.
amujumdar Aug 3, 2011
486a700
Fixes duplicate merge commits.
amujumdar Aug 3, 2011
85ddb3b
Fixes commits and commit_tokens method to use xmllog.
amujumdar Aug 3, 2011
bbe92a1
Fixes tests, to accomodate correct branch/merge commit ordering.
amujumdar Aug 3, 2011
f367d38
Fixes tests to match xmllog output.
amujumdar Aug 3, 2011
dbb5c09
Fixes parsing of multi-level nested branch/merge.
amujumdar Aug 3, 2011
0efa486
Removes debugging code.
amujumdar Aug 3, 2011
79dc903
Fixes empty log file to be empty xml file.
amujumdar Aug 3, 2011
d92cf65
Replaces systemu with a newer version of open4; uses threads to start…
amujumdar Sep 1, 2011
afe9140
Changes Shellout.run to return status object.
amujumdar Sep 1, 2011
a082363
Fixes return code from child process, adds tests.
amujumdar Sep 1, 2011
5169380
Makes Shellout.run an instance method.
amujumdar Sep 5, 2011
b56f213
Removes systemu library.
amujumdar Sep 5, 2011
f525ea5
Addresses code review comments.
amujumdar Sep 7, 2011
378e4ad
OTWO-969 - Implements bzrlib based bzr adapter.
amujumdar Sep 8, 2011
8b804af
Fixes OTWO-988, completely ignores kind_changed entries in the log.
amujumdar Sep 14, 2011
efae60b
Updates bzrlib based adapter to use APIs only (instead of cmd_* class…
amujumdar Oct 6, 2011
655f1ef
Incorporates Robin's code cleanup.
amujumdar Oct 7, 2011
286cc46
Implements IPC/pipe based bzr adapter.
amujumdar Oct 7, 2011
ee0d7aa
Implements IPC/pipe based bzr adapter.
amujumdar Oct 7, 2011
c790bb0
Merge branch 'master' into bzr_ipc_adapter
amujumdar Oct 7, 2011
9041bcf
Incorporates Robin's code review; no need to prefix revid with API ca…
amujumdar Oct 7, 2011
e07c512
Incorporate Robin's code review comment.
amujumdar Oct 7, 2011
0b55554
Incorporates Robin's code review; remove unnecessary comment and return.
amujumdar Oct 7, 2011
4250995
Incorporates Robin's code review; remove commented test code.
amujumdar Oct 7, 2011
045a80c
Removes unused code.
amujumdar Oct 7, 2011
13cd276
Removes unnecessary commented-out code.
amujumdar Oct 7, 2011
fa63b76
Fixes slice parameter.
amujumdar Oct 7, 2011
cc0ba85
Removes unnecessary parameter from send_command method.
amujumdar Oct 7, 2011
f5351ac
OTWO-1023 - Fixes BzrXmlParser to capture first author when present.
amujumdar Oct 11, 2011
19761da
Adds minor tweaks to the test.
amujumdar Oct 11, 2011
0ea04e2
Merge pull request #2 from blackducksw/bzr_author_fix
amujumdar Oct 11, 2011
5a9e88f
OTWO-1043 Fixes :after functionality in BzrAdapter
Oct 11, 2011
c025d42
Merge pull request #1 from blackducksw/bzr_ipc_adapter
amujumdar Oct 11, 2011
aa67178
Removes unused StringIO objects.
amujumdar Oct 11, 2011
4593645
Makes IPC commands less-cryptic.
amujumdar Oct 11, 2011
d387752
Merge branch 'bzr_ipc_adapter'
amujumdar Oct 11, 2011
1ee83f3
Merge branch 'master' of github.com:blackducksw/ohloh_scm
amujumdar Oct 11, 2011
8383f6d
Removes unnecessary require.
amujumdar Oct 11, 2011
5796ef1
Adds relevant tests from BzrParser tests.
amujumdar Oct 12, 2011
4dcb7a6
OTWO-1048 - Captures committer/author name/email correctly.
amujumdar Oct 13, 2011
4cef282
updated readme with markdown syntax and instructions for installing t…
Nov 21, 2011
f0e7ea6
Renamed the readme file
Nov 21, 2011
29c311d
OTWO-415 First pass at using python library for hg cat
Nov 30, 2011
20d25e2
OTWO-415 Rake passes using HglibAdapter
Nov 30, 2011
50572a9
Fixes "\n" vs "\t" error in server output
Dec 1, 2011
7528067
OTWO-204 Allow spaces in Subversion file paths
Dec 5, 2011
98133f1
Merge branch 'OTWO-415'
Dec 15, 2011
c02a791
Fixes encoding issue for non-ascii file names.
amujumdar Dec 20, 2011
6269305
OTWO-1177 Fixes non-ascii filename handling in BzrlibAdapter."
amujumdar Dec 22, 2011
92e6ec4
OTWO-1206 Ruby 1.9.2 compatibility
Jan 6, 2012
9180c58
Merge branch 'OTWO-1177'
amujumdar Jan 18, 2012
db8cf0e
Fixes tests broken by test data for OTWO-1177.
amujumdar Jan 26, 2012
4991eb4
OTWO-1277 Replaces erronenous bzr 'pull' with 'revert'
Jan 27, 2012
68b9ecc
OTWO-1412 Upgrades Bzr repositories after every pull
Mar 9, 2012
3b24ee8
Merge pull request #3 from blackducksw/OTWO-1412
amujumdar Mar 9, 2012
fa9af52
OTWO-1412 Initializes bzr properly and sets up logger.
amujumdar Apr 4, 2012
8be6be3
OTWO-1412 Redirects logger to os.devnull
amujumdar Apr 4, 2012
ce112d2
OTWO-1489 Added a validation for SVN Repo URL if empty
rapbhan May 28, 2012
8f5bd10
OTWO-1489 Added a validation for SVN Repo URL if empty
rapbhan Jun 1, 2012
b0aff9f
Merge pull request #4 from rapbhan/master
amujumdar Jun 3, 2012
8dde2ec
Stream git commit log to a file before parsing
amujumdar Jul 12, 2012
7d1159b
OTWO-2738 Bump up git version to 1.8.2 and fix nothing_to_commit check
Aug 21, 2013
b814c99
Merge pull request #6 from nnsathish/master
amujumdar Aug 21, 2013
eb55711
Adds Ohloh partner badge
amujumdar Oct 4, 2013
6490fb7
Merge pull request #8 from amujumdar/master
amujumdar Oct 4, 2013
95bba0a
Merge branch 'ruby192' into ruby193
amujumdar Oct 4, 2013
17e2556
Adds encoding header to files containing non-ascii chars
amujumdar Oct 4, 2013
a8782a6
OTWO-2996 Default to EPOCH time when the git parser don't find a date
Jan 23, 2014
26becf9
OTWO-2996 Use strict time format check using Time.rfc2822 to handle b…
Jan 27, 2014
becdca2
OTWO-2996 Rename parse_commit_date to parse_date as it can be used to…
Jan 27, 2014
5f5ef92
Merge pull request #11 from nnsathish/master
amujumdar Jan 28, 2014
f32ef97
Change Git Validation to convert https and http protocols for git and…
Feb 21, 2014
09d419f
Update comment to reflect behavior of normalize_url method
Feb 21, 2014
d20a8de
Merge pull request #12 from blackducksw/OTWO-3048
Feb 24, 2014
f310453
Normalize_Branch_Name: set the branch name when normalizing an SvnAda…
Mar 6, 2014
ec277f1
Merge pull request #13 from blackducksw/Normalize_Branch_Name
Mar 10, 2014
2e5d88f
Normalize_Branch_Name Correct condition in recalc_branch_name
Mar 11, 2014
2fb51f1
Merge pull request #14 from blackducksw/Normalize_Branch_Name
Mar 13, 2014
b1b0e1e
OTWO-2996 Default to EPOCH time when the git parser don't find a date
Jan 23, 2014
36381a6
OTWO-2996 Use strict time format check using Time.rfc2822 to handle b…
Jan 27, 2014
1601672
OTWO-2996 Rename parse_commit_date to parse_date as it can be used to…
Jan 27, 2014
969091f
Change Git Validation to convert https and http protocols for git and…
Feb 21, 2014
00a65c2
Update comment to reflect behavior of normalize_url method
Feb 21, 2014
1c371ca
Normalize_Branch_Name: set the branch name when normalizing an SvnAda…
Mar 6, 2014
4d46a00
Normalize_Branch_Name Correct condition in recalc_branch_name
Mar 11, 2014
6c53eec
Update library to run on Ruby 1.9
Jul 17, 2014
85e71bf
Add encoding specifier the BZR test files
Jul 17, 2014
46c909d
Fix merge conflict
Jul 17, 2014
2c2ac14
Fix test errors by updating SVN regex
Aug 14, 2014
cad58ef
OTWO-3206: Use cvs test repositories as a tarball
notalex Aug 31, 2014
513f636
OTWO-3206: Fix invalid utf-8 encoding issues
notalex Aug 31, 2014
6147fb8
OTWO-3218: Fix hung processes due to full io buffers
notalex Sep 11, 2014
17bb968
Merge pull request #16 from notalex/OTWO-3218
Sep 11, 2014
097c7fa
Merge pull request #15 from notalex/OTWO-3206
Sep 12, 2014
3a15341
OTWO-3222: Fix svn checkout failures during svn-git conversion
notalex Oct 2, 2014
a2e4675
Merge pull request #18 from notalex/OTWO-3222
Oct 2, 2014
8dd490b
OTWO-3206: Fix utf-8 encoding issues for svn and git
notalex Oct 5, 2014
3d8046d
Merge pull request #19 from notalex/OTWO-3206
Oct 8, 2014
9da9218
OTWO-3236 Fix SVN Failing Jobs (SlocJob)
padmanabhanr Oct 9, 2014
12027c0
Merge pull request #20 from padmanabhanr/OTWO-3236
Oct 9, 2014
8154441
OTWO-3248: Convert Ohloh SCM into a gem
notalex Oct 9, 2014
45a4225
Merge pull request #21 from notalex/OTWO-3248
Oct 14, 2014
76cb530
Update version.rb
Oct 15, 2014
ee93e37
Update ohloh_scm.gemspec
Oct 15, 2014
9da1b85
Rename library to ohloh_scm
Oct 15, 2014
528b35b
Update gemspec to build gem correctly
Oct 15, 2014
b4043f8
Rename Scm modules to OhlohScm
notalex Oct 16, 2014
05e3e17
Merge pull request #22 from notalex/OTWO-3248
Oct 16, 2014
7da779e
Update to version 2.0.1
Oct 16, 2014
30641e2
Replaced Open3 with Posix-spawn to reduce more process memory usage
santhanakarthikeyan Apr 11, 2016
86eb16d
Added travis.yml file for installing gem dependencies
santhanakarthikeyan Apr 12, 2016
bfda2ba
Replaced Open4 with posix-spawn gem
santhanakarthikeyan Apr 12, 2016
8732a56
Added script to install dependencies like xmloutput plugin
santhanakarthikeyan Apr 12, 2016
26e57ff
Added posix-spawn gem dependency
santhanakarthikeyan Apr 13, 2016
2cd5061
Merge pull request #24 from santhanakarthikeyan/replace_open3_with_po…
santhanakarthikeyan Apr 15, 2016
581e6f2
Fix for file descriptor leaks
aruncsengr May 23, 2016
d3fbd81
Merge pull request #25 from blackducksoftware/fix_file_descriptor_leak
aruncsengr Jun 3, 2016
1af22dc
Version bump
notalex Jun 7, 2016
6699a6d
OTWO-4267 Workaround to resolve 'git push fails:refusing to update ch…
aruncsengr Jun 10, 2016
2ea0d4f
OTWO-4267 Added dependencies configuration and resolved failing test …
aruncsengr Jun 10, 2016
83fe15a
Add Travis CI badge
Jun 16, 2016
5a66f7d
OTWO-4267 Configured installation of multiple SCMs in travis builds
aruncsengr Jun 10, 2016
535d2d5
OTWO-4267 Avoid changing encoding for processed data
notalex Jun 21, 2016
91181b6
OTWO-4267 Use a bare git repo for git push test
notalex Jun 22, 2016
f70ddd0
Merge pull request #26 from blackducksoftware/OTWO-4267
aruncsengr Jun 22, 2016
8346b29
OTWO-4281 Configured travis ssh setup and its dependencies
aruncsengr Jun 22, 2016
38c984f
Merge pull request #27 from blackducksoftware/OTWO-4281
aruncsengr Jun 22, 2016
a5636a4
Convert hg test repos into tarballs
notalex Jul 22, 2016
1f04ab6
OTWO-4327 git and hg must work with branches
notalex Jul 24, 2016
eada9b7
Merge pull request #28 from blackducksoftware/OTWO-4327
notalex Aug 8, 2016
20b3cce
OTWO-4332 Detect tags for all SCMs
notalex Aug 10, 2016
e7ab8a7
Merge pull request #33 from blackducksoftware/OTWO-4332
notalex Aug 10, 2016
7d4747a
OTWO-4365: Add export tags feature for SVN and CVS repository
santhanakarthikeyan Aug 10, 2016
6c99b12
Merge pull request #34 from blackducksoftware/OTWO-4365
santhanakarthikeyan Aug 11, 2016
c6d4461
OTWO-4365 Add tests for export_tag
notalex Aug 11, 2016
819d22d
Merge pull request #35 from blackducksoftware/OTWO-4365
santhanakarthikeyan Aug 11, 2016
2b44fbb
Version bump
notalex Aug 11, 2016
3e2dc8c
Merge pull request #36 from blackducksoftware/version_bump
notalex Aug 11, 2016
0c8fce9
Fetch SVN tags using ls instead of log
santhanakarthikeyan Aug 16, 2016
6cda02e
Merge pull request #37 from blackducksoftware/fix_svn_tags
santhanakarthikeyan Aug 17, 2016
08337cb
Version bump
notalex Aug 23, 2016
4163ec7
Merge pull request #39 from blackducksoftware/bump
notalex Aug 23, 2016
8888387
OTWO-4394 Fix git tags for repository without tags
notalex Sep 8, 2016
51fda59
Version bump
notalex Sep 13, 2016
1b8641d
Merge pull request #40 from blackducksoftware/OTWO-4394
notalex Sep 13, 2016
e64b9d7
OTWO-4382: Accept configurable directory for temporary file creation
santhanakarthikeyan Oct 3, 2016
b98a420
Merge pull request #42 from blackducksoftware/OTWO-4382
PDegenPortnoy Oct 26, 2016
0877a79
Update version to 2.2.3
PDegenPortnoy Oct 26, 2016
85261b4
Merge pull request #43 from blackducksoftware/version_2.2.3
PDegenPortnoy Oct 26, 2016
00d37f4
Update ruby version to specific patch
Oct 26, 2016
cb98372
Merge pull request #44 from blackducksoftware/version_2.2.3
PDegenPortnoy Oct 26, 2016
e1ef92e
OTWO-4470 Return timestamp for tags
notalex Dec 19, 2016
ec65be8
Merge pull request #46 from blackducksoftware/OTWO-4470
PDegenPortnoy Dec 22, 2016
4474205
OTWO-4466 Set the branch_name as nil if empty string
Dec 27, 2016
b7a1e3a
Merge pull request #47 from blackducksoftware/OTWO-4466
santhanakarthikeyan Dec 28, 2016
fef9085
OTWO-4466 Update version to 2.2.5
Dec 28, 2016
ebdccda
Merge pull request #49 from blackducksoftware/OTWO-4466
rapbhan Dec 28, 2016
60f796e
Add tags method to AbstractAdapter for api consistency
Jan 11, 2017
337537b
Merge pull request #50 from blackducksoftware/OTWO-4566
PDegenPortnoy Jan 12, 2017
9acff30
OTWO-4588 Return empty svn tags if it is non-tagged repository
Jan 16, 2017
481d96d
Merge pull request #51 from blackducksoftware/OTWO-4588
rapbhan Jan 16, 2017
d26cc66
Set the default EPOCH timestamp when tag timestamp is empty
rapbhan Jan 16, 2017
781954e
Merge pull request #53 from blackducksoftware/OTWO-4581
rapbhan Jan 17, 2017
3a012f0
Add UTF-8 enforcing for recurse_files
Feb 2, 2017
079fc30
Merge pull request #55 from blackducksoftware/OTWO-4585.a
Feb 2, 2017
78d442e
Increment ohloh_scm version to 2.2.9
Feb 6, 2017
350058c
Merge pull request #56 from blackducksoftware/increment_version
Feb 6, 2017
b95b166
OTWO-4616 Fetch SVN tags in xml format
Feb 13, 2017
6038dde
Merge pull request #57 from blackducksoftware/OTWO-4616
Feb 13, 2017
619e93f
OTWO-4616 Update version to 2.2.10
Feb 13, 2017
6e96502
Merge pull request #58 from blackducksoftware/OTWO-4616
rapbhan Feb 14, 2017
8007795
OTWO-4616 Make dependency on nokogiri to not be overly strict
Feb 14, 2017
81f6be7
Merge pull request #59 from blackducksoftware/OTWO-4616
santhanakarthikeyan Feb 14, 2017
0e56c7b
OTWO-4616 Add test case for fetching svn tags with whitespaces
Feb 15, 2017
0a07c8f
Merge pull request #60 from blackducksoftware/OTWO-4616
Feb 15, 2017
4314ebe
OTWO-4722 Implment Export Tag Method for Bzr Repo
rapbhan Apr 11, 2017
069732f
Merge branch 'master' into OTWO-4722
rapbhan Apr 11, 2017
f8e7412
Updated the version to 2.2.11
rapbhan Apr 11, 2017
9467650
Merge pull request #61 from blackducksoftware/OTWO-4722
rapbhan Apr 11, 2017
33b8077
OTWO-4428 Archive svn branching test repo
notalex Apr 19, 2017
9a9a7b1
OTWO-4428 Don't count R marked svn diffs
notalex Apr 19, 2017
de39289
OTWO-4428 Version Bump
notalex Apr 19, 2017
ac171bb
Merge pull request #45 from blackducksoftware/OTWO-4428
PDegenPortnoy May 2, 2017
6391658
OTWO-4721 Raise an exception if repository is empty
jebingeosil May 19, 2017
992274a
Merge pull request #62 from blackducksoftware/OTWO-4721
jebingeosil May 25, 2017
db7b50f
OTWO-4738: upgraded ruby version 2.2.5
jebingeosil May 26, 2017
52c6fdc
Merged master into OTWO-4738 and fixed conflicts
jebingeosil Jun 6, 2017
2b4b422
Merge pull request #64 from blackducksoftware/OTWO-4738
jebingeosil Jun 7, 2017
c0fc6ed
OTWO-4904: Fix error caused due branch_name set to nil
jebingeosil Aug 21, 2017
9937a8d
OTWO=4901: Changed Hg adapter commit head_token to return long sha in…
santhanakarthikeyan Aug 23, 2017
47fba64
Merge pull request #66 from blackducksoftware/OTWO-4902
santhanakarthikeyan Aug 23, 2017
1ce4817
Merge branch 'master' into OTWO-4904
jebingeosil Aug 23, 2017
a445e35
Merge pull request #65 from blackducksoftware/OTWO-4904
jebingeosil Aug 23, 2017
09cedfc
Update Readme.md
drubio1989 Nov 2, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
*.swp
*.pyc
pkg/
*.cache
.byebug*
2 changes: 2 additions & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
2.2.5

13 changes: 13 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
language: ruby
env:
- TRAVIS_CONFIG_DIR=.travis
before_install:
- cd $TRAVIS_CONFIG_DIR
- sh .travis_ssh_setup.sh
install:
- sh .install_multiple_scms.sh
- sh .install_dependencies.sh
- gem install posix-spawn
- gem install nokogiri -v 1.6.8
before_script:
- cd $TRAVIS_BUILD_DIR
15 changes: 15 additions & 0 deletions .travis/.install_dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#/usr/bin/env sh

bazaar_plugins_path=`bzr --version | awk '/bzrlib:/ {print $2}'`

cd "$bazaar_plugins_path/plugins"

sudo bzr branch lp:bzr-xmloutput

sudo mv bzr-xmloutput xmloutput

gem install 'test-unit' -v '3.2.4'

cd xmloutput

python setup.py build_ext -i
6 changes: 6 additions & 0 deletions .travis/.install_multiple_scms.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
sudo sh -c 'echo "deb http://opensource.wandisco.com/ubuntu precise svn18" >> /etc/apt/sources.list.d/subversion18.list'
sudo wget -q http://opensource.wandisco.com/wandisco-debian.gpg -O- | sudo apt-key add -
sudo apt-add-repository -y ppa:git-core/ppa
sudo apt-get update
sudo apt-get install -y git subversion cvs bzr mercurial
sudo ln -s /usr/bin/cvs /usr/bin/cvsnt
3 changes: 3 additions & 0 deletions .travis/.travis_ssh_setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "" -q
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh-keyscan -t rsa `hostname` >> ~/.ssh/known_hosts
83 changes: 64 additions & 19 deletions README → README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
= Ohloh SCM
[![Ohloh SCM on Ohloh](https://www.ohloh.net/p/ohloh_scm/widgets/project_partner_badge.gif)](https://www.ohloh.net/p/ohloh_scm) [![Build Status](https://travis-ci.org/blackducksoftware/ohloh_scm.svg?branch=master)](https://travis-ci.org/blackducksoftware/ohloh_scm)

# Ohloh SCM

The Ohloh source control management library

Expand All @@ -16,7 +18,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

== Overview
## Overview

Ohloh SCM is an abstraction layer for source control management systems,
allowing an application to interoperate with various SCMs using a
Expand All @@ -25,7 +27,7 @@ single interface.
It was originally developed at Ohloh, and is used to generate
the reports at www.ohloh.net.

== System Requirements
## System Requirements

Ohloh SCM is developed on Mac OS X 10.5 and Ubuntu 6.06 LTS. Other Linux
environments should also work, but your mileage may vary.
Expand All @@ -39,24 +41,71 @@ shell. In order to pass the unit tests, all three systems must be installed
and on your path. Ohloh uses the following versions, and other versions are
totally unsupported at this time:

cvsnt 2.5.03
svn 1.4.2
git 1.6.0.4
hg 1.1.2
cvsnt 2.5.03
svn 1.4.2
git 1.8.2.1
hg 1.1.2

If you are using CVS instead of CVSNT, you can potentially try creating
a shell alias or symlink mapping 'cvsnt' to 'cvs'.

== Running
Ohloh SCM uses [posix-spawn](https://github.com/rtomayko/posix-spawn) to
execute commands so ensure *posix-spawn* gem is installed

``gem install posix-spawn``


## Expedited Installation

The .travis file contains the necessary sh files to install the needed libraries. Simply execute the following commands:

sh .travis/.install_multiple_scms.sh
sh .travis/.install_dependencies.sh


## Usage with Bundler

```
gem 'ohloh_scm', git: 'https://github.com/blackducksw/ohloh_scm/', require: 'scm'
gem 'posix-spawn'
```
## Running

Ensure that cvsnt, svn, svnadmin, svnsync, git, and hg are all on your path. You'll also need to ensure that you have the xmloutput plugin installed for bazaar.

### Installing The XmlOutput Plugin
$ cd ~
$ mkdir .bazaar
$ cd .bazaar
$ mkdir plugins
$ cd plugins

Now checkout the latest version of the xmloutput plugin (0.8.8 as of 11/21/2011).

$ bzr branch lp:~amujumdar/bzr-xmloutput/emit_authors

The default checkout directory is poorly named and bazaar will complain about this unless it is renamed.

$ mv emit_authors xmloutput

Now you just need to install the xmloutput plugin

$ cd xmloutput
$ python setup.py build_ext -i

Verify that the plugin was installed correctly

$ bzr plugins

You should see some text like "xmloutput 0.8.8"

Ensure that cvsnt, svn, svnadmin, svnsync, git, and hg are all on your path.
Then you can run the unit tests:

$ rake
$ rake

You can load the library into your own Ruby application by requiring lib/scm.rb.
You can load the library into your own Ruby application by requiring lib/ohloh_scm.rb.

= Functionality
# Functionality

For each tracked repository, Ohloh uses the SCM library to maintain a private
local mirror. The SCM library hides the differences between source control
Expand All @@ -74,27 +123,23 @@ tasks on the local mirror:

1. Pull changes -- From a remote repository URL, pull any changes to the local
mirror. This step may involve conversion from one system to another.

2. Push changes -- From the local mirror, push any changes to another Ohloh
server. This is required to create backup copies and perform load balancing on
the Ohloh cluster, and typically occurs over ssh.

3. Commit log -- Given the last known commit, report the list of new commits,
if any, including their diffs.

4. Cat file or parent -- Given a commit, return either the contents of a
single file, or that file's previous contents.

5. Export tree -- Given a commit, export the entire contents of the source tree
to a specified temp directory.

The adapter must also implement validation routines used to filter user inputs
and confirm the presence of the remote server.

= Contact Ohloh
# Contact Ohloh

For more information visit the Ohloh website:
http://labs.ohloh.net
[Ohloh Labs](http://labs.ohloh.net)

You can reach Ohloh via email at:
[email protected]
[[email protected]](mailto:[email protected])
5 changes: 2 additions & 3 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ require 'rake/clean'
require 'rake/testtask'

require 'rubygems'
require 'rake/gempackagetask'
require 'rubygems/package_task'

spec = Gem::Specification.new do |s|
s.name = 'ohloh_scm'
Expand All @@ -15,14 +15,13 @@ spec = Gem::Specification.new do |s|
s.summary = 'Ohloh Source Control Management Library'
s.files = FileList['README', 'COPYING', '{bin,lib,test}/**/*']
s.require_path = 'lib'
s.autorequire = 'scm'
s.executables = 'ohlog'
s.has_rdoc = true
s.extra_rdoc_files = ['README']
s.test_files = FileList["test/**/*"]
end

Rake::GemPackageTask.new(spec) do |pkg|
Gem::PackageTask.new(spec) do |pkg|
pkg.need_tar = true
pkg.need_zip = true
end
Expand Down
20 changes: 18 additions & 2 deletions bin/ohlog
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../lib/scm'
require File.dirname(__FILE__) + '/../lib/ohloh_scm'

# This is a simple command line tool which parses CVS and Subversion logs.
# It is not used by the main Ohloh system.
#
# I use it primarily to help debug Ohloh behavior. It's a convenient way
# to turn an enormously long CVS log into something readable.
module Scm::Parsers
module OhlohScm::Parsers
class CommandLine
attr_accessor :paths, :writer

Expand All @@ -26,10 +26,12 @@ Ohloh source control log parser
[option] can be one of the following:

--cvs Parse a CVS rlog
--git Parse a Git log (generated with or without --name-status option)
--svn Parse a Subversion log
--svn-xml Parse a Subversion XML log
--hg Parse a Mercurial log
--bzr Parse a Bazaar log
--bzr-xml Parse a Bazaar XML log

-h, --human Output result as a human-readable log (default)
-x, --xml Output result as an XML log
Expand All @@ -49,13 +51,19 @@ Examples:

bzr log -v | ohlog --bzr

bzr xmllog -v | ohlog --bzr

HELP
end

def cvs
parse CvsParser
end

def git
parse GitParser
end

def svn
parse SvnParser
end
Expand All @@ -72,6 +80,10 @@ HELP
parse BzrParser
end

def bzr_xml
parse BzrXmlParser
end

def parse(parser)
self.writer ||= HumanWriter.new(STDOUT)

Expand Down Expand Up @@ -101,6 +113,8 @@ HELP
case option
when '--cvs'
self.subcommand = :cvs
when '--git'
self.subcommand = :git
when '--svn'
self.subcommand = :svn
when '--svn-xml'
Expand All @@ -109,6 +123,8 @@ HELP
self.subcommand = :hg
when '--bzr'
self.subcommand = :bzr
when '--bzr-xml'
self.subcommand = :bzr_xml
when '-h', '--human'
self.writer = HumanWriter.new(STDOUT)
when '-x', '--xml'
Expand Down
13 changes: 13 additions & 0 deletions bin/string_encoder
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#! /usr/bin/env ruby
# Replaces invalid utf-8 characters with �.
#
# Usage:
# $ cat some_file | string_encoder

while input = gets
if input.to_s.valid_encoding?
puts input
else
puts input.encode('UTF-8', 'binary', invalid: :replace, undef: :replace)
end
end
38 changes: 38 additions & 0 deletions lib/ohloh_scm.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
module OhlohScm
end

#require 'rbconfig'

#$: << File.join(File.dirname(__FILE__),"..")

require_relative 'ohloh_scm/shellout'
require_relative 'ohloh_scm/scratch_dir'
require_relative 'ohloh_scm/commit'
require_relative 'ohloh_scm/diff'

require_relative 'ohloh_scm/adapters/abstract_adapter'
require_relative 'ohloh_scm/adapters/cvs_adapter'
require_relative 'ohloh_scm/adapters/svn_adapter'
require_relative 'ohloh_scm/adapters/svn_chain_adapter'
require_relative 'ohloh_scm/adapters/git_adapter'
require_relative 'ohloh_scm/adapters/hg_adapter'
require_relative 'ohloh_scm/adapters/hglib_adapter'
require_relative 'ohloh_scm/adapters/bzr_adapter'
require_relative 'ohloh_scm/adapters/bzrlib_adapter'
require_relative 'ohloh_scm/adapters/factory'

require_relative 'ohloh_scm/parsers/parser'
require_relative 'ohloh_scm/parsers/branch_number'
require_relative 'ohloh_scm/parsers/cvs_parser'
require_relative 'ohloh_scm/parsers/svn_parser'
require_relative 'ohloh_scm/parsers/svn_xml_parser'
require_relative 'ohloh_scm/parsers/git_parser'
require_relative 'ohloh_scm/parsers/git_styled_parser'
require_relative 'ohloh_scm/parsers/hg_parser'
require_relative 'ohloh_scm/parsers/hg_styled_parser'
require_relative 'ohloh_scm/parsers/bzr_xml_parser'
require_relative 'ohloh_scm/parsers/bzr_parser'

require_relative 'ohloh_scm/parsers/array_writer'
require_relative 'ohloh_scm/parsers/xml_writer'
require_relative 'ohloh_scm/parsers/human_writer'
13 changes: 13 additions & 0 deletions lib/ohloh_scm/adapters/abstract/misc.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module OhlohScm::Adapters
class AbstractAdapter

def is_merge_commit?(commit)
false
end

def tags
[]
end

end
end
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
require 'sha1'
require 'digest/sha1'

NULL_SHA1 = '0000000000000000000000000000000000000000' unless defined?(NULL_SHA1)

module Scm::Adapters
module OhlohScm::Adapters
class AbstractAdapter

# This file provides SHA1 computation helpers for source control systems that
Expand All @@ -11,7 +11,7 @@ class AbstractAdapter
# that match those generated natively by Git.

def compute_sha1(blob)
blob.to_s == '' ? NULL_SHA1 : SHA1.sha1("blob #{blob.length}\0#{blob}").to_s
blob.to_s == '' ? NULL_SHA1 : Digest::SHA1.hexdigest("blob #{blob.length}\0#{blob}")
end

# Populates the SHA1 values for each diff in a commit.
Expand Down
Loading