FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
pre-commit/pre_commit/make_archives.py at wip_progress_dots · pre-commit/pre-commit · GitHub
pre-commit
pre-commit
Repository navigation
Code
Issues
17
(17)
Pull requests
8
(8)
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
pre-commit
/
pre_commit
/
make_archives.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
68 lines (52 loc) · 2.02 KB
Breadcrumbs
pre-commit
/
pre_commit
/
make_archives.py
Copy path
File metadata and controls
68 lines (52 loc) · 2.02 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from
__future__
import
absolute_import
from
__future__
import
print_function
from
__future__
import
unicode_literals
import
argparse
import
os
.
path
import
tarfile
from
pre_commit
import
output
from
pre_commit
.
util
import
cmd_output_b
from
pre_commit
.
util
import
rmtree
from
pre_commit
.
util
import
tmpdir
# This is a script for generating the tarred resources for git repo
# dependencies. Currently it's just for "vendoring" ruby support packages.
REPOS
=
(
(
'rbenv'
,
'git://github.com/rbenv/rbenv'
,
'e60ad4a'
),
(
'ruby-build'
,
'git://github.com/rbenv/ruby-build'
,
'9bc9971'
),
(
'ruby-download'
,
'git://github.com/garnieretienne/rvm-download'
,
'09bd7c6'
,
),
)
def
make_archive
(
name
,
repo
,
ref
,
destdir
):
"""Makes an archive of a repository in the given destdir.
:param text name: Name to give the archive. For instance foo. The file
that is created will be called foo.tar.gz.
:param text repo: Repository to clone.
:param text ref: Tag/SHA/branch to check out.
:param text destdir: Directory to place archives in.
"""
output_path
=
os
.
path
.
join
(
destdir
,
name
+
'.tar.gz'
)
with
tmpdir
()
as
tempdir
:
# Clone the repository to the temporary directory
cmd_output_b
(
'git'
,
'clone'
,
repo
,
tempdir
)
cmd_output_b
(
'git'
,
'checkout'
,
ref
,
cwd
=
tempdir
)
# We don't want the '.git' directory
# It adds a bunch of size to the archive and we don't use it at
# runtime
rmtree
(
os
.
path
.
join
(
tempdir
,
'.git'
))
with
tarfile
.
open
(
output_path
,
'w|gz'
)
as
tf
:
tf
.
add
(
tempdir
,
name
)
return
output_path
def
main
(
argv
=
None
):
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
'--dest'
,
default
=
'pre_commit/resources'
)
args
=
parser
.
parse_args
(
argv
)
for
archive_name
,
repo
,
ref
in
REPOS
:
output
.
write_line
(
'Making {}.tar.gz for {}@{}'
.
format
(
archive_name
,
repo
,
ref
),
)
make_archive
(
archive_name
,
repo
,
ref
,
args
.
dest
)
if
__name__
==
'__main__'
:
exit
(
main
())
Back
|
FazBrowse Home
|
New Git URL