git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* 1.5.4-rc2 plans
@ 2007-12-21  0:32 Junio C Hamano
  2007-12-21  7:26 ` Johannes Sixt
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Junio C Hamano @ 2007-12-21  0:32 UTC (permalink / raw
  To: git

I've tagged -rc1 last night.  The changes are mostly fixes.  There are
some remaining issues I'd like to see fixed/decided before 1.5.4.

One important issue is to identify and fix regressions since 1.5.3
series.  No "rewrite scripted git-foo completely in C" can be regression
free, and we had quite a few internal changes during 1.5.4 cycle (not
just rewrite to C, but C level uses new and improved API such as strbuf
and parse-options).  Currently I am aware of these regressions:

 * handling of options, "--abbrev 10 HEAD", "--abbrev=10 HEAD" and
   "--abbrev HEAD".  The last one does not work for commands that use
   parse-options.  Pierre is on top of this, I hope.

 * handling of EDITOR in git commit and git tag is currently different.
   It expects "vi" not "vi --some-funny-option".  I sent out a
   for-discussion patch after seeing Steven's and Luciano's.

but I am sure there must be others that we haven't even identified.

Also there have been handful usability issues, which can be solved
without incompatible changes:

 * Should "git stash" stop doing anything useful?  I think the patch
   from Nana today may be a reasonable compromise, although I still
   think fundamentally different behaviour for the same command
   configurable per-user is not very nice (we have precedent in "git
   clean" already, though, but "git clean" is inherently dangerous
   command, and "git stash" is much more useful and the issue impacts
   more people).

 * Introduction of "<tree>:./path" (Dscho).  I could be talked into
   accepting the patch if it is useful to people who live deep within
   subdirectories.

 * Making commit log message cleansing optionally less aggressive.  I do
   not think we have seen the end of the thread yet, but I think Linus's
   "three cleansing levels" approach is on the right track.

I'd like to see the above resolved and hopefully 12 other regressions
identified and fixed before the end of the year, when -rc2 can hopefully
happen.

The following technical issues have been raised but not resolved and I
do not expect the resolution to be part of 1.5.4.

 * Authenticated pserver (Ævar Arnfjörð Bjarmason).  It needs security
   audit of the code and also the password storage needs to be decided.
   This can wait post 1.5.4.

 * Threaded "repack -a -d -f" when having a verify tight pack suffers
   from massive malloc(3) memory fragmentation, which we cannot do much
   about.

 * Rebase using "format-patch | am" machinery has issues when dealing
   with a mostly-text change that includes NUL (or anything you cannot
   e-mail patch for).  The workaround is "rebase -m" which unfortunatly
   is slow.  I am working on rewriting cherry-pick whenever I find time
   to address it, though.

 * Handling of trailing blank lines does not mesh well with the way diff
   and apply whitespace logic is done.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21  0:32 1.5.4-rc2 plans Junio C Hamano
@ 2007-12-21  7:26 ` Johannes Sixt
  2007-12-21  9:09   ` Mike Frysinger
  2007-12-21  8:57 ` Steven Grimm
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 19+ messages in thread
From: Johannes Sixt @ 2007-12-21  7:26 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

Junio C Hamano schrieb:
>  * Should "git stash" stop doing anything useful?  I think the patch
>    from Nana today may be a reasonable compromise, although I still
>    think fundamentally different behaviour for the same command
>    configurable per-user is not very nice (we have precedent in "git
>    clean" already, though, but "git clean" is inherently dangerous
>    command, and "git stash" is much more useful and the issue impacts
>    more people).

IMO we should give in and play the safe game. For those who don't like to
type "git stash save" can always

    git config --global alias.shelve "stash save"
    git config --global alias.unshelve "stash apply"

and retrain the fingers.

-- Hannes

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21  0:32 1.5.4-rc2 plans Junio C Hamano
  2007-12-21  7:26 ` Johannes Sixt
@ 2007-12-21  8:57 ` Steven Grimm
  2007-12-21 10:47 ` Pierre Habouzit
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 19+ messages in thread
From: Steven Grimm @ 2007-12-21  8:57 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

On Dec 20, 2007, at 4:32 PM, Junio C Hamano wrote:
> * handling of EDITOR in git commit and git tag is currently different.
>   It expects "vi" not "vi --some-funny-option".  I sent out a
>   for-discussion patch after seeing Steven's and Luciano's.

I'm perfectly fine with your approach (punt and let the shell figure  
it out). It's certainly a lot less code change than mine. However, if  
you want another rev of mine with Johannes' comments taken into  
account, I should be able to do that in the next day or two.

-Steve

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21  7:26 ` Johannes Sixt
@ 2007-12-21  9:09   ` Mike Frysinger
  2007-12-22 15:04     ` Johannes Schindelin
  0 siblings, 1 reply; 19+ messages in thread
From: Mike Frysinger @ 2007-12-21  9:09 UTC (permalink / raw
  To: Johannes Sixt; +Cc: Junio C Hamano, git

On Dec 21, 2007 2:26 AM, Johannes Sixt <j.sixt@viscovery.net> wrote:
> Junio C Hamano schrieb:
> >  * Should "git stash" stop doing anything useful?  I think the patch
> >    from Nana today may be a reasonable compromise, although I still
> >    think fundamentally different behaviour for the same command
> >    configurable per-user is not very nice (we have precedent in "git
> >    clean" already, though, but "git clean" is inherently dangerous
> >    command, and "git stash" is much more useful and the issue impacts
> >    more people).
>
> IMO we should give in and play the safe game. For those who don't like to
> type "git stash save" can always
>
>     git config --global alias.shelve "stash save"
>     git config --global alias.unshelve "stash apply"
>
> and retrain the fingers.

in the past, i used git merely to checkout code and send diffs to
maintainers ... never for my own work.  ive started to transition from
using svn everywhere to trying out git, and saw reference to this
"stash" command on another list.  i wanted to learn more about it, so
i started off with `git-stash` to get some info, and wondered what
just happened.  then i typoed the --help option and wondered even more
what just happened :).

after flipping through the git mailing list for a while, it's good to
see that `git stash <random crap>` will be fixed in the next release,
and yes the default behavior of saving is confusing.  the argument
that newbies can easily recover their work really only works if the
newbie knows what's going on.  if they knew from the start, then they
wouldnt be newbies eh.

making the default behavior non-destructive (which is to say, not
changing anything) and allowing people to arbitrarily configure the
default behavior sounds sane to me.  taking it up a level, people
could just as easily write functions in their shell environment to do
the same thing.  which is to say that imho, the argument against this
for fear of different behavior depending on user is over the top.
configuration options are there to change the behavior based on the
user's preference.
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21  0:32 1.5.4-rc2 plans Junio C Hamano
  2007-12-21  7:26 ` Johannes Sixt
  2007-12-21  8:57 ` Steven Grimm
@ 2007-12-21 10:47 ` Pierre Habouzit
  2007-12-21 10:50   ` [PATCH] git-tag: fix -l switch handling regression Pierre Habouzit
  2007-12-21 11:06   ` 1.5.4-rc2 plans Junio C Hamano
  2007-12-22 15:05 ` 1.5.4-rc2 plans Johannes Schindelin
  2007-12-22 17:03 ` Pierre Habouzit
  4 siblings, 2 replies; 19+ messages in thread
From: Pierre Habouzit @ 2007-12-21 10:47 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 3420 bytes --]

On Fri, Dec 21, 2007 at 12:32:28AM +0000, Junio C Hamano wrote:
> I've tagged -rc1 last night.  The changes are mostly fixes.  There are
> some remaining issues I'd like to see fixed/decided before 1.5.4.
> 
> One important issue is to identify and fix regressions since 1.5.3
> series.  No "rewrite scripted git-foo completely in C" can be regression
> free, and we had quite a few internal changes during 1.5.4 cycle (not
> just rewrite to C, but C level uses new and improved API such as strbuf
> and parse-options).  Currently I am aware of these regressions:
> 
>  * handling of options, "--abbrev 10 HEAD", "--abbrev=10 HEAD" and
>    "--abbrev HEAD".  The last one does not work for commands that use
>    parse-options.  Pierre is on top of this, I hope.

Hmm now I'm confused, I believed we settled for the: --abbrev 10 HEAD is
forbidden, --abbrev=10 HEAD works, and --abbrev HEAD too. This would
introduce no regressions _yet_ as none of the commands that use
parse-options and take --abbrev accepted the --abbrev 10 form before. I
already sent this once, and assumed you took it, hence me being silent
the last days. Here is it again then.  Of course this does not affects
other long options for which `--long-option arg` still works (if they do
take an argument).

I'd also like to see any kind of form of gitcli(5) be merged for 1.5.4
too, I believe the first version I ever sent. In the thread where I
posted the proposal using `{}` the patch introducing it is the version
formed using:
  * my first proposal for it ;
  * your english fixes squashed on top of it ;
  * a fix wrt the '--no-' prefix and Boolean options that we discussed.
This version describes the current state of things properly IMHO. I can
find the message id if you need, but I don't have the commit locally
anymore atm.

Cheers,

From 37c7baaa82f36d16697fa190635f5d3efbe2a83d Mon Sep 17 00:00:00 2001
From: Pierre Habouzit <madcoder@debian.org>
Date: Fri, 21 Dec 2007 11:41:41 +0100
Subject: [PATCH] Force the sticked form for options with optional arguments.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
 parse-options.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/parse-options.c b/parse-options.c
index 574ed31..4f5c55e 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -89,7 +89,7 @@ static int get_value(struct optparse_t *p,
 			*(const char **)opt->value = NULL;
 			return 0;
 		}
-		if (opt->flags & PARSE_OPT_OPTARG && (!arg || *arg == '-')) {
+		if (opt->flags & PARSE_OPT_OPTARG && !p->opt) {
 			*(const char **)opt->value = (const char *)opt->defval;
 			return 0;
 		}
@@ -103,7 +103,7 @@ static int get_value(struct optparse_t *p,
 			return (*opt->callback)(opt, NULL, 1);
 		if (opt->flags & PARSE_OPT_NOARG)
 			return (*opt->callback)(opt, NULL, 0);
-		if (opt->flags & PARSE_OPT_OPTARG && (!arg || *arg == '-'))
+		if (opt->flags & PARSE_OPT_OPTARG && !p->opt)
 			return (*opt->callback)(opt, NULL, 0);
 		if (!arg)
 			return opterror(opt, "requires a value", flags);
@@ -114,7 +114,7 @@ static int get_value(struct optparse_t *p,
 			*(int *)opt->value = 0;
 			return 0;
 		}
-		if (opt->flags & PARSE_OPT_OPTARG && (!arg || !isdigit(*arg))) {
+		if (opt->flags & PARSE_OPT_OPTARG && !p->opt) {
 			*(int *)opt->value = opt->defval;
 			return 0;
 		}
-- 
1.5.4.rc1.1096.g37c7b


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH] git-tag: fix -l switch handling regression.
  2007-12-21 10:47 ` Pierre Habouzit
