File tree Expand file tree Collapse file tree 4 files changed +10
-2
lines changed Expand file tree Collapse file tree 4 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -278,8 +278,8 @@ def initPkg (dir : FilePath) (name : Name) (tmp : InitTemplate) (lang : ConfigLa
278
278
IO.FS.writeFile readmeFile (readmeFileContents <| dotlessName name)
279
279
280
280
-- initialize a `.git` repository if none already
281
- unless (← FilePath.isDir <| dir / ".git" ) do
282
- let repo := GitRepo.mk dir
281
+ let repo := GitRepo.mk dir
282
+ unless (← repo.insideWorkTree) do
283
283
try
284
284
repo.quietInit
285
285
unless upstreamBranch = "master" do
Original file line number Diff line number Diff line change @@ -63,6 +63,9 @@ def cwd : GitRepo := ⟨"."⟩
63
63
@[inline] def quietInit (repo : GitRepo) : LogIO PUnit :=
64
64
repo.execGit #["init" , "-q" ]
65
65
66
+ @[inline] def insideWorkTree (repo : GitRepo) : BaseIO Bool := do
67
+ repo.testGit #["rev-parse" , "--is-inside-work-tree" ]
68
+
66
69
@[inline] def fetch (repo : GitRepo) (remote := Git.defaultRemote) : LogIO PUnit :=
67
70
repo.execGit #["fetch" , "--tags" , "--force" , remote]
68
71
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ mkdir hello
18
18
pushd hello
19
19
$LAKE init hello
20
20
$LAKE update
21
+ git init
21
22
git checkout -b master
22
23
git config user.name test
23
24
git config user.email test@example.com
Original file line number Diff line number Diff line change 22
22
# a@1/init
23
23
$LAKE new a lib.lean
24
24
pushd a
25
+ git init
25
26
git checkout -b master
26
27
git add .
27
28
git config user.name test
33
34
# b@1: require a@master, manifest a@1
34
35
$LAKE new b lib.lean
35
36
pushd b
37
+ git init
36
38
git checkout -b master
37
39
cat >> lakefile.lean << EOF
38
40
require a from git "../a" @ "master"
54
56
# c@1: require a@master, manifest a@2
55
57
$LAKE new c lib.lean
56
58
pushd c
59
+ git init
57
60
git checkout -b master
58
61
cat >> lakefile.lean << EOF
59
62
require a from git "../a" @ "master"
69
72
# d@1: require b@master c@master => a, manifest a@1 b@1 c@1
70
73
$LAKE new d lib.lean
71
74
pushd d
75
+ git init
72
76
git checkout -b master
73
77
cat >> lakefile.lean << EOF
74
78
require b from git "../b" @ "master"
You can’t perform that action at this time.
0 commit comments