ref: befc2738356f9029f6631bef93d68e3f0d65d5ef
parent: 34bdfecb51c9948156b41c4774e8cd500cda2180
author: Ori Bernstein <ori@eigenstate.org>
date: Tue Oct 22 21:44:11 EDT 2019
Clean up git/branch script.
--- a/branch
+++ b/branch
@@ -21,8 +21,8 @@
'
stay=()
create=()
-update=()
delete=()
+update=()
base=`{awk '$1=="branch"{print $2}' < /mnt/git/ctl}
while(~ $1 -* && ! ~ $1 --){
switch($1){
@@ -29,8 +29,8 @@
case -c; create=true
case -s; stay=true
case -b; shift; base=$1
- case -u; update=true
case -d; delete=true
+ case -u; update=true
case *
usage
}
@@ -57,12 +57,17 @@
exit
}
+if(~ $#update 0 && test -f .git/$new){
+ echo branch $1 already exists
+ exit already-got-one
+}
+
if(! git/walk -q `{git/query -c HEAD $base | sed 's/^..//'}){
- echo remote changes would clobber local changes >[1=2]
+ echo branch update would clobber changes >[1=2]
exit dirty
}
-if(~ $#create 0){
+if(! ~ $#create 0){
if(! test -e .git/$new){
echo branch $new: does not exist >[1=2]
exit noexist
@@ -69,26 +74,18 @@
}
}
if not{
- if(~ $#update 0 && test -e .git/$new){
- echo could not create $1: already exists >[1=2]
- exit exists
- }
- branched=()
- remotes=`$nl{cd .git/refs/remotes && ls}
commit=`{git/query $base}
st=$status
if(! ~ $st ''){
echo could not find branch $base':' $st >[1=2]
exit notfound
- }
+ }
echo $commit > .git/$new
}
-modified=`$nl{git/query -c HEAD $new | grep '^[+!@]' | sed 's/^..//'}
+modified=`$nl{git/query -c HEAD $new | grep '^[^-]' | sed 's/^..//'}
deleted=`$nl{git/query -c HEAD $new | grep '^-' | sed 's/^..//'}
-
-echo $deleted
if(! ~ $#stay 0)
exit
--- a/pull
+++ b/pull
@@ -104,4 +104,4 @@
echo $local':' `{git/query $local} '=>' `{git/query $remote} >[1=2]
if(! ~ $#incoming 0)
git/log -q $local'..'$remote
-git/branch -u -b $remote $local
+git/branch -b $remote $local
--- a/query.c
+++ b/query.c
@@ -44,7 +44,6 @@
bp = b->tree->ent;
be = bp + b->tree->nent;
while(ap != ae && bp != be){
- print("cmp %s %s\n", ap->name, bp->name);
c = strcmp(ap->name, bp->name);
if(c == 0){
if(ap->mode == bp->mode && hasheq(&ap->h, &bp->h))
--- a/revert
+++ /dev/null
@@ -1,28 +1,0 @@
-#!/bin/rc
-
-commit=/mnt/git/HEAD
-pfx=`{pwd}
-while(~ $1 -* && ! ~ $1 --){
- switch($1){
- case -c;
- commit=`{git/query -p $2};
- shift
- case *;
- echo usage: $0 [-c commit] files...
- exit usage
- }
- shift
-}
-
-if(! cd `{git/conf -r}){
- echo not a git repository >[1=2]
- exit notgit
-}
-pfx=`{echo $pfx | sed 's@^'^`{pwd}^'@@g'}
-if(~ $#pfx 0)
- pfx=''
-git/fs
-
-for(f in `{walk -f $*})
- cp -- $commit/tree/$pfx/$f ./$pfx/$f
-