git-object-browser 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 koseki
1
+ Copyright (c) 2012-2013 KOSEKI Kengo <koseki@gmail.com>
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -12,17 +12,19 @@ Browse git raw objects.
12
12
  To browse .git directory:
13
13
 
14
14
  $ git object-browser ./path/to/project
15
- $ open http://localhost:8080/#/.git
15
+ $ open http://localhost:8080/#/.git/
16
16
 
17
17
  To dump .git directory (dump HTML/JSON/JS app):
18
18
 
19
19
  $ git object-browser --dump path/to/dump/dir path/to/project
20
20
  $ ${any_http_server} --port 8080 path/to/dump/dir
21
- $ open http://localhost:8080/#/step1/.git/
21
+ $ open http://localhost:8080/#/.git/
22
22
 
23
23
  To dump .git step by step:
24
24
 
25
25
  $ git object-browser --dump path/to/dump/dir --next path/to/project
26
+ $ ${any_http_server} --port 8080 path/to/dump/dir
27
+ $ open http://localhost:8080/#/step1/.git/
26
28
 
27
29
  this command shows .git diff between previous step and current step.
28
30
 
@@ -7,6 +7,7 @@ Gem::Specification.new do |gem|
7
7
  gem.description = %q{Browse git raw objects.}
8
8
  gem.summary = %q{Browse git raw objects.}
9
9
  gem.homepage = 'https://github.com/koseki/git-object-browser'
10
+ gem.license = 'MIT'
10
11
 
11
12
  gem.files = `git ls-files`.split($\)
12
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -34,14 +34,15 @@ require "git-object-browser/server/main"
34
34
  require "git-object-browser/server/git_servlet"
35
35
 
36
36
  require "git-object-browser/dumper/main"
37
- require "git-object-browser/dumper/objects_dumper"
38
- require "git-object-browser/dumper/index_dumper"
39
37
  require "git-object-browser/dumper/directories_dumper"
40
- require "git-object-browser/dumper/plain_files_dumper"
41
- require "git-object-browser/dumper/refs_dumper"
38
+ require "git-object-browser/dumper/index_dumper"
39
+ require "git-object-browser/dumper/info_refs_dumper"
40
+ require "git-object-browser/dumper/objects_dumper"
42
41
  require "git-object-browser/dumper/packed_refs_dumper"
43
42
  require "git-object-browser/dumper/pack_indexes_dumper"
44
43
  require "git-object-browser/dumper/packed_objects_dumper"
45
- require "git-object-browser/dumper/info_refs_dumper"
44
+ require "git-object-browser/dumper/plain_files_dumper"
45
+ require "git-object-browser/dumper/reflog_dumper"
46
+ require "git-object-browser/dumper/refs_dumper"
46
47
 
47
48
  GitObjectBrowser::Main.new().execute if __FILE__ == $0
@@ -102,7 +102,9 @@ module GitObjectBrowser
102
102
  conf['loadDiff'] = true
103
103
  end
104
104
  conf['steps'] = [] unless conf['steps'].is_a? Array
105
- conf['steps'] << { 'name' => @step, 'label' => @step }
105
+ if @step
106
+ conf['steps'] << { 'name' => @step, 'label' => @step }
107
+ end
106
108
 
107
109
  File.open(default_file, 'w') do |io|
108
110
  io << "// Edit config.js instead of this file.\n"
@@ -185,6 +187,7 @@ module GitObjectBrowser
185
187
  [IndexDumper,
186
188
  ObjectsDumper,
187
189
  RefsDumper,
190
+ ReflogDumper,
188
191
  DirectoriesDumper,
189
192
  PlainFilesDumper,
190
193
  PackIndexesDumper,
@@ -25,7 +25,7 @@ module GitObjectBrowser
25
25
  Dir.chdir(@root) do
26
26
  Dir.glob('*') do |path|
27
27
  next if %w{HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD CHERRY_PICK_HEAD}.include?(path)
28
- next if %w{dump index objects refs packed-refs}.include?(path)
28
+ next if %w{dump index objects refs packed-refs logs}.include?(path)
29
29
 
30
30
  if File.directory?(path)
31
31
  subdirs << path
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ module GitObjectBrowser
4
+
5
+ module Dumper
6
+
7
+ class ReflogDumper
8
+
9
+ def initialize(root, outdir)
10
+ @root = root
11
+ @outdir = outdir
12
+ end
13
+
14
+ def dump
15
+ files = []
16
+ Dir.chdir(@root) do
17
+ Dir.glob("logs/**/*") do |path|
18
+ files << path if File.file?(path)
19
+ end
20
+ end
21
+ return if files.empty?
22
+
23
+ files.each do |path|
24
+ file = File.join(@root, path)
25
+ next unless File.exist?(file)
26
+ outfile = File.join(@outdir, "#{ path }.json")
27
+ FileUtils.mkdir_p(File.dirname(outfile))
28
+
29
+ puts "Write: #{path}\n"
30
+ File.open(file) do |input|
31
+ File.open(outfile, "w") do |output|
32
+ dump_object(input, output, path)
33
+ end
34
+ end
35
+ end
36
+ end
37
+
38
+ def dump_object(input, output, path)
39
+ obj = GitObjectBrowser::Models::Reflog.new(input).parse
40
+ wrapped = GitObjectBrowser::Models::WrappedObject.new(nil, path, obj)
41
+ output << JSON.pretty_generate(wrapped.to_hash)
42
+ end
43
+ end
44
+ end
45
+ end
46
+
@@ -1,3 +1,3 @@
1
1
  module GitObjectBrowser
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-object-browser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-28 00:00:00.000000000 Z
12
+ date: 2013-08-29 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Browse git raw objects.
15
15
  email:
@@ -87,6 +87,7 @@ files:
87
87
  - lib/git-object-browser/dumper/packed_objects_dumper.rb
88
88
  - lib/git-object-browser/dumper/packed_refs_dumper.rb
89
89
  - lib/git-object-browser/dumper/plain_files_dumper.rb
90
+ - lib/git-object-browser/dumper/reflog_dumper.rb
90
91
  - lib/git-object-browser/dumper/refs_dumper.rb
91
92
  - lib/git-object-browser/main.rb
92
93
  - lib/git-object-browser/models/bindata.rb
@@ -180,7 +181,8 @@ files:
180
181
  - spec/git-object-browser/models/plain_file_spec.rb
181
182
  - spec/spec_helper.rb
182
183
  homepage: https://github.com/koseki/git-object-browser
183
- licenses: []
184
+ licenses:
185
+ - MIT
184
186
  post_install_message:
185
187
  rdoc_options: []
186
188
  require_paths:
@@ -199,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
201
  version: '0'
200
202
  segments:
201
203
  - 0
202
- hash: 803331941906399481
204
+ hash: -1762485448778216421
203
205
  requirements: []
204
206
  rubyforge_project:
205
207
  rubygems_version: 1.8.24