Re: [Monotone-devel] setup creates _MTN/mtn.db

2010-05-09 Thread Marcin W. Dąbrowski
Hi.

Just my 2¢ as a user. :)

On 09 May 2010 02:48:42 +0200, Thomas Keller wrote:
 Maybe we could make it easier to extract, or better move
 an internalized database to an external place and vice versa,
 so people don't have to mess with _MTN/options by hand?

One thing I don't like in mtn, is that the database path is
absolute. Monotone can read relative path (relative to $CWD)
when I put it in options by hand, but replaces that with
absolute one (doesn't matter if it's found or not).

 a way to find a database only by its name (ie. -d foo would
 look for and find $HOME/.monotone/databases/foo.mtn)

Lovely idea. Having a list of places where monotone can
search for databases would help a lot. Now, my workspace
isn't self-contained, because the absolute database path
in options forces me to either leave the workspace where
it is, or edit options file when I do a little housekeeping
with my directories. (Ahead of the question: yes, moving
workspaces is sometimes needed, and I need all the files
there — not only these handled by monotone, so cloning
or copying just the db is not the answer.)

 There could be a hook get_default_database_location which
 could be altered by the user to a different path than the
 default one underknees $HOME, stuff like that.

That would help much. :)

Sincerely,
-- 
Marcin W. Dabrowski


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] setup creates _MTN/mtn.db

2010-05-09 Thread Thomas Keller
Am 09.05.10 01:28, schrieb hend...@topoi.pooq.com:
 On Sat, May 08, 2010 at 02:08:35PM +0200, Thomas Keller wrote:
 So let me repeat again, what I wanted to improve is the situation for
 first time users and I personally find a place like ~/.monotone/mtn.db
 not a good place at all (what if the user starts another, different
 project - should we reuse the same database then?), because its much
 hidden and maybe even physically away from the actual workspace setup.
 
 Last thing I want is to create a random data base when I just forget to 
 mention what database I want to use.

Heh, ok, understood - what do you think about the other proposal -
having a default database location and management features for that?

Thomas.

-- 
GPG-Key 0x160D1092 | tommyd3...@jabber.ccc.de | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en



signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] setup creates _MTN/mtn.db

2010-05-09 Thread Stephen Leake
Thomas Keller m...@thomaskeller.biz writes:

 Maybe we could make it easier to extract, or better move an
 internalized database to an external place and vice versa, so people
 don't have to mess with _MTN/options by hand? Then maybe
 $HOME/.monotone/databases/user-chosen-name.mtn is a good default,
 similar to what Stephen proposed. We could add more management features
 there, f.e. a list databases command which lists available known
 databases, a way to find a database only by its name (ie. -d foo would
 look for and find $HOME/.monotone/databases/foo.mtn), we could connect
 databases and workspaces by adding known workspaces of a database as db
 variables and list those as well in the database list. There could be a
 hook get_default_database_location which could be altered by the user
 to a different path than the default one underknees $HOME, stuff like that.

This sounds good.

That way, if I forget where I checked out something, the database can
tell me.

The 'get_default_database_location' hook should return a list
of directories; {~/.monotone/databases,
/usr/share/monotone/databases} would be a good default on Unix,
{$APPDATA/monotone/databases, $ALLUSERSPROFILE/Application
Data/monotone/databases} on Windows.

It might be good to have a MTN_DATABASE_PATH environment variable as
well; everything else with a search path uses that mechanism. That could
be added by the user in the the 'get_default_database_location' hook,
but it would be better to have a standard name. Perhaps the default
hook definition could handle that env variable.

-- 
-- Stephe


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] setup creates _MTN/mtn.db

2010-05-08 Thread Thomas Keller
Am 08.05.10 13:44, schrieb Stephen Leake:
 A recent change lets setup init a new database _MTN/mtn.db if none is given.
 
 First, this needs to be documented in the manual; both that setup will
 init the database if it is not already, and that it provides a default
 name.

Yes, I forgot that and I'll do it shortly. Thanks for he reminder.

 Second, what is the rationale, both for providing any default name, and
 choosing this particular name?

The rationale is simply to make monotone less database-centric and
verbose with respect to the commands needed to start with a fresh project.

 I can see that proving a default db name it makes it easy to start a
 totally new project. But it's a significant change, and I'm not happy
 with the path.
 
 I'm ok with initializing the database if needed.
 
 Once the project grows a branch that they want to checkout into a
 different directory, having the database in branch_1/_MTN/mtn.db will
 be very odd and confusing; people will wonder if there should be one db
 per branch, or one db per workspace.
 
 I think ~/.monotone/mtn.db would be a better place for the default
 database.

Those people who store their databases elsewhere have to specify their
complete path now anyways and setup now basically follows the same
principles like clone (even uses the same path). Beside that, setup even
informs the user that it creates a new database in _MTN/, which clone
currently does not iirc.