@ 2007-12-21 10:50   ` Pierre Habouzit
  2007-12-21 16:32     ` Junio C Hamano
  2007-12-21 11:06   ` 1.5.4-rc2 plans Junio C Hamano
  1 sibling, 1 reply; 19+ messages in thread
From: Pierre Habouzit @ 2007-12-21 10:50 UTC (permalink / raw
  To: Junio C Hamano, git

[-- Attachment #1: Type: text/plain, Size: 1795 bytes --]

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---

It seems that you didnt took that patch either, that IMHO gives a better
semantics to git tag -l than yours, while keeping backward
compatibility.


 builtin-tag.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/builtin-tag.c b/builtin-tag.c
index 274901a..020ee1c 100644
--- a/builtin-tag.c
+++ b/builtin-tag.c
@@ -16,7 +16,7 @@
 static const char * const git_tag_usage[] = {
 	"git-tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <file>] <tagname> [<head>]",
 	"git-tag -d <tagname>...",
-	"git-tag [-n [<num>]] -l [<pattern>]",
+	"git-tag -l [-n [<num>]] [<pattern>]",
 	"git-tag -v <tagname>...",
 	NULL
 };
@@ -370,13 +370,11 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
 	struct ref_lock *lock;
 
 	int annotate = 0, sign = 0, force = 0, lines = 0,
-					delete = 0, verify = 0;
-	char *list = NULL, *msgfile = NULL, *keyid = NULL;
-	const char *no_pattern = "NO_PATTERN";
+		list = 0, delete = 0, verify = 0;
+	char *msgfile = NULL, *keyid = NULL;
 	struct msg_arg msg = { 0, STRBUF_INIT };
 	struct option options[] = {
-		{ OPTION_STRING, 'l', NULL, &list, "pattern", "list tag names",
-			PARSE_OPT_OPTARG, NULL, (intptr_t) no_pattern },
+		OPT_BOOLEAN('l', NULL, &list, "list tag names"),
 		{ OPTION_INTEGER, 'n', NULL, &lines, NULL,
 				"print n lines of each tag message",
 				PARSE_OPT_OPTARG, NULL, 1 },
@@ -408,7 +406,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
 		annotate = 1;
 
 	if (list)
-		return list_tags(list == no_pattern ? NULL : list, lines);
+		return list_tags(argv[0], lines);
 	if (delete)
 		return for_each_tag_name(argv, delete_tag);
 	if (verify)
-- 
1.5.4.rc1.1096.g37c7b


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21 10:47 ` Pierre Habouzit
  2007-12-21 10:50   ` [PATCH] git-tag: fix -l switch handling regression Pierre Habouzit
@ 2007-12-21 11:06   ` Junio C Hamano
  2007-12-21 11:13     ` Pierre Habouzit
  1 sibling, 1 reply; 19+ messages in thread
From: Junio C Hamano @ 2007-12-21 11:06 UTC (permalink / raw
  To: Pierre Habouzit; +Cc: git

Pierre Habouzit <madcoder@artemis.madism.org> writes:

> Hmm now I'm confused, I believed we settled for the: --abbrev 10 HEAD is
> forbidden, --abbrev=10 HEAD works, and --abbrev HEAD too.

http://thread.gmane.org/gmane.comp.version-control.git/68121/focus=68659 ?

> I'd also like to see any kind of form of gitcli(5) be merged for 1.5.4
> too, I believe the first version I ever sent. In the thread where I
> posted the proposal using `{}` the patch introducing it is the version
> formed using:

Unfortunately I've been busy lately and have already discarded
the whole series that had the {} stuff.  Could you resend
cleaned up patch please, so that I can take a look over the
weekend?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21 11:06   ` 1.5.4-rc2 plans Junio C Hamano
@ 2007-12-21 11:13     ` Pierre Habouzit
  2007-12-21 11:19       ` [PATCH] parse-options: Add a gitcli(5) man page Pierre Habouzit
  0 siblings, 1 reply; 19+ messages in thread
From: Pierre Habouzit @ 2007-12-21 11:13 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1319 bytes --]

On Fri, Dec 21, 2007 at 11:06:47AM +0000, Junio C Hamano wrote:
> Pierre Habouzit <madcoder@artemis.madism.org> writes:
> 
> > Hmm now I'm confused, I believed we settled for the: --abbrev 10 HEAD is
> > forbidden, --abbrev=10 HEAD works, and --abbrev HEAD too.
> 
> http://thread.gmane.org/gmane.comp.version-control.git/68121/focus=68659 ?

  okay, then it's what I remembered, I was confused because the patch
for that was around for quite some time, but I just resent it so this
one is okay.

> > I'd also like to see any kind of form of gitcli(5) be merged for 1.5.4
> > too, I believe the first version I ever sent. In the thread where I
> > posted the proposal using `{}` the patch introducing it is the version
> > formed using:
> 
> Unfortunately I've been busy lately and have already discarded
> the whole series that had the {} stuff.  Could you resend
> cleaned up patch please, so that I can take a look over the
> weekend?

  sure, this is the patch from
http://article.gmane.org/gmane.comp.version-control.git/68140 actually,
I will resend a proper patch when I've been able to get that one back :)

-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH] parse-options: Add a gitcli(5) man page.
  2007-12-21 11:13     ` Pierre Habouzit
@ 2007-12-21 11:19       ` Pierre Habouzit
  0 siblings, 0 replies; 19+ messages in thread
