Re: [Monotone-devel] 0.48 rants

2010-07-21 Thread CooSoft Support

Derek Scherger wrote:

Starting a series of replies...

On Sat, Jul 17, 2010 at 1:40 AM, CooSoft Support 
supp...@coosoft.plus.com mailto:supp...@coosoft.plus.com wrote:


I'm not currently using 0.48 and from what I hear nor will I. I to
want comments to go in unmolested and not have white space
stripped out. For me that is a must.


I've found that I have commits with random amounts of trailing 
whitespace (newlines) and that's the entire reason that for the 
trimming. I think Lapo mentioned that he had similar concerns about 
how much whitespace would precede or follow his commit message and the 
basic idea was to allow people to stop worrying about such things.


Point taken though, perhaps this trimming should be restricted to 
leading/trailing newlines and perhaps it should also be configurable 
by a hook so that can be controlled.


I personally have no issue with trimming blank lines at the beginning or 
at the end of a commit message and like you agree that is better than 
not doing it. But non-whitespace lines and blank lines in the middle of 
a commit message should be preserved as is (with the exception of blank 
lines as they could have any spaces and tabs removed).


Why are date and author changeable? Surely these should be
immutable (apart from one could specify an alternate key on which
to perform the checkin - I assume that the same restriction
applies when changing the author in the changelog (i.e. you have
to have a private key for that user in your keys directory).


They're changeable in the editor exactly  because they are changeable 
on the command line with --date, --author and --branch arguments and 
for no other reason.


Ok sorry - it has never occurred to me anyone would want to do this. 
Point taken.


I also agree that the changelog that the user enters should go at
the top. When working with GUIs you quickly learn that trying to
slow a user down and make him/her think about the consequences of
what they are about to do is mostly a waste of time as they simply
get used to clicking on that extra button or in this case
scrolling down x lines...


There was *absolutely* no intent of slowing anyone down with this. It 
was about allowing review and changes and unifying the various 
randomly different output formats. Configuring your EDITOR with +N 
should allow the leading lines to be skipped.


Cheers,
Derek



When I meant slow them down it was in the context of getting them to 
review and reflect on what they are doing before doing it. I still think 
this will be met with resistance. However, having a simple generic 
setting, that when set in the config file, will automatically move the 
editor the required number of lines to the entry point should counteract 
any resistance. Doing EDITOR= +n14 is a bad idea as many other 
programs use this. Perhaps do this move 14 lines down stuff by default. 
Just a thought.


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


Re: [Monotone-devel] nvm.options

2010-07-21 Thread Stephen Leake
Timothy Brownawell tbrow...@prjek.net writes:

 On 07/20/2010 05:44 AM, Stephen Leake wrote:
 Timothy Brownawelltbrow...@prjek.net  writes:

 On 07/18/2010 08:19 AM, Stephen Leake wrote:
 Tim,

 Just letting you know I've been keeping up with nvm.options, and it all
 looks very good so far.

 I think it's ready to merge now. See anything I missed?

 The per-command defaults are not there, but that could wait for later.

 Otherwise looks good.

 There's a CMD_PRESET_OPTIONS that's currently only used once (for
 diff). Was there supposed to be something else as well?

Ah. I totally missed that (so much for my thorough review process.
Sigh).

That looks good, and I don't think there are any other options that need
it at the moment.

The options no-unknown/unknown are defined twice - once as

SIMPLE_OPTION(unknown ...)

once as

OPTSET_REL(automate_inventory_opts, no_unknown)
SIMPLE_OPTION(no_unknown ...)

That seems like it could be a problem, but it seems to work.

I went back the the email thread; there is one issue that was brought
up but not resolved:

Change --conflicts-file/--resolve-conflicts-file/--resolve-conflicts to:

   --resolve-conflicts resolve conflicts non-interactively
   --resolve-conflicts-file arg  use the given file instead of _MTN/conflicts

dropping --conflicts-file.

But I think that's best left for another time.

We need a NEWS entry, and something in monotone.texi. How about this:

NEWS
New Features

- Options can now be overridden; you can specify --no-unknown
  --unknown on the command line. Similarly, you can specify
  --no-unknown in the get_default_command_options hook, then
  change it to --unknown on the command line.

monotone.texi, in Command Reference header:

Many command options come in pairs that affect the same value. For example,
@command{mtn log} takes a @var{brief} option; this can be reversed by
@var{no-brief}. This is convenient when building command strings
automatically; @command{mtn log --brief --no-brief} is the same as
@command{mtn log}.

It also helps when setting options in the
@var{get_default_command_options} hook; those options can be
overridden on the command line. For example, if
@var{get_default_command_options} specifies @var{brief} for
@command{log}, you can override that with @command{mtn log
--no-brief}.

The command descriptions describe the most important options for each
command, and only one of each pair of options. For a complete list of
options, see the online help (@command{mtn help cmd}), or the manpage.


We could modify the description of _every_ command that now has a
resettable option. Tedious, but do-able. But perhaps we should consider
generating the command options from the help texts, automatically? This
would be a modification of the 'mtn manpage' command. That way the info
manual would be as complete as the online help.

Or maybe it's ok as is.

I scanned thru the Tutorial; I did not see a good place to use an
overridden option. I don't think we want to specify the
get_default_command_options hook in the tutorial.

--
-- Stephe

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


Re: [Monotone-devel] nvm.options

2010-07-21 Thread Stephen Leake
Timothy Brownawell tbrow...@prjek.net writes:

 On 07/20/2010 05:44 AM, Stephen Leake wrote:
 Timothy Brownawelltbrow...@prjek.net  writes:

 On 07/18/2010 08:19 AM, Stephen Leake wrote:
 Tim,

 Just letting you know I've been keeping up with nvm.options, and it all
 looks very good so far.

 I think it's ready to merge now. See anything I missed?

 The per-command defaults are not there, but that could wait for later.

 Otherwise looks good.

 There's a CMD_PRESET_OPTIONS that's currently only used once (for
 diff). Was there supposed to be something else as well?

Ah. I totally missed that (so much for my thorough review process.
Sigh).

That looks good, and I don't think there are any other options that need
it at the moment.

The options no-unknown/unknown are defined twice - once as

SIMPLE_OPTION(unknown ...)

once as

OPTSET_REL(automate_inventory_opts, no_unknown)
SIMPLE_OPTION(no_unknown ...)

That seems like it could be a problem, but it seems to work.

I went back the the email thread; there is one issue that was brought
up but not resolved:

Change --conflicts-file/--resolve-conflicts-file/--resolve-conflicts to:

   --resolve-conflicts resolve conflicts non-interactively
   --resolve-conflicts-file arg  use the given file instead of _MTN/conflicts

dropping --conflicts-file.

But I think that's best left for another time.

We need a NEWS entry, and something in monotone.texi. How about this:

NEWS
New Features

- Options can now be overridden; you can specify --no-unknown
  --unknown on the command line. Similarly, you can specify
  --no-unknown in the get_default_command_options hook, then
  change it to --unknown on the command line.

monotone.texi, in Command Reference header:

Many command options come in pairs that affect the same value. For example,
@command{mtn log} takes a @var{brief} option; this can be reversed by
@var{no-brief}. This is convenient when building command strings
automatically; @command{mtn log --brief --no-brief} is the same as
@command{mtn log}.

It also helps when setting options in the
@var{get_default_command_options} hook; those options can be
overridden on the command line. For example, if
@var{get_default_command_options} specifies @var{brief} for
@command{log}, you can override that with @command{mtn log
--no-brief}.

The command descriptions describe the most important options for each
command, and only one of each pair of options. For a complete list of
options, see the online help (@command{mtn help cmd}), or the manpage.


We could modify the description of _every_ command that now has a
resettable option. Tedious, but do-able. But perhaps we should consider
generating the command options from the help texts, automatically? This
would be a modification of the 'mtn manpage' command. That way the info
manual would be as complete as the online help.

Or maybe it's ok as is.

I scanned thru the Tutorial; I did not see a good place to use an
overridden option. I don't think we want to specify the
get_default_command_options hook in the tutorial.

--
-- Stephe

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


Re: [Monotone-devel] nvm.options

2010-07-21 Thread Thomas Keller
Am 21.07.10 12:18, schrieb Stephen Leake:
 We need a NEWS entry, and something in monotone.texi. How about this:
 
 NEWS
 New Features
 
 - Options can now be overridden; you can specify --no-unknown
   --unknown on the command line. Similarly, you can specify
   --no-unknown in the get_default_command_options hook, then
   change it to --unknown on the command line.

As I mentioned in my earlier mail the NEWS entry should include more
details what options got hidden, deprecated, replaced and / or removed
exactly. Yes, this is also a tedious task, but given the fact that not
mentioning it might lead to weird user experiences, especially if the
information is also nowhere available else, its a must.

 monotone.texi, in Command Reference header:
 
 Many command options come in pairs that affect the same value. For 
 example,
 @command{mtn log} takes a @var{brief} option; this can be reversed by
 @var{no-brief}. This is convenient when building command strings
 automatically; @command{mtn log --brief --no-brief} is the same as
 @command{mtn log}.
 
 It also helps when setting options in the
 @var{get_default_command_options} hook; those options can be
 overridden on the command line. For example, if
 @var{get_default_command_options} specifies @var{brief} for
 @command{log}, you can override that with @command{mtn log
 --no-brief}.
 
 The command descriptions describe the most important options for each
 command, and only one of each pair of options. For a complete list of
 options, see the online help (@command{mtn help cmd}), or the manpage.

Since we have quite a few things now which we at least plan to remove in
2.0, I start to think that adding a dedicated manual section for that
purpose is a good idea. What do others think about that?

 We could modify the description of _every_ command that now has a
 resettable option. Tedious, but do-able. But perhaps we should consider
 generating the command options from the help texts, automatically? This
 would be a modification of the 'mtn manpage' command. That way the info
 manual would be as complete as the online help.
 
 Or maybe it's ok as is.

Actually not quite, e.g. mtn serve currently lists two hidden options,
--stdio and --no-transport-auth, so again I think we have to go over all
these sections and tweak them accordingly, if nobody steps up and finds
a good way to include at least the command calling syntax from the main
program.

 I scanned thru the Tutorial; I did not see a good place to use an
 overridden option. I don't think we want to specify the
 get_default_command_options hook in the tutorial.

We don't have to pack every little feature in the tutorial, this way the
tutorial just gets bigger and bigger. Some things might as well be put
in the advanced uses section.

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] 0.48 rants

