summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO2
-rw-r--r--file/git-file.c15
2 files changed, 17 insertions, 0 deletions
diff --git a/TODO b/TODO
index fff9305..33aa983 100644
--- a/TODO
+++ b/TODO
@@ -10,6 +10,8 @@ Bugs:
- when switching from label pop-up to label pop-up (e.g., on Neo900 sheet 20),
the logic may get confused and cause a segfault, apparently as the result of
infinite recursion [removed call to input_update as work-around]
+- eeshow fails to properly prepend path names when using relative paths inside
+ a repository (see comment in file/git-file.c:try_related)
Parsing and input processing:
- unify alignment, direction
diff --git a/file/git-file.c b/file/git-file.c
index 570c72b..23e64a3 100644
--- a/file/git-file.c
+++ b/file/git-file.c
@@ -446,7 +446,22 @@ static bool try_related(struct vcs_git *vcs_git)
if (vcs_git->repo) {
if (!strcmp(git_repository_path(vcs_git->related->repo),
git_repository_path(vcs_git->repo)))
+/*
+ * @@@ cd neo900/ee/hw; eeshow neo900.pro works but
+ * cd neo900/ee; eeshow hw/neo900.pro fails because eeshow tries to find
+ * files like bbcpu.sch in ee/ instead of ee/hw/.
+ *
+ * Changing the #if below to 0 makes this work in both cases but may produce
+ * other issues. One of them is that the path of the related VCS file becomes
+ * hw/hw/neo900.sch
+ *
+ * This needs more analysis.
+ */
+#if 1
return related_same_repo(vcs_git);
+#else
+ return related_only_repo(vcs_git);
+#endif
else
return related_other_repo(vcs_git);
}