aboutsummaryrefslogtreecommitdiffstats
path: root/defs
diff options
context:
space:
mode:
authorKazuhiro NISHIYAMA <zn@mbf.nifty.com>2023-10-11 11:38:04 +0900
committerKazuhiro NISHIYAMA <znz@users.noreply.github.com>2023-10-11 13:32:54 +0900
commit0fb10074e1be3031cef803d78ae8127239a99141 (patch)
tree9c7479c0859ab3fa6553431696030de8cddccdb0 /defs
parenta84d0945faa499351e9d11f649e9c132c540eb46 (diff)
downloadruby-0fb10074e1be3031cef803d78ae8127239a99141.tar.gz
Fix error when gems/src is read-only
When I shared srcdir as read-only in lima-vm, `make install` causes following error: ``` Update rbs to 33813a60752624d58dfe5ae770b39bfaf29fbaf1 error: cannot open .git/FETCH_HEAD: Read-only file system ``` I cannot find any ignore option for `git checkout --detach` when already checked out. So I add `if`.
Diffstat (limited to 'defs')
-rw-r--r--defs/gmake.mk8
1 files changed, 5 insertions, 3 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk
index 8bb42588e4..5489b017b3 100644
--- a/defs/gmake.mk
+++ b/defs/gmake.mk
@@ -371,9 +371,11 @@ $(bundled-gem-revision): \
| $(srcdir)/.bundle/.timestamp $(srcdir)/gems/src/$(1)/.git
$(ECHO) Update $(1) to $(3)
$(Q) $(CHDIR) "$(srcdir)/gems/src/$(1)" && \
- $(GIT) fetch origin $(3) && \
- $(GIT) checkout --detach $(3) && \
- :
+ if [ `$(GIT) rev-parse HEAD` != $(3) ]; then \
+ $(GIT) fetch origin $(3) && \
+ $(GIT) checkout --detach $(3) && \
+ :; \
+ fi
echo $(3) | $(IFCHANGE) $$(@) -
# The repository of minitest does not include minitest.gemspec because it uses hoe.