2010-07-21 Thread Francis Russell
Some of these messages are starting to scare me somewhat, especially the
ones that suggest that monotone take even more responsibility to start
passing options to the editor to jump to appropriate places or include
file globbing syntax in the commit template. This is supposed to simply
be a changelog editor. Adding the ability to edit other certs seems
logical but anything beyond that strikes me as crazy. I've been using
monotone for years and I've never been as concerned about monotone
development as I am right now, and I haven't seen any indications
whatsoever about what the new changelog template may look like. Here's
my suggested commit template format. Please comment, if only to shoot
everything down.



*** REMOVE THIS LINE TO CANCEL THE COMMIT ***
--Edit fields beneath this line to modify certificate values--
Branch:   uk.co.unchartedbackwaters.simple_cfd.tensor.expr.cse
Author:   Francis Russell exam...@example.com
Date: 21/07/10 13:35:29

--Modifications under line are ignored entirely--
Changes against parent bd846e89bef8324b758f8a2c6e7dde41aa4ddd9d

  patched  include/simple_cfd/cse/cse_optimiser.hpp
  patched  include/simple_cfd/numeric/ginac_expression.hpp


Main arguments:

- Keeping the changelog message at the top requires no scrolling or
anything else and allows instant typing of changelog message in most
editors. I really dislike any of these arguments about thinking time.
We're supposed to be trying to help to user do things as quickly as
possible and I find myself thinking more about how to get to the
Changelog: token than the commit itself.
- Keeping the changelog at the top permits arbitrary whitespace at the
start of the message as it's obvious how it will be interpreted. I guess
newlines should be stripped at the end (I'm unsure what 0.47 behaviour was).
- The editable section now only includes certificates. Revison and
parent aren't certificates and aren't editable and it seems confusing to
 mix them with editable values. Furthermore, the parent revision is
replicated in the entirely discarded section anyway.
- The new revision ID is removed entirely because as people have pointed
out, there's almost no use for it.
- At least to me, parsing is obvious. That is, similar to the svn commit
message (and probably other systems), the delimiting tokens actually
describe themselves and provide the help text. I found the 0.48 template:
  - Confusingly mixed editable and non-editable information.
  - Used delimiters between sections that weren't easily inferable. e.g.
Changlog: at the start of a line to begin the commit message, and
line of dashes to end it (I think).

Francis

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


Re: [Monotone-devel] 0.48 rants

2010-07-21 Thread Francis Russell
Actually, I'd have:

*** REMOVE THIS LINE TO CANCEL THE COMMIT ***

read

*** MODIFY OR REMOVE THIS LINE TO CANCEL THE COMMIT ***

as I assume this would be more consistent with how the parsing works.

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


Re: [Monotone-devel] 0.48 rants

2010-07-21 Thread Ludovic Brenta

Just for the record, I agree with Francis entirely and second his

suggestion.



-- 

Ludovic Brenta.

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


Re: [Monotone-devel] 0.48 rants

2010-07-21 Thread Jack Lloyd
On Wed, Jul 21, 2010 at 02:11:37PM +0100, Francis Russell wrote:
 - Keeping the changelog message at the top requires no scrolling or
 anything else and allows instant typing of changelog message in most
 editors. I really dislike any of these arguments about thinking time.
 We're supposed to be trying to help to user do things as quickly as
 possible and I find myself thinking more about how to get to the
 Changelog: token than the commit itself.

I've found myself using -m just to avoid the editor entirely. I often
like to write a paragraph or two for my commit messages, and I'm
writing more and more 20-40 character commit messages lately.

I definitely prefer the template Francis included.

-Jack

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


Re: [Monotone-devel] 0.48 rants

2010-07-21 Thread Benjamin Pollack
On Wed, Jul 21, 2010 at 10:09 AM, Jack Lloyd ll...@randombit.net wrote:

 On Wed, Jul 21, 2010 at 02:11:37PM +0100, Francis Russell wrote:
  - Keeping the changelog message at the top requires no scrolling or
  anything else and allows instant typing of changelog message in most
  editors. I really dislike any of these arguments about thinking time.
  We're supposed to be trying to help to user do things as quickly as
  possible and I find myself thinking more about how to get to the
  Changelog: token than the commit itself.

 I've found myself using -m just to avoid the editor entirely. I often
 like to write a paragraph or two for my commit messages, and I'm
 writing more and more 20-40 character commit messages lately.

 I definitely prefer the template Francis included.

I know I'm a brand new Monotone user, and I hate writing me-too
emails, but I also greatly prefer the template Francis suggested. It
still makes it clear what's editable, but I don't sit there,
scratching my head, wondering why my commit aborted due to a blank
message when I know damn well I typed a message. (This really was my
very first experience with committing in Monotone. It wasn't the
best.) This seems like a really nice blend of making it brain-dead
easy, but still making it clear what's editable.

--Benjamin

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


[Monotone-devel] Re: 0.48 rants

2010-07-21 Thread Gour
On Wed, 21 Jul 2010 15:32:01 +0200
 Ludovic == Ludovic Brenta ludo...@ludovic-brenta.org wrote:

Ludovic Just for the record, I agree with Francis entirely and second
Ludovic his suggestion.

+1

Let me just show how the commit screen looks in darcs...

--- cut-here --
foo bar
***END OF DESCRIPTION***

Place the long patch description above the ***END OF DESCRIPTION*** marker.
The first line of this file will be the patch name.


This patch contains the following changes:

M ./devel/haskell-yesod/PKGBUILD -1 +1

--- cut-here --


Clean  simple.


Sincerely,
Gour



-- 

Gour  | Hlapicina, Croatia  | GPG key: F96FF5F6



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


Re: [Monotone-devel] 0.48 rants

2010-07-21 Thread Thomas Keller
Am 21.07.10 19:48, schrieb Benjamin Pollack:
 On Wed, Jul 21, 2010 at 10:09 AM, Jack Lloyd ll...@randombit.net wrote:

 On Wed, Jul 21, 2010 at 02:11:37PM +0100, Francis Russell wrote:
 - Keeping the changelog message at the top requires no scrolling or
 anything else and allows instant typing of changelog message in most
 editors. I really dislike any of these arguments about thinking time.
 We're supposed to be trying to help to user do things as quickly as
 possible and I find myself thinking more about how to get to the
 Changelog: token than the commit itself.

 I've found myself using -m just to avoid the editor entirely. I often
 like to write a paragraph or two for my commit messages, and I'm
 writing more and more 20-40 character commit messages lately.

 I definitely prefer the template Francis included.
 
 I know I'm a brand new Monotone user, and I hate writing me-too
 emails, but I also greatly prefer the template Francis suggested. It
 still makes it clear what's editable, but I don't sit there,
 scratching my head, wondering why my commit aborted due to a blank
 message when I know damn well I typed a message. (This really was my
 very first experience with committing in Monotone. It wasn't the
 best.) This seems like a really nice blend of making it brain-dead
 easy, but still making it clear what's editable.

As Derek noted in an earlier mail, we're working on a solution for this
and this solution will definitely pop up in the next version (i.e. there
will be no next version unless this issue has been resolved, given the
huge waves this feature created so far).

Just a small hint for all of you which are otherwise scared away from
monotone in the meantime - you can still use _MTN/log to jot down your
development notes before you hit commit and just save the editor
contents afterwards. This way you skip the changelog editing completely,
but don't miss the possibility to enter more than one sentence /
paragraph in the changelog.

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