ref: 44a6f2799e78fb097b5d99914dfe83cc1436b2a7
parent: a93b357580f352497c5414254341874ff0e9022d
author: Ori Bernstein <ori@eigenstate.org>
date: Sat Jan 16 15:14:12 EST 2021
git/init: change default branch, remove template The stuff in the template directory is mostly unused by git9, so we may as well get rid of it. While we're here, remove support for creating bare repos, since none of the rest of our stuff supports it, and having an extra '.git/' in an empty dir isn't worth the trouble. Also while we're here, change the default branch to 'front': it's more playful than 'main', and avoids debates about the default name.
--- a/init
+++ b/init
@@ -2,15 +2,16 @@
rfork ne
. /sys/lib/git/common.rc
-flagfmt='b:bare, u:upstream upstream'; args='name'
+flagfmt='u:upstream upstream,b:branch branch'; args='name'
eval `''{aux/getflags $*} || exec aux/usage
dir=$1
if(~ $#dir 0)
- exec aux/usage
-dotgit=$dir/.git
-if(~ $#bare 1)
- dotgit=$dir
+ dir=.
+if(~ $#branch 0)
+ branch=front
+if(test -e $dir/.git)
+ die $dir/.git already exists
name=`{basename `{cleanname -d `{pwd} $dir}}
if(~ $#upstream 0){
upstream=`{git/conf 'defaults "origin".baseurl'}
@@ -18,18 +19,20 @@
upstream=$upstream/$name
}
-if(test -e $dotgit)
- die $dotgit already exists
-
-mkdir -p $dotgit/refs/^(heads remotes)
-dircp /sys/lib/git/template $dotgit
->>$dotgit/config {
+mkdir -p $dir/.git/refs/^(heads remotes)
+>$dir/.git/config {
+ echo '[core]'
+ echo ' repositoryformatversion = p9.0'
if(! ~ $#upstream 0){
echo '[remote "origin"]'
echo ' url = '$upstream
}
- echo '[branch "master"]'
+ echo '[branch "'$branch'"]'
echo ' remote = origin'
- echo ' merge = refs/heads/master'
}
+
+>$dir/.git/HEAD {
+ echo ref: refs/heads/$branch
+}
+
exit ''
--- a/mkfile
+++ b/mkfile
@@ -54,7 +54,6 @@
cp git.1.man /sys/man/1/git
cp gitfs.4.man /sys/man/4/gitfs
cp common.rc /sys/lib/git/common.rc
- mk $MKFLAGS /sys/lib/git/template
uninstall:V:
rm -rf $BIN /sys/lib/git /sys/man/1/git /sys/man/4/gitfs
@@ -62,7 +61,3 @@
%.rcinstall:V:
cp $stem $BIN/$stem
chmod +x $BIN/$stem
-
-/sys/lib/git/template: template
- mkdir -p /sys/lib/git/template
- dircp template /sys/lib/git/template
--- a/template/HEAD
+++ /dev/null
@@ -1,1 +1,0 @@
-ref: refs/heads/master
--- a/template/config
+++ /dev/null
@@ -1,5 +1,0 @@
-[core]
- repositoryformatversion = 0
- filemode = true
- bare = false
- logallrefupdates = true
--- a/template/description
+++ /dev/null
@@ -1,1 +1,0 @@
-Unnamed repository; edit this file 'description' to name the repository.
--- a/template/info/exclude
+++ /dev/null
@@ -1,6 +1,0 @@
-# git ls-files --others --exclude-from=.git/info/exclude
-# Lines that start with '#' are comments.
-# For a project mostly in C, the following would be a good set of
-# exclude patterns (uncomment them if you want to use them):
-# *.[oa]
-# *~