[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] Updated Issue 114 - mtn list databases will sometimes n
From: |
code |
Subject: |
[Monotone-devel] Updated Issue 114 - mtn list databases will sometimes not show the workspaces (monotone) |
Date: |
Mon, 29 Nov 2010 00:59:29 GMT |
Hello,
The following issue has been updated:
114 - mtn list databases will sometimes not show the workspaces
Project: monotone
Status: New
Reported by: Richard Levitte
URL: https://code.monotone.ca/p/monotone/issues/114/
Labels:
Type:Incorrect Behavior
Priority:Medium
Comments (last first):
# By Thomas Keller, Nov 29, 2010:
I think we have almost no special handling for symlinks in monotone at all. And
while this mostly works as it should (for example when you work on a symlinked
database where we give the symlink to sqlite and this does the actual work), it
breaks for use cases like the one above.
Now we could add another requirement "all symlinks resolved" to our "normalized
paths" definition in src:address@hidden:monotone-0.99#99, but I doubt this is
either an easy task (handling symlink loops) nor something which comes without
cost (slower path handling and / or unwanted or unexpected behaviour). This
doesn't say we shouldn't do it, but I'd strongly vote to do this after 1.0 and
rather point the user to list the new database location as additional location
via the get_default_database_locations lua hook.
# By Richard Levitte, Nov 28, 2010:
I forgot to mention I had done this as well:
cd ~/tmp/foo
mtn register
The problem is, of course, that monotone tries to check if the database pointed
at in the workspace is the same as the one being listed, doesn't resolve
symlinks before the comparison, so the registered workspace doesn't seem to be
the one connected to that database after all, and is therefore not displayed or
counted.
# By Richard Levitte, Nov 28, 2010:
Steps to reproduce the problem:
-------------------------------
1. move a database from previous repository place to the default database
directory, but make sure to not break existing workspaces:
mv ~/monotone-repos/foo.mtn ~/.monotone/databases/
ln -s ~/.monotone/databases/foo.mtn ~/monotone-repos/
2. list available databases:
mtn list databases
Expected result:
----------------
:foo.mtn (in /home/levitte/.monotone/databases):
se.lp.foo (in /home/levitte/tmp/foo)
Actual results:
---------------
:foo.mtn (in /home/levitte/.monotone/databases):
no known valid workspaces
Output of `mtn version --full`:
-------------------------------
monotone 0.99.1 (grundrevision: 8973482283db7c36780dce2b54721ccc0f5b7388)
Kör på : Linux 2.6.32-5-686 #1 SMP Sat Oct 30 22:47:19 UTC 2010
i686
C++-kompilator : GNU C++ version 4.4.5
C++-standardbibliotek: GNU libstdc++ version 20101029
Boost-version : 1_42
SQLite-version : 3.7.3 (kompilerad gentemot 3.7.3)
Lua-version : Lua 5.1
PCRE-version : 8.02 2010-03-19 (kompilerad gentemot 8.2)
Botan-version : 1.8.9 (kompilerad gentemot 1.8.9)
Ändringar sen basrevisionen:
format_version "1"
new_manifest [c1270158b7fa91abf8235ad129b0476943bde1ed]
old_revision [8973482283db7c36780dce2b54721ccc0f5b7388]
Generated from data cached in the distribution;
further changes may have been made.
--
Issue: https://code.monotone.ca/p/monotone/issues/114/