Activity log for bug #48444

Date Who What changed Old value New value Message
2006-06-05 01:23:57 Michael Ellerman bug added bug
2006-06-11 15:24:48 David Allouche bug added attachment 'relpath-symlink.patch' (relpath-symlink.patch)
2006-06-11 15:25:30 David Allouche bzr: status Unconfirmed Confirmed
2006-06-11 15:25:30 David Allouche bzr: statusexplanation
2006-09-02 04:26:47 John A Meinel bzr: assignee jameinel
2006-09-02 04:26:47 John A Meinel bzr: statusexplanation I need to review David's patch, because it looks like it will also fix bug 32669. Another possible fix is to do: dirpath, basename = os.path.split(path) os.path.join(os.path.normpath(dirname), basename) Which should canonicalize the directory, without modifying the basename. Should be the same effect as manually traversing all but the last symlink.
2006-09-27 15:42:45 John A Meinel bzr: statusexplanation I need to review David's patch, because it looks like it will also fix bug 32669. Another possible fix is to do: dirpath, basename = os.path.split(path) os.path.join(os.path.normpath(dirname), basename) Which should canonicalize the directory, without modifying the basename. Should be the same effect as manually traversing all but the last symlink. still needs progress (0.12?)
2006-10-23 17:01:18 John A Meinel bzr: statusexplanation still needs progress (0.12?)
2010-07-17 20:50:57 Martin Pool bzr: status Confirmed In Progress
2010-07-17 20:51:08 Martin Pool bzr: assignee John A Meinel (jameinel) Martin Pool (mbp)
2010-07-20 15:49:10 Martin Pool description If you create a branch inside a shared repository, then create a symlink to the branch from outside the repository, you can't operate on the symlink as if it's a branch. Perhaps this is unsupported, but IMHO it should work. eg: concordia ~$ bzr init-repo --trees test-repo concordia ~$ bzr init test-repo/branch concordia ~$ ln -s test-repo/branch concordia ~$ ls -l branch lrwxrwxrwx 1 michael michael 16 2006-06-05 11:15 branch -> test-repo/branch concordia ~$ bzr st branch bzr: ERROR: No repository present: u'/home/michael/branch/' bzr.log: opening working tree u'/home/michael/branch/' not a branch in: u'/home/michael/' Not a branch: /home/michael/ not a branch in: u'/home/' Not a branch: /home/ not a branch in: '/' Not a branch: / [ 9574] Mon 11:15:31.888 ERROR: No repository present: u'/home/michael/branch/' Traceback (most recent call last): File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 650, in run_bzr_catch_errors return run_bzr(argv) File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 612, in run_bzr ret = run(*run_argv) File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 246, in run_argv_aliases return self.run(**all_cmd_args) File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 622, in ignore_pipe result = func(*args, **kwargs) File "/home/michael/src/bzr/branches/mpe/bzrlib/builtins.py", line 156, in run tree, file_list = tree_files(file_list) File "/home/michael/src/bzr/branches/mpe/bzrlib/builtins.py", line 49, in tree_files return internal_tree_files(file_list, default_branch) File "/home/michael/src/bzr/branches/mpe/bzrlib/builtins.py", line 73, in internal_tree_files tree = WorkingTree.open_containing(file_list[0])[0] File "bzrlib/workingtree.py", line 356, in open_containing File "bzrlib/bzrdir.py", line 908, in open_workingtree File "bzrlib/workingtree.py", line 1736, in open File "bzrlib/workingtree.py", line 261, in __init__ File "bzrlib/bzrdir.py", line 894, in open_branch File "bzrlib/branch.py", line 737, in open File "bzrlib/bzrdir.py", line 350, in find_repository NoRepositoryPresent: No repository present: u'/home/michael/branch/' Perhaps we should just be calling os.path.realpath() somewhere on the path we get from the user? current reproduction: % cd ~/bzr/bzr.2.0 % ln -s ../trunk trunk % bzr st trunk bzr: ERROR: trunk is not in the same branch as trunk Most other commands work. ---- If you create a branch inside a shared repository, then create a symlink to the branch from outside the repository, you can't operate on the symlink as if it's a branch. Perhaps this is unsupported, but IMHO it should work. eg: concordia ~$ bzr init-repo --trees test-repo concordia ~$ bzr init test-repo/branch concordia ~$ ln -s test-repo/branch concordia ~$ ls -l branch lrwxrwxrwx 1 michael michael 16 2006-06-05 11:15 branch -> test-repo/branch concordia ~$ bzr st branch bzr: ERROR: No repository present: u'/home/michael/branch/' bzr.log: opening working tree u'/home/michael/branch/' not a branch in: u'/home/michael/' Not a branch: /home/michael/ not a branch in: u'/home/' Not a branch: /home/ not a branch in: '/' Not a branch: / [ 9574] Mon 11:15:31.888 ERROR: No repository present: u'/home/michael/branch/' Traceback (most recent call last):   File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 650, in run_bzr_catch_errors     return run_bzr(argv)   File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 612, in run_bzr     ret = run(*run_argv)   File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 246, in run_argv_aliases     return self.run(**all_cmd_args)   File "/home/michael/src/bzr/branches/mpe/bzrlib/commands.py", line 622, in ignore_pipe     result = func(*args, **kwargs)   File "/home/michael/src/bzr/branches/mpe/bzrlib/builtins.py", line 156, in run tree, file_list = tree_files(file_list)   File "/home/michael/src/bzr/branches/mpe/bzrlib/builtins.py", line 49, in tree_files     return internal_tree_files(file_list, default_branch)   File "/home/michael/src/bzr/branches/mpe/bzrlib/builtins.py", line 73, in internal_tree_files     tree = WorkingTree.open_containing(file_list[0])[0]   File "bzrlib/workingtree.py", line 356, in open_containing   File "bzrlib/bzrdir.py", line 908, in open_workingtree   File "bzrlib/workingtree.py", line 1736, in open   File "bzrlib/workingtree.py", line 261, in __init__   File "bzrlib/bzrdir.py", line 894, in open_branch   File "bzrlib/branch.py", line 737, in open   File "bzrlib/bzrdir.py", line 350, in find_repository NoRepositoryPresent: No repository present: u'/home/michael/branch/' Perhaps we should just be calling os.path.realpath() somewhere on the path we get from the user?
2011-02-01 14:43:49 Jelmer Vernooij tags symlinks
2011-06-14 07:56:33 Max Bowsher removed subscriber Bazaar Developers
2011-10-11 21:13:10 Florian Rathgeber bug added subscriber Florian Rathgeber
2013-01-28 00:25:42 Martin Pool bzr: assignee Martin Pool (mbp)
2013-01-28 00:25:45 Martin Pool bzr: status In Progress Confirmed
2017-11-08 22:56:05 Jelmer Vernooij tags symlinks check-for-breezy symlinks
2018-05-11 18:36:55 Jelmer Vernooij tags check-for-breezy symlinks symlinks
2018-05-11 18:37:05 Jelmer Vernooij bug task added brz
2018-05-11 18:37:17 Jelmer Vernooij brz: status New Triaged
2018-05-11 18:37:19 Jelmer Vernooij brz: importance Undecided Low