From: Pierre Habouzit @ 2007-12-21 11:19 UTC (permalink / raw
  To: Junio C Hamano, git

This page should hold every information about the git ways to parse command
lines, and best practices to be used for scripting.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
    > > Unfortunately I've been busy lately and have already discarded
    > > the whole series that had the {} stuff.  Could you resend
    > > cleaned up patch please, so that I can take a look over the
    > > weekend?
    > 
    >   sure, this is the patch from
    > http://article.gmane.org/gmane.comp.version-control.git/68140 actually,
    > I will resend a proper patch when I've been able to get that one back :)

    in fact that is not the proper one, and I had one kept here. I just
    pushed the 3 patches on my ph/parseopt branch at
    git://git.madism.org/git.git, rebased on the current next.

    Cheers,

 Documentation/Makefile   |    2 +-
 Documentation/gitcli.txt |  113 ++++++++++++++++++++++++++++++++++++++++++++++
 Makefile                 |    1 +
 3 files changed, 115 insertions(+), 1 deletions(-)
 create mode 100644 Documentation/gitcli.txt

diff --git a/Documentation/Makefile b/Documentation/Makefile
index 76df06c..c4486d3 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -2,7 +2,7 @@ MAN1_TXT= \
 	$(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
 		$(wildcard git-*.txt)) \
 	gitk.txt
-MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt
+MAN5_TXT=gitattributes.txt gitignore.txt gitcli.txt gitmodules.txt
 MAN7_TXT=git.txt
 
 MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)
diff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt
new file mode 100644
index 0000000..b7dcf9c
--- /dev/null
+++ b/Documentation/gitcli.txt
@@ -0,0 +1,113 @@
+gitcli(5)
+=========
+
+NAME
+----
+gitcli - git command line interface and conventions
+
+SYNOPSIS
+--------
+gitcli
+
+
+DESCRIPTION
+-----------
+
+This manual describes best practice in how to use git CLI.  Here are
+the rules that you should follow when you are scripting git:
+
+ * it's preferred to use the non dashed form of git commands, which means that
+   you should prefer `"git foo"` to `"git-foo"`.
+
+ * splitting short options to separate words (prefer `"git foo -a -b"`
+   to `"git foo -ab"`, the latter may not even work).
+
+ * when a command line option takes an argument, use the 'sticked' form.  In
+   other words, write `"git foo -oArg"` instead of `"git foo -o Arg"` for short
+   options, and `"git foo --long-opt=Arg"` instead of `"git foo --long-opt Arg"`
+   for long options.  An option that takes optional option-argument must be
+   written in the 'sticked' form.
+
+ * when you give a revision parameter to a command, make sure the parameter is
+   not ambiguous with a name of a file in the work tree.  E.g. do not write
+   `"git log -1 HEAD"` but write `"git log -1 HEAD --"`; the former will not work
+   if you happen to have a file called `HEAD` in the work tree.
+
+
+ENHANCED CLI
+------------
+From the git 1.5.4 series and further, many git commands (not all of them at the
+time of the writing though) come with an enhanced option parser.
+
+Here is an exhaustive list of the facilities provided by this option parser.
+
+
+Magic Options
+~~~~~~~~~~~~~
+Commands which have the enhanced option parser activated all understand a
+couple of magic command line options:
+
+-h::
+	gives a pretty printed usage of the command.
++
+---------------------------------------------
+$ git describe -h
+usage: git-describe [options] <committish>*
+
+    --contains            find the tag that comes after the commit
+    --debug               debug search strategy on stderr
+    --all                 use any ref in .git/refs
+    --tags                use any tag in .git/refs/tags
+    --abbrev [<n>]        use <n> digits to display SHA-1s
+    --candidates <n>      consider <n> most recent tags (default: 10)
+---------------------------------------------
+
+--help-all::
+	Some git commands take options that are only used for plumbing or that
+	are deprecated, and such options are hidden from the default usage. This
+	option gives the full list of options.
+
+
+Negating options
+~~~~~~~~~~~~~~~~
+Options with long option names can be negated by prefixing `"--no-"`. For
+example, `"git branch"` has the option `"--track"` which is 'on' by default. You
+can use `"--no-track"` to override that behaviour. The same goes for `"--color"`
+and `"--no-color"`.
+
+
+Aggregating short options
+~~~~~~~~~~~~~~~~~~~~~~~~~
+Commands that support the enhanced option parser allow you to aggregate short
+options. This means that you can for example use `"git rm -rf"` or
+`"git clean -fdx"`.
+
+
+Separating argument from the option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+You can write the mandatory option parameter to an option as a separate
+word on the command line.  That means that all the following uses work:
+
+----------------------------
+$ git foo --long-opt=Arg
+$ git foo --long-opt Arg
+$ git foo -oArg
+$ git foo -o Arg
+----------------------------
+
+However, this is *NOT* allowed for switches with an optionnal value, where the
+'sticked' form must be used:
+----------------------------
+$ git describe --abbrev HEAD     # correct
+$ git describe --abbrev=10 HEAD  # correct
+$ git describe --abbrev 10 HEAD  # NOT WHAT YOU MEANT
+----------------------------
+
+
+Documentation
+-------------
+Documentation by Pierre Habouzit.
+
+GIT
+---
+Part of the gitlink:git[7] suite
diff --git a/Makefile b/Makefile
index b635be8..dd6c0d6 100644
--- a/Makefile
+++ b/Makefile
@@ -1173,6 +1173,7 @@ check-docs::
 		documented,gitattributes | \
 		documented,gitignore | \
 		documented,gitmodules | \
