shithub: front

Download patch

ref: d41236fef563ebc6bb0c6e3d77959eedf7e091f7
parent: 06cdd2915b5b8c46cebbc2c2bc3e5684027abc79
author: Ori Bernstein <ori@eigenstate.org>
date: Mon Nov 18 15:24:17 EST 2024

git/walk: dirs should not count as tracked

--- a/sys/src/cmd/git/walk.c
+++ b/sys/src/cmd/git/walk.c
@@ -85,18 +85,21 @@
 int
 checkedin(Idxent *e, int change)
 {
+	Dir *d;
 	char *p;
 	int r;
 
 	p = smprint("%s/%s", bdir, e->path);
-	r = access(p, AEXIST);
-	if(r == 0 && change){
+	d = dirstat(p);
+	r = d != nil && !(d->mode&DMDIR);
+	if(r && change){
 		if(e->state != 'R')
 			e->state = 'T';
 		staleidx = 1;
 	}
 	free(p);
-	return r == 0;
+	free(d);
+	return r;
 }
 
 int
--