ref: 706aad3d94ee4d9ff93c8c21398f0bb471a438da
parent: a5282f9eab1b78bd65e5144c81bf0f19b3f9efaf
author: glenda <glenda@9front.local>
date: Sat Jun 5 14:50:20 EDT 2021
git/branch: merge correct set of files we were switching branches before we got the full list of modified files, which could garble what we were trying to merge.
--- a/sys/lib/git/common.rc
+++ b/sys/lib/git/common.rc
@@ -44,9 +44,9 @@
rfork e
n=$pid
out=$1
- theirs=$2
+ ours=$2
base=$3
- ours=$4
+ theirs=$4
tmp=$out.tmp
while(test -f $tmp){
tmp=$tmp.$n
@@ -70,8 +70,7 @@
rm -f $tmp $out
git/rm $out
}
- }
-}
+}}
fn gitup{
gitroot=`{git/conf -r >[2]/dev/null}
--- a/sys/src/cmd/git/branch
+++ b/sys/src/cmd/git/branch
@@ -60,9 +60,10 @@
commit=`{git/query $base} || die 'branch does not exist:' $base
if(~ $new */*)
mkdir -p .git/`{basename -d $new}
-echo $commit > .git/$new
-if(! ~ $#stay 0)
+if(! ~ $#stay 0){
+ echo $commit > .git/$new
exit
+}
basedir=`{git/query -p $base}
dirtypaths=()
cleanpaths=($modified $deleted)
@@ -79,6 +80,7 @@
mkdir -p $cleandirs
mkdir -p .git/index9/tracked/$cleandirs
}
+echo $commit > .git/$new
for(m in $cleanpaths){
# Modifications can turn a file into
# a directory, or vice versa, so we