So let me repeat again, what I wanted to improve is the situation for
first time users and I personally find a place like ~/.monotone/mtn.db
not a good place at all (what if the user starts another, different
project - should we reuse the same database then?), because its much
hidden and maybe even physically away from the actual workspace setup.

Thomas.

-- 
GPG-Key 0x160D1092 | tommyd3...@jabber.ccc.de | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en



signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] setup creates _MTN/mtn.db

2010-05-08 Thread Zack Weinberg
On Sat, May 8, 2010 at 5:08 AM, Thomas Keller m...@thomaskeller.biz wrote:
 Am 08.05.10 13:44, schrieb Stephen Leake:
 Second, what is the rationale, both for providing any default name, and
 choosing this particular name?

 The rationale is simply to make monotone less database-centric and
 verbose with respect to the commands needed to start with a fresh project.

 I can see that proving a default db name it makes it easy to start a
 totally new project. But it's a significant change, and I'm not happy
 with the path.

 I'm ok with initializing the database if needed.

 Once the project grows a branch that they want to checkout into a
 different directory, having the database in branch_1/_MTN/mtn.db will
 be very odd and confusing; people will wonder if there should be one db
 per branch, or one db per workspace.

I sympathise with Stephen here a bit - Monotone's ability to share one
database among many workspaces is a significant difference from Git
and Mercurial, and one that should be up-front rather than buried.

How about putting the database in the parent directory of the checkout
and naming it something like _store.mtn by default?

zw


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] setup creates _MTN/mtn.db

2010-05-08 Thread hendrik
On Sat, May 08, 2010 at 02:08:35PM +0200, Thomas Keller wrote:
 Am 08.05.10 13:44, schrieb Stephen Leake:
  A recent change lets setup init a new database _MTN/mtn.db if none is given.
  
  First, this needs to be documented in the manual; both that setup will
  init the database if it is not already, and that it provides a default
  name.
 
 Yes, I forgot that and I'll do it shortly. Thanks for he reminder.
 
  Second, what is the rationale, both for providing any default name, and
  choosing this particular name?
 
 The rationale is simply to make monotone less database-centric and
 verbose with respect to the commands needed to start with a fresh project.
 
  I can see that proving a default db name it makes it easy to start a
  totally new project. But it's a significant change, and I'm not happy
  with the path.
  
  I'm ok with initializing the database if needed.
  
  Once the project grows a branch that they want to checkout into a
  different directory, having the database in branch_1/_MTN/mtn.db will
  be very odd and confusing; people will wonder if there should be one db
  per branch, or one db per workspace.
  
  I think ~/.monotone/mtn.db would be a better place for the default
  database.
 
 Those people who store their databases elsewhere have to specify their
 complete path now anyways and setup now basically follows the same
 principles like clone (even uses the same path). Beside that, setup even
 informs the user that it creates a new database in _MTN/, which clone
 currently does not iirc.
 
 So let me repeat again, what I wanted to improve is the situation for
 first time users and I personally find a place like ~/.monotone/mtn.db
 not a good place at all (what if the user starts another, different
 project - should we reuse the same database then?), because its much
 hidden and maybe even physically away from the actual workspace setup.

Last thing I want is to create a random data base when I just forget to 
mention what database I want to use.

-- hendrik


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] setup creates _MTN/mtn.db

2010-05-08 Thread Richard Levitte
In message 4be6066a.20...@thomaskeller.biz on Sun, 09 May 2010 02:48:42 
+0200, Thomas Keller m...@thomaskeller.biz said:

me Maybe we could make it easier to extract, or better move an
me internalized database to an external place and vice versa, so people
me don't have to mess with _MTN/options by hand? Then maybe
me $HOME/.monotone/databases/user-chosen-name.mtn is a good default,
me similar to what Stephen proposed. We could add more management features
me there, f.e. a list databases command which lists available known
me databases, a way to find a database only by its name (ie. -d foo would
me look for and find $HOME/.monotone/databases/foo.mtn), we could connect
me databases and workspaces by adding known workspaces of a database as db
me variables and list those as well in the database list. There could be a
me hook get_default_database_location which could be altered by the user
me to a different path than the default one underknees $HOME, stuff like that.

THIS idea, I like!  +10 or something ;-)

(and while we're on that debate, I strongly dislike the _MTN/mtn.db
idea, for a very simple reason; I sometimes experiment with something
as a start in some temporary directory, and usually regard the
database as safe while the workspace isn't...  with this default, it
suddenly becomes dangerous to just toss away the workspace when it's
not needed any more.  I regard this default as unsafe practice, and
would rather like it do be something like - following your thoughts
above here - ~/.monotone/databases/_default.mtn)

Cheers,
Richard

-- 
Richard Levitte rich...@levitte.org
http://richard.levitte.org/

Life is a tremendous celebration - and I'm invited!
-- from a friend's blog, translated from Swedish


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel