[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] some propositions
From: |
Zbigg Z. |
Subject: |
[Monotone-devel] some propositions |
Date: |
Sat, 05 Jun 2004 14:24:27 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040526 Debian/1.6-6 |
Hello.
Thanks for answers for my previous questions.
I'm using montone for a while, so i've got some questions/suggestions.
1 push/pull
These commands could use actual branch in starting executed from working
copy. So the "collection" argument would be optional when in working copy.
1 pull
I think it should be possible, to pull server's public key automagically
if it's unknown. Warning if it's done would be good. It would simplify
first pull to invoke just
db init
pull
without "getting" public key from somewhere.
2. serve
2.1
Why serve can't just serve all collections in database or the only
one if only one exists.
2.2
If i start server, then it has locked its provate key .. ok , but
it needs terminal to unlock this key , and it waits to first use of
this key.
Is there way to create unprotected private key ?
OK. I just found, i should make LUA callback that reads password, but
it would be more nice to create "unprotected" private key.
3.
Talking about netsync and ssh and reading from stdin. It would be
good to "push/pull" to databases without net, as in BitKeeper where
repository location is kind of uniform resource locator:
ssh://address@hidden:repo
bk://host:port/repo
generic_path_to_repo_in_filesystem:
/home/projects/monotone
and so on.
In monotone my proposition is:
host:port - it would be netsync
netsync://host:port
ssh://address@hidden:database_path - like in scp
/home/projects/monotone - localal filesystem
file://mydir/db/monotone.monodb - local filesystem
If push/pull/sync would read such addresses and if netsync would read
from stdin then it would be easy (i don't know about security issuses
with this) to migrate data in various ways.
Next, such uniform locator stored it MT/options with default branch
would provide default values for it's parameters.
4. This very big proposition for very far furure.
Maybe each file change should be commented ? I worked a lot with
BitKepper which have comments on each file in manifest apart from
manifest comment, and i found it very useful.
In bigger project it's good to comment each file change and in
manifest/changeset put only summary.
Next problem, in current system it's inpossible to track changes of one
file with comments. We can see diff for each revision, but comment from
manifest.
5. It would be good to choose which files or actions in MT/work are to
be commited.
I know that it's lot, and best would be if i choose some and try to
implement it, but currently i have no time/environment for developing
monotone and next i'd like to, and it's good to ask for opinion before
doing something.
GUI/communication.
In fact i'd like to start writing some GUI to monotone. And i'm thinking
how to start and how to do this. Now i'm about to write this in
wxWindows, and communicate with monotone via stdin/stdout.
Of course it would be nice to link monotone into GUI application, but it
easier to maintain one application and use monotone as "external tool".
This is true with assuption, that monotone text ui will be quite stable.
Other way of communication (which appeared when i've read commands.cc)
which i have on mind is to make monotone read commends from stdin and
process it in without exiting. Session would look like this.
gui: execute monotone --db=somedb listen-commands
redirecting stdin/stdout/stderr
gui: list
gui: branches
gui: . <- simple dot as in smtp
monotone: ok
monotone: somebranch
monotone: somebranch22
monotone: .
gui: list kehs
monotone: err unknown command or something
gui: diff
monotone: ok
monotone: <whole diff>
monotone: <...>
monotone: <end of diff>
monotone: .
::: zbigg ::::::::::::: Zbigniew Zagórski ::
:: zzbigg (at) o2 (dot) pl ::: GG:5280474 ::
:::: http://zbig.pentagon.eu.org/ ::::::::::