Am 15.03.2017 um 22:30 schrieb René Scharfe:
Am 15.03.2017 um 10:44 schrieb Zenobiusz Kunegunda:
quoted
$ git bisect bad
7333ed1788b4f2b162a35003044d77a716732a1f is the first bad commit
commit 7333ed1788b4f2b162a35003044d77a716732a1f
Author: René Scharfe [off-list ref]
Date: Mon Jul 28 20:26:40 2014 +0200
setup: convert setup_git_directory_gently_1 et al. to strbuf
That's what I half-suspected, and I think by now I got an idea. Here's
a test program:
And here's a patch for letting strbuf_getcwd() use the same getcwd(3)
extension that pwd(1) uses. It avoids the need to guess the path's
length and thus reduces the chance of stumbling over strange error
codes. I wonder if it helps in your case.
René
---
strbuf.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/strbuf.c b/strbuf.c
index ace58e7367..4c02801edd 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -442,6 +442,14 @@ int strbuf_getcwd(struct strbuf *sb)
{
size_t oldalloc = sb->alloc;
size_t guessed_len = 128;
+ char *cwd;
+
+ cwd = getcwd(NULL, 0);
+ if (cwd) {
+ size_t len = strlen(cwd);
+ strbuf_attach(sb, cwd, len, len + 1);
+ return 0;
+ }
for (;; guessed_len *= 2) {
strbuf_grow(sb, guessed_len);--
2.12.0