+		documented,gitcli | \
 		documented,git-tools | \
 		sentinel,not,matching,is,ok ) continue ;; \
 		esac; \
-- 
1.5.4.rc1.1096.g37c7b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH] git-tag: fix -l switch handling regression.
  2007-12-21 10:50   ` [PATCH] git-tag: fix -l switch handling regression Pierre Habouzit
@ 2007-12-21 16:32     ` Junio C Hamano
  2007-12-21 21:18       ` Pierre Habouzit
  0 siblings, 1 reply; 19+ messages in thread
From: Junio C Hamano @ 2007-12-21 16:32 UTC (permalink / raw
  To: Pierre Habouzit; +Cc: git

Pierre Habouzit <madcoder@debian.org> writes:

> Signed-off-by: Pierre Habouzit <madcoder@debian.org>
> ---
>
> It seems that you didnt took that patch either, that IMHO gives a better
> semantics to git tag -l than yours, while keeping backward
> compatibility.

I thought this depended on some other changes.  As is, doesn't
it break the t7004 test?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] git-tag: fix -l switch handling regression.
  2007-12-21 16:32     ` Junio C Hamano
@ 2007-12-21 21:18       ` Pierre Habouzit
  2007-12-22  8:01         ` Junio C Hamano
  0 siblings, 1 reply; 19+ messages in thread
From: Pierre Habouzit @ 2007-12-21 21:18 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 894 bytes --]

On Fri, Dec 21, 2007 at 04:32:43PM +0000, Junio C Hamano wrote:
> Pierre Habouzit <madcoder@debian.org> writes:
> 
> > Signed-off-by: Pierre Habouzit <madcoder@debian.org>
> > ---
> >
> > It seems that you didnt took that patch either, that IMHO gives a better
> > semantics to git tag -l than yours, while keeping backward
> > compatibility.
> 
> I thought this depended on some other changes.  As is, doesn't
> it break the t7004 test?

  Well there are tests that test:

  git tag -n xxx -l ...

  or

  git tag -n "" -l ...

  but I think we agreed those test nothing legitimate, and that the
tests have to be removed. SO yes it hides another patch to cleanse t7004
from the broken tests.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] git-tag: fix -l switch handling regression.
  2007-12-21 21:18       ` Pierre Habouzit
@ 2007-12-22  8:01         ` Junio C Hamano
  0 siblings, 0 replies; 19+ messages in thread
