git-media 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +4 -1
- data/git-media.gemspec +1 -1
- data/lib/git-media/filter-clean.rb +3 -1
- data/lib/git-media/filter-smudge.rb +4 -3
- data/lib/git-media/status.rb +8 -8
- metadata +8 -7
data/README.rdoc
CHANGED
@@ -14,7 +14,7 @@ Setup the attributes filter settings.
|
|
14
14
|
Setup the .gitattributes file to map extensions to the filter.
|
15
15
|
|
16
16
|
(in repo - once)
|
17
|
-
$ echo "*.mov filter=media" > .gitattributes
|
17
|
+
$ echo "*.mov filter=media -crlf" > .gitattributes
|
18
18
|
|
19
19
|
Staging files with those extensions will automatically copy them to the
|
20
20
|
media buffer area (.git/media) until you run 'git media sync' wherein they
|
@@ -76,6 +76,9 @@ that is. If you want to upload & delete the local cache of media files, run:
|
|
76
76
|
$ sudo gem install git-media-0.1.1.gem
|
77
77
|
|
78
78
|
== Notes for Windows
|
79
|
+
It is important to switch off git smart newline character support for media files.
|
80
|
+
Use "-crlf" switch in .gitattributes (for example "*.mov filter=media -crlf") or config option "core.autocrlf = false".
|
81
|
+
|
79
82
|
If installing on windows, you might run into a problem verifying certificates
|
80
83
|
for S3 or something. If that happens, modify
|
81
84
|
C:\Ruby191\lib\ruby\gems\1.9.1\gems\right_http_connection-1.2.4\lib\right_http_connection.rb
|
data/git-media.gemspec
CHANGED
@@ -24,7 +24,9 @@ module GitMedia
|
|
24
24
|
tempfile.close
|
25
25
|
|
26
26
|
# calculate and print the SHA of the data
|
27
|
-
|
27
|
+
STDOUT.print hx = hashfunc.hexdigest
|
28
|
+
STDOUT.binmode
|
29
|
+
STDOUT.write("\n")
|
28
30
|
|
29
31
|
# move the tempfile to our media buffer area
|
30
32
|
media_file = File.join(media_buffer, hx)
|
@@ -6,8 +6,8 @@ module GitMedia
|
|
6
6
|
can_download = false # TODO: read this from config and implement
|
7
7
|
|
8
8
|
# read checksum size
|
9
|
-
sha = STDIN.
|
10
|
-
if STDIN.eof? && sha
|
9
|
+
sha = STDIN.readline(64).strip # read no more than 64 bytes
|
10
|
+
if STDIN.eof? && sha.length == 40 && sha.match(/^[0-9a-fA-F]+$/) != nil
|
11
11
|
# this is a media file
|
12
12
|
media_file = File.join(media_buffer, sha.chomp)
|
13
13
|
if File.exists?(media_file)
|
@@ -25,7 +25,8 @@ module GitMedia
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
else
|
28
|
-
# if
|
28
|
+
# if it is not a 40 character long hash, just output
|
29
|
+
STDERR.puts('Unknown git-media file format')
|
29
30
|
print sha
|
30
31
|
while data = STDIN.read(4096)
|
31
32
|
print data
|
data/lib/git-media/status.rb
CHANGED
@@ -10,7 +10,7 @@ module GitMedia
|
|
10
10
|
r = self.local_cache_status
|
11
11
|
self.print_cache_status(r)
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
# find tree entries that are likely media references
|
15
15
|
def self.find_references
|
16
16
|
references = {:to_expand => [], :expanded => [], :deleted => []}
|
@@ -22,7 +22,7 @@ module GitMedia
|
|
22
22
|
if size == tree_size.to_i
|
23
23
|
# TODO: read in the data and verify that it's a sha + newline
|
24
24
|
sha = File.read(fname).strip
|
25
|
-
if sha.length == 40
|
25
|
+
if sha.length == 40 && sha =~ /^[0-9a-f]+$/
|
26
26
|
references[:to_expand] << [fname, sha]
|
27
27
|
end
|
28
28
|
else
|
@@ -48,14 +48,14 @@ module GitMedia
|
|
48
48
|
puts "== Expanded Media =="
|
49
49
|
refs[:expanded].each do |file|
|
50
50
|
size = File.size(file)
|
51
|
-
puts " " + "(#{self.to_human(size)})".ljust(8) + " #{file}"
|
51
|
+
puts " " + "(#{self.to_human(size)})".ljust(8) + " #{file}"
|
52
52
|
end
|
53
53
|
puts
|
54
54
|
end
|
55
55
|
if refs[:deleted].size > 0
|
56
56
|
puts "== Deleted Media =="
|
57
57
|
refs[:deleted].each do |file|
|
58
|
-
puts " " + " #{file}"
|
58
|
+
puts " " + " #{file}"
|
59
59
|
end
|
60
60
|
puts
|
61
61
|
end
|
@@ -76,7 +76,7 @@ module GitMedia
|
|
76
76
|
refs[:pushed].each do |sha|
|
77
77
|
cache_file = GitMedia.media_path(sha)
|
78
78
|
size = File.size(cache_file)
|
79
|
-
puts " " + "(#{self.to_human(size)})".ljust(8) + ' ' + sha[0, 8]
|
79
|
+
puts " " + "(#{self.to_human(size)})".ljust(8) + ' ' + sha[0, 8]
|
80
80
|
end
|
81
81
|
puts
|
82
82
|
end
|
@@ -100,8 +100,8 @@ module GitMedia
|
|
100
100
|
return (size / 1024).to_s + 'k'
|
101
101
|
else
|
102
102
|
return (size / 1048576).to_s + 'm'
|
103
|
-
end
|
103
|
+
end
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
end
|
107
|
-
end
|
107
|
+
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-media
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 31
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Scott Chacon
|
@@ -14,8 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2009-06-10 00:00:00
|
18
|
-
default_executable: git-media
|
18
|
+
date: 2009-06-10 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description:
|
@@ -46,7 +46,6 @@ files:
|
|
46
46
|
- lib/git-media/transport/scp.rb
|
47
47
|
- lib/git-media/transport.rb
|
48
48
|
- lib/git-media.rb
|
49
|
-
has_rdoc: true
|
50
49
|
homepage: http://github.com/schacon/git-media
|
51
50
|
licenses: []
|
52
51
|
|
@@ -60,6 +59,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
59
|
requirements:
|
61
60
|
- - ">="
|
62
61
|
- !ruby/object:Gem::Version
|
62
|
+
hash: 3
|
63
63
|
segments:
|
64
64
|
- 0
|
65
65
|
version: "0"
|
@@ -68,13 +68,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
68
|
requirements:
|
69
69
|
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
71
72
|
segments:
|
72
73
|
- 0
|
73
74
|
version: "0"
|
74
75
|
requirements: []
|
75
76
|
|
76
77
|
rubyforge_project:
|
77
|
-
rubygems_version: 1.
|
78
|
+
rubygems_version: 1.8.24
|
78
79
|
signing_key:
|
79
80
|
specification_version: 2
|
80
81
|
summary: "\"This is a summary! Stop yer whining\""
|