commit - e3306bd98bc7e2ca355c082a7db8660aaf3fb699
commit + 442a3ddc59a2c8a06621dd008f5449481939cbc4
blob - 3666d5bce24758194183e573ddf33cc2dd733953
blob + c71005801f910cd48a3a315d6e91126c82dde3f4
--- got/got.c
+++ got/got.c
const char *errstr;
#ifndef PROFILE
- if (pledge("stdio rpath wpath cpath proc", NULL) == -1)
+ if (pledge("stdio rpath wpath cpath flock proc", NULL) == -1)
err(1, "pledge");
#endif
int ch;
#ifndef PROFILE
- if (pledge("stdio rpath wpath cpath proc", NULL) == -1)
+ if (pledge("stdio rpath wpath cpath flock proc", NULL) == -1)
err(1, "pledge");
#endif
blob - 611e9526b1ab2357953b99cd6ef6703388720a13
blob + fa438dbb0d40c4058f0a9906b50419ccf3d738b8
--- lib/repository.c
+++ lib/repository.c
#include "got_error.h"
#include "got_reference.h"
#include "got_repository.h"
+#include "got_worktree.h"
#include "got_lib_path.h"
#include "got_lib_delta.h"
#include "got_lib_object.h"
#include "got_lib_pack.h"
#include "got_lib_repository.h"
+#include "got_lib_worktree.h"
#ifndef nitems
#define nitems(_a) (sizeof(_a) / sizeof((_a)[0]))
goto done;
}
if (!is_git_repo(repo)) {
+ struct got_worktree *worktree;
+ if (got_worktree_open(&worktree, repo->path) == NULL) {
+ free(repo->path_git_dir);
+ repo->path_git_dir =
+ strdup(worktree->repo_path);
+ if (repo->path_git_dir == NULL) {
+ err = got_error_from_errno();
+ goto done;
+ }
+ if (!is_git_repo(repo)) {
+ free(repo->path_git_dir);
+ if (asprintf(&repo->path_git_dir,
+ "%s/%s", worktree->repo_path,
+ GOT_GIT_DIR) == -1) {
+ err = got_error_from_errno();
+ goto done;
+ }
+ }
+ got_worktree_close(worktree);
+ }
+ }
+ if (!is_git_repo(repo)) {
err = got_error(GOT_ERR_NOT_GIT_REPO);
goto done;
}
blob - 0058276d9ffc15cf54575813b1acc5eb96b1a99c
blob + 605897bc12d293b738391522d9efbee802cb54c8
--- regress/repository/Makefile
+++ regress/repository/Makefile
PROG = repository_test
SRCS = path.c repository.c error.c reference.c object.c sha1.c diff.c \
- diffreg.c pack.c privsep.c delta.c zbuf.c repository_test.c
+ diffreg.c pack.c privsep.c delta.c fileindex.c worktree.c \
+ zbuf.c repository_test.c
CPPFLAGS = -I${.CURDIR}/../../include -I${.CURDIR}/../../lib
LDADD = -lutil -lz