From: Junio C Hamano @ 2007-12-22  8:01 UTC (permalink / raw
  To: Pierre Habouzit; +Cc: git

Pierre Habouzit <madcoder@debian.org> writes:

> On Fri, Dec 21, 2007 at 04:32:43PM +0000, Junio C Hamano wrote:
> ...
>> I thought this depended on some other changes.  As is, doesn't
>> it break the t7004 test?
>
>   Well there are tests that test:
>
>   git tag -n xxx -l ...
>
>   or
>
>   git tag -n "" -l ...
>
>   but I think we agreed those test nothing legitimate, and that the
> tests have to be removed. SO yes it hides another patch to cleanse t7004
> from the broken tests.

Thanks for a clarification; I'll resurect parts of my test
fix-ups and squash that in.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21  9:09   ` Mike Frysinger
@ 2007-12-22 15:04     ` Johannes Schindelin
  2007-12-22 17:54       ` Mike Frysinger
  0 siblings, 1 reply; 19+ messages in thread
From: Johannes Schindelin @ 2007-12-22 15:04 UTC (permalink / raw
  To: Mike Frysinger; +Cc: Johannes Sixt, Junio C Hamano, git

Hi,

On Fri, 21 Dec 2007, Mike Frysinger wrote:

> ive started to transition from using svn everywhere to trying out git, 
> and saw reference to this "stash" command on another list.  i wanted to 
> learn more about it, so i started off with `git-stash` to get some info, 
> and wondered what just happened.  then i typoed the --help option and 
> wondered even more what just happened :).

I'm very sorry for you, but I, for one, refuse to let decisions be 
influenced by people who did not have so much as a glimpse in the 
documentation.

It may be okay for a certain nation state to award people spilling that 
hot coffee that they ordered over there laps, but the rest of the world 
laughs about such a behaviour.

If you got rope, stuck your neck through the noose, and jumped, without 
reading the manual first, well, that's not my problem.

But I guess that we'll get that no-default-action behaviour, and I will 
have to change my ways.  Sigh.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21  0:32 1.5.4-rc2 plans Junio C Hamano
                   ` (2 preceding siblings ...)
  2007-12-21 10:47 ` Pierre Habouzit
@ 2007-12-22 15:05 ` Johannes Schindelin
  2007-12-22 17:03 ` Pierre Habouzit
  4 siblings, 0 replies; 19+ messages in thread
From: Johannes Schindelin @ 2007-12-22 15:05 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

Hi,

On Thu, 20 Dec 2007, Junio C Hamano wrote:

>  * Introduction of "<tree>:./path" (Dscho).  I could be talked into
>    accepting the patch if it is useful to people who live deep within
>    subdirectories.

IMHO this can safely await post-1.5.4.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-21  0:32 1.5.4-rc2 plans Junio C Hamano
                   ` (3 preceding siblings ...)
  2007-12-22 15:05 ` 1.5.4-rc2 plans Johannes Schindelin
@ 2007-12-22 17:03 ` Pierre Habouzit
  2007-12-22 17:16   ` Junio C Hamano
  4 siblings, 1 reply; 19+ messages in thread
From: Pierre Habouzit @ 2007-12-22 17:03 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1885 bytes --]

On ven, déc 21, 2007 at 12:32:28 +0000, Junio C Hamano wrote:
> I've tagged -rc1 last night.  The changes are mostly fixes.  There are
> some remaining issues I'd like to see fixed/decided before 1.5.4.
> 
> One important issue is to identify and fix regressions since 1.5.3
> series.  No "rewrite scripted git-foo completely in C" can be regression
> free, and we had quite a few internal changes during 1.5.4 cycle (not
> just rewrite to C, but C level uses new and improved API such as strbuf
> and parse-options).  Currently I am aware of these regressions:
> 
>  * handling of options, "--abbrev 10 HEAD", "--abbrev=10 HEAD" and
>    "--abbrev HEAD".  The last one does not work for commands that use
>    parse-options.  Pierre is on top of this, I hope.

  About that, I know we talked about the -default thing and so on, I'm
not sure we should hurry that for 1.5.4 for the following reasons:

  * I grepped through the source and the _sole_ instance of
    parse-options enabled option arguments are  --abbrev ones for now
    (even in the shell scripts migrated to git rev-parse --parseopt).

  * Not adding *-default and lax parsing for optional arguments is _not_
    a regression for the migrated commands.

  * I don't want to urge that because well, I still have the hope we
    could come up with something even better.

  So I'd argue in favor of that:
  + push the patch that forces the stuck forms (that I already posted)
    for 1.5.4.
  + prepare a series in pu with *-default post 1.5.4 to evaluate this
    and see what people think.

  Most of the function with optional arguments are the git diff ones,
and we'll see about them post 1.5.4 anyways.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-22 17:03 ` Pierre Habouzit
@ 2007-12-22 17:16   ` Junio C Hamano
  2007-12-22 17:38     ` Pierre Habouzit
  2007-12-22 17:52     ` Junio C Hamano
  0 siblings, 2 replies; 19+ messages in thread
From: Junio C Hamano @ 2007-12-22 17:16 UTC (permalink / raw
  To: Pierre Habouzit; +Cc: git

Pierre Habouzit <madcoder@debian.org> writes:

>   So I'd argue in favor of that:
>   + push the patch that forces the stuck forms (that I already posted)
>     for 1.5.4.

Ok, sounds sane.  You posted multiple serieses; which ones?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-22 17:16   ` Junio C Hamano
@ 2007-12-22 17:38     ` Pierre Habouzit
  2007-12-22 17:52     ` Junio C Hamano
  1 sibling, 0 replies; 19+ messages in thread
From: Pierre Habouzit @ 2007-12-22 17:38 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 729 bytes --]

