summaryrefslogtreecommitdiff
path: root/rc/bin/sysupdate
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2021-06-06 17:44:10 +0000
committerOri Bernstein <ori@eigenstate.org>2021-06-06 17:44:10 +0000
commit01f72865210ce4582e4958bac8c4777e7aa209cd (patch)
treea4658cbdc51e3b8f6c907c5b39439b6bf9a11156 /rc/bin/sysupdate
parentd1d5f21992c0457596d855d1283ae8dbecc01338 (diff)
downloadplan9front-01f72865210ce4582e4958bac8c4777e7aa209cd.tar.xz
see last try.
Diffstat (limited to 'rc/bin/sysupdate')
-rwxr-xr-xrc/bin/sysupdate44
1 files changed, 31 insertions, 13 deletions
diff --git a/rc/bin/sysupdate b/rc/bin/sysupdate
index e0420b50f..88fec033c 100755
--- a/rc/bin/sysupdate
+++ b/rc/bin/sysupdate
@@ -1,17 +1,35 @@
#!/bin/rc
+
rfork en
-source=https://code.9front.org/hg/plan9front
-cd /
-if(! test -d .hg)
- bind -ac /dist/plan9front /
-while(! ~ $#* 0){
- switch($1){
- case -i
- hg incoming $source
- case *
- echo usage: sysupdate '[-i]' >[1=2]
- exit usage
+
+updating=()
+nl='
+'
+if(! test -d /dist/plan9front/.git){
+ >[1=2] echo 'end of line for hg: moving to git.'
+ updating=1
+
+ if(! test -f /bin/git/pull){
+ >[1=2] echo 'git is required:'
+ >[1=2] echo ' cd /sys/src/cmd/git && mk install'
+ exit gitless
}
- shift
+
+ >[1=2] echo ' fetching snapshot...'
+ cd /dist/plan9front
+ hget http://git.9front.org/static/plan9front-seed.tar.gz | tar xz
+ mv .git-snap .git
+
+ git/fs
+ git/walk >/dev/null
+ >[1=2] echo ' pulling with git...'
}
-hg -v pull -u $source
+
+cd /
+if(! test -d .git)
+ bind -ac /dist/plan9front /
+git/pull -u gits://git.9front.org/plan9front/plan9front
+
+if(~ $updating 1)
+ >[1=2] echo 'got git: you may remove /dist/plan9front/.hg'
+exit ''