Commit cba285d32ff25a9244a8d33a5e2b1129020376b8

Russell Belfer 2012-05-07T13:30:27

Fix directory finding for attrs The fix to support attrs on bare repos went a little too far in trying to avoid using the working directory and ended up not processing the input path quite correctly.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/src/attr.c b/src/attr.c
index b7ac635..616cec6 100644
--- a/src/attr.c
+++ b/src/attr.c
@@ -450,11 +450,11 @@ static int collect_attr_files(
 		git_vector_init(files, 4, NULL) < 0)
 		return -1;
 
-	/* given a unrooted path in a non-bare repo, resolve it */
-	if (workdir && git_path_root(path) < 0)
+	/* Resolve path in a non-bare repo */
+	if (workdir != NULL)
 		error = git_path_find_dir(&dir, path, workdir);
 	else
-		error = git_buf_sets(&dir, path);
+		error = git_path_dirname_r(&dir, path);
 	if (error < 0)
 		goto cleanup;