gitlab_git 7.0.0.rc3 → 7.0.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/gitlab_git/repository.rb +37 -58
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac5cbe56279c663c2bbff8af444c61da6f004056
|
4
|
+
data.tar.gz: ab6cb0ba7984203a57ca8112e3538a2525237fc8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9595dccf43da4638106dd90aead029a5d33b1a51684ae83cab7591a4b9a0943d4f6ab4412e613c1c06e7d959dfefad323414ea48a66ded7c84d83ffe75b02450
|
7
|
+
data.tar.gz: 17a0b75f441a6c10a26a3ce05049613b250ef0adf7d1682f84dfd4845fa43808a979360047e863edd759cb8d0abd99a57a0d01a83e5e01596d446154de5a71f3
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
7.0.0.
|
1
|
+
7.0.0.rc4
|
@@ -326,7 +326,7 @@ module Gitlab
|
|
326
326
|
# repo.branch_names_contains('master')
|
327
327
|
#
|
328
328
|
def branch_names_contains(commit)
|
329
|
-
branches_contains(commit).map { |c| c.
|
329
|
+
branches_contains(commit).map { |c| c.name }
|
330
330
|
end
|
331
331
|
|
332
332
|
# Returns branch collection that contains the special commit(SHA1 or name)
|
@@ -813,33 +813,33 @@ module Gitlab
|
|
813
813
|
prefix = File.basename(name)
|
814
814
|
extension = Pathname.new(file_path).extname
|
815
815
|
|
816
|
-
if extension ==
|
816
|
+
if extension == '.zip'
|
817
817
|
create_zip_archive(ref_name, file_path, prefix)
|
818
818
|
else
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
819
|
+
rd_pipe, rw_pipe = IO.pipe
|
820
|
+
tar_pid = fork do
|
821
|
+
# Send the tar file to the write pipe
|
822
|
+
rd_pipe.close
|
823
|
+
Gem::Package::TarWriter.new(rw_pipe) do |tar|
|
824
|
+
tar.mkdir(prefix, 33261)
|
825
|
+
|
826
|
+
populated_index(ref_name).each do |entry|
|
827
|
+
add_archive_entry(tar, prefix, entry)
|
828
|
+
end
|
829
|
+
end
|
830
|
+
rw_pipe.close
|
826
831
|
end
|
827
|
-
end
|
828
|
-
end
|
829
832
|
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
833
|
+
# Use the other end of the pipe to compress with bzip2 or gzip
|
834
|
+
FileUtils.mkdir_p(Pathname.new(file_path).dirname)
|
835
|
+
archive_file = File.new(file_path, 'wb')
|
836
|
+
rw_pipe.close
|
837
|
+
system(*pipe_cmd, in: rd_pipe, out: archive_file)
|
835
838
|
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
+
Process.waitpid(tar_pid)
|
840
|
+
rd_pipe.close
|
841
|
+
archive_file.close
|
839
842
|
end
|
840
|
-
|
841
|
-
tarfile.rewind
|
842
|
-
tarfile
|
843
843
|
end
|
844
844
|
|
845
845
|
# Create a zip file with the contents of the repo
|
@@ -854,22 +854,26 @@ module Gitlab
|
|
854
854
|
# Add a file or directory from the index to the given tar or zip file
|
855
855
|
def add_archive_entry(archive, prefix, entry)
|
856
856
|
prefixed_path = File.join(prefix, entry[:path])
|
857
|
-
content = rugged.lookup(entry[:oid]).content unless submodule?(entry)
|
858
857
|
|
859
|
-
|
860
|
-
|
861
|
-
|
858
|
+
if submodule?(entry)
|
859
|
+
# Create an empty directory for submodules
|
860
|
+
mask = case archive
|
861
|
+
when Zip::File then 0755
|
862
|
+
else '100755'.to_i(8)
|
863
|
+
end
|
864
|
+
archive.mkdir(prefixed_path, mask)
|
865
|
+
else
|
866
|
+
blob = rugged.lookup(entry[:oid])
|
867
|
+
content = blob.content
|
868
|
+
|
869
|
+
# Write the blob contents to the archive
|
870
|
+
if archive.is_a?(Zip::File)
|
862
871
|
archive.get_output_stream(prefixed_path) do |os|
|
863
872
|
os.write(content)
|
864
873
|
end
|
865
|
-
end
|
866
|
-
else
|
867
|
-
if submodule?(entry)
|
868
|
-
# Create directories for submodules
|
869
|
-
archive.mkdir(prefixed_path, 33261)
|
870
874
|
else
|
871
|
-
|
872
|
-
|
875
|
+
archive.add_file_simple(prefixed_path,
|
876
|
+
entry[:mode], blob.size) do |tf|
|
873
877
|
tf.write(content)
|
874
878
|
end
|
875
879
|
end
|
@@ -882,31 +886,6 @@ module Gitlab
|
|
882
886
|
index_entry[:mode] == 57344
|
883
887
|
end
|
884
888
|
|
885
|
-
# Send the +tar_string+ StringIO to +pipe_cmd+ for bzip2 or gzip
|
886
|
-
# compression.
|
887
|
-
def compress_tar(tar_string, file_path, pipe_cmd)
|
888
|
-
# Write the in-memory tarfile to a pipe
|
889
|
-
rd_pipe, rw_pipe = IO.pipe
|
890
|
-
tar_pid = fork do
|
891
|
-
rd_pipe.close
|
892
|
-
rw_pipe.write(tar_string.read)
|
893
|
-
rw_pipe.close
|
894
|
-
end
|
895
|
-
|
896
|
-
# Use the other end of the pipe to compress with bzip2 or gzip
|
897
|
-
FileUtils.mkdir_p(Pathname.new(file_path).dirname)
|
898
|
-
archive_file = File.new(file_path, "wb")
|
899
|
-
rw_pipe.close
|
900
|
-
compress_pid = spawn(*pipe_cmd, in: rd_pipe, out: archive_file)
|
901
|
-
rd_pipe.close
|
902
|
-
|
903
|
-
Process.waitpid(tar_pid)
|
904
|
-
Process.waitpid(compress_pid)
|
905
|
-
|
906
|
-
archive_file.close
|
907
|
-
tar_string.close
|
908
|
-
end
|
909
|
-
|
910
889
|
# Return a Rugged::Index that has read from the tree at +ref_name+
|
911
890
|
def populated_index(ref_name)
|
912
891
|
tree = rugged.lookup(rugged.rev_parse_oid(ref_name)).tree
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab_git
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.0.
|
4
|
+
version: 7.0.0.rc4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitriy Zaporozhets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gitlab-linguist
|