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
--
⑨