git-object-browser 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
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