Re: [PATCH v3 1/5] pull: rename pull.rename to pull.mode
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Oct 12, 2013, 01:15 UTC
- Message-ID
- <CAMP44s2y0UZ9uS8xtG2WDD=k5pHSG+K+_WM2dj-DVaUDy4djdA@mail.gmail.com>
- In-Reply-To
- <20131012005035.GA27939@sigill.intra.peff.net>
On Fri, Oct 11, 2013 at 7:50 PM, Jeff King <peff@peff.net> wrote:
Show 25 quoted lines
> On Fri, Oct 11, 2013 at 06:56:23PM -0500, Felipe Contreras wrote: > >> > >>> > These deprecation warning messages should be written to stderr, and >> > >>> > should probably be prefixed with "WARNING: ". >> > >>> >> > >>> Is there any deprecation warning that works this way? >> > >> >> > >> The ones in C code typically use warning(), which will prefix with >> > >> "warning:" and write to stderr. They do not use all-caps, though. >> > >> >> > >> Try "git log --grep=deprecate -Swarning" for some examples. >> > > >> > > I'm asking about the ones in shell, because this is a shell script. >> > >> > No user cares whether "git pull" is written in shell. shell Vs C is an >> > implementation detail, stdout Vs stderr is user-visible. >> >> You are free to go ahead and implement 'warning ()' in git-sh-setup.sh, in the >> meantime no shell script does that, and that's no reason to reject this patch >> series. > > You are completely missing Matthieu's point that we attempt to be > consistent in the format of messages, as well as where they are output, > and from a user's perspective it does not matter what language the tool > is implemented in.
If we truly did that, there should be a warning () function, like in C.
Show 26 quoted lines
> Also, you are wrong that there are no other shell scripts that behave as > Richard said: > > $ git grep '>&2' | grep -i deprecate > contrib/completion/git-completion.bash: echo "WARNING: this script is deprecated, please see git-completion.zsh" 1>&2 > contrib/examples/git-resolve.sh:echo 'WARNING: This command is DEPRECATED and will be removed very soon.' >&2 > git-lost-found.sh:echo "WARNING: '$0' is deprecated in favor of 'git fsck --lost-found'" >&2 > > Please, can we just squash in the patch below and stop talking about > this? > > diff --git a/git-pull.sh b/git-pull.sh > index a9cf7ac..9c4091c 100755 > --- a/git-pull.sh > +++ b/git-pull.sh > @@ -58,8 +58,8 @@ then > if test "$rebase" = 'true' > then > mode="rebase" > - echo "The configurations pull.rebase and branch.<name>.rebase are deprecated." > - echo "Please use pull.mode and branch.<name>.pullmode instead." > + echo >&2 "warning: The configurations pull.rebase and branch.<name>.rebase are deprecated." > + echo >&2 "Please use pull.mode and branch.<name>.pullmode instead." > fi > fi > test -z "$mode" && mode=merge
Are you sure you want me to squash that in? Because the warnings wouldn't be consistent. Some would be "WARNING: " and others would be "warning: ". Personally I don't care, but if your argument is consistency, you should. If we had a warning () function, we could truly be consistent.
-- Felipe Contreras