summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/project.py b/project.py
index 2248a7ef..3ba8a073 100644
--- a/project.py
+++ b/project.py
@@ -1267,7 +1267,8 @@ class Project(object):
1267 try: 1267 try:
1268 fd = open(alt) 1268 fd = open(alt)
1269 try: 1269 try:
1270 alt_dir = fd.readline().rstrip() 1270 # This works for both absolute and relative alternate directories.
1271 alt_dir = os.path.join(self.objdir, 'objects', fd.readline().rstrip())
1271 finally: 1272 finally:
1272 fd.close() 1273 fd.close()
1273 except IOError: 1274 except IOError:
@@ -2353,6 +2354,10 @@ class Project(object):
2353 ref_dir = None 2354 ref_dir = None
2354 2355
2355 if ref_dir: 2356 if ref_dir:
2357 if not os.path.isabs(ref_dir):
2358 # The alternate directory is relative to the object database.
2359 ref_dir = os.path.relpath(ref_dir,
2360 os.path.join(self.objdir, 'objects'))
2356 _lwrite(os.path.join(self.gitdir, 'objects/info/alternates'), 2361 _lwrite(os.path.join(self.gitdir, 'objects/info/alternates'),
2357 os.path.join(ref_dir, 'objects') + '\n') 2362 os.path.join(ref_dir, 'objects') + '\n')
2358 2363