monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Updated Issue 114 - list databases / list workspaces do


From: code
Subject: [Monotone-devel] Updated Issue 114 - list databases / list workspaces does not display symlinked databases / workspaces properly (monotone)
Date: Mon, 21 Feb 2011 00:35:32 +0100 (CET)

Hello,

The following issue has been updated:

114 - list databases / list workspaces does not display symlinked databases / 
workspaces properly
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, Feb 21, 2011:



 Summary: list databases / list workspaces does not display symlinked databases 
/ workspaces properly

# 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/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]