On Sat, Dec 22, 2007 at 05:16:41PM +0000, Junio C Hamano wrote:
> Pierre Habouzit <madcoder@debian.org> writes:
> 
> >   So I'd argue in favor of that:
> >   + push the patch that forces the stuck forms (that I already posted)
> >     for 1.5.4.
> 
> Ok, sounds sane.  You posted multiple serieses; which ones?

All the patches I think should go in 1.5.4 are in that very thread.
Forcing the stuck forms for optional arguments is in
Message-Id: <20071221104704.GC17701@artemis.madism.org>, or is on
git.madism.org in branch ph/parseopt.

-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-22 17:16   ` Junio C Hamano
  2007-12-22 17:38     ` Pierre Habouzit
@ 2007-12-22 17:52     ` Junio C Hamano
  1 sibling, 0 replies; 19+ messages in thread
From: Junio C Hamano @ 2007-12-22 17:52 UTC (permalink / raw
  To: Pierre Habouzit; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> Pierre Habouzit <madcoder@debian.org> writes:
>
>>   So I'd argue in favor of that:
>>   + push the patch that forces the stuck forms (that I already posted)
>>     for 1.5.4.
>
> Ok, sounds sane.  You posted multiple serieses; which ones?

Ah, my apologies.  I can fetch them from your git repository at
madism.org, of course.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: 1.5.4-rc2 plans
  2007-12-22 15:04     ` Johannes Schindelin
@ 2007-12-22 17:54       ` Mike Frysinger
  0 siblings, 0 replies; 19+ messages in thread
From: Mike Frysinger @ 2007-12-22 17:54 UTC (permalink / raw
  To: Johannes Schindelin; +Cc: Johannes Sixt, Junio C Hamano, git

On Dec 22, 2007 10:04 AM, Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
> On Fri, 21 Dec 2007, Mike Frysinger wrote:
> > ive started to transition from using svn everywhere to trying out git,
> > and saw reference to this "stash" command on another list.  i wanted to
> > learn more about it, so i started off with `git-stash` to get some info,
> > and wondered what just happened.  then i typoed the --help option and
> > wondered even more what just happened :).
>
> I'm very sorry for you, but I, for one, refuse to let decisions be
> influenced by people who did not have so much as a glimpse in the
> documentation.
>
> <snip pointless garbage>

why do you insist on wasting people's time if your point is merely to
insult ?  if that is your goal, go somewhere else.
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2007-12-22 17:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-21  0:32 1.5.4-rc2 plans Junio C Hamano
2007-12-21  7:26 ` Johannes Sixt
2007-12-21  9:09   ` Mike Frysinger
2007-12-22 15:04     ` Johannes Schindelin
2007-12-22 17:54       ` Mike Frysinger
2007-12-21  8:57 ` Steven Grimm
2007-12-21 10:47 ` Pierre Habouzit
2007-12-21 10:50   ` [PATCH] git-tag: fix -l switch handling regression Pierre Habouzit
2007-12-21 16:32     ` Junio C Hamano
2007-12-21 21:18       ` Pierre Habouzit
2007-12-22  8:01         ` Junio C Hamano
2007-12-21 11:06   ` 1.5.4-rc2 plans Junio C Hamano
2007-12-21 11:13     ` Pierre Habouzit
2007-12-21 11:19       ` [PATCH] parse-options: Add a gitcli(5) man page Pierre Habouzit
2007-12-22 15:05 ` 1.5.4-rc2 plans Johannes Schindelin
2007-12-22 17:03 ` Pierre Habouzit
2007-12-22 17:16   ` Junio C Hamano
2007-12-22 17:38     ` Pierre Habouzit
2007-12-22 17:52     ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).