From: Jeff Sipek <jeffpc@josefsipek.net>
To: Per Cederqvist <cederp@opera.com>
Cc: git@vger.kernel.org
Subject: Re: [GUILT v2 14/29] Use "git check-ref-format" to validate patch names.
Date: Thu, 15 May 2014 19:00:18 -0400 [thread overview]
Message-ID: <20140515230017.GC1334@meili.valhalla.31bits.net> (raw)
In-Reply-To: <1400013065-27919-15-git-send-email-cederp@opera.com>
On Tue, May 13, 2014 at 10:30:50PM +0200, Per Cederqvist wrote:
> The valid_patchname now lets "git check-ref-format" do its job instead
> of trying (and failing) to implement the same rules. See
> git-check-ref-format(1) for a list of the rules.
>
> Refer to the git-check-ref-format(1) man page in the error messages
> produced when valid_patchname indicates that the name is bad.
>
> Added testcases that breaks most of the rules in that man-page.
>
> Git version 1.8.5 no longer allows the single character "@" as a
> branch name. Guilt always rejects that name, for increased
> compatibility.
Very nice.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
> Signed-off-by: Per Cederqvist <cederp@opera.com>
> ---
> guilt | 21 ++-
> guilt-fork | 2 +-
> guilt-import | 2 +-
> guilt-new | 2 +-
> regression/t-025.out | 426 +++++++++++++++++++++++++++++++++++++++++++++++++--
> regression/t-025.sh | 12 +-
> regression/t-032.out | 4 +-
> 7 files changed, 446 insertions(+), 23 deletions(-)
>
> diff --git a/guilt b/guilt
> index 3fc524e..23cc2da 100755
> --- a/guilt
> +++ b/guilt
> @@ -132,14 +132,19 @@ fi
> # usage: valid_patchname <patchname>
> valid_patchname()
> {
> - case "$1" in
> - /*|./*|../*|*/./*|*/../*|*/.|*/..|*/|*\ *|*\ *)
> - return 1;;
> - *:*)
> - return 1;;
> - *)
> - return 0;;
> - esac
> + if git check-ref-format --allow-onelevel "$1"; then
> + # Starting with Git version 1.8.5, a branch cannot be
> + # the single character "@". Make sure guilt rejects
> + # that name even if we are currently using an older
> + # version of Git. This ensures that the test suite
> + # runs fine using any version of Git.
> + if [ "$1" = "@" ]; then
> + return 1
> + fi
> + return 0
> + else
> + return 1
> + fi
> }
>
> get_branch()
> diff --git a/guilt-fork b/guilt-fork
> index a85d391..6447e55 100755
> --- a/guilt-fork
> +++ b/guilt-fork
> @@ -37,7 +37,7 @@ else
> fi
>
> if ! valid_patchname "$newpatch"; then
> - die "The specified patch name contains invalid characters (:)."
> + die "The specified patch name is invalid according to git-check-ref-format(1)."
> fi
>
> if [ -e "$GUILT_DIR/$branch/$newpatch" ]; then
> diff --git a/guilt-import b/guilt-import
> index 3e9b3bb..928e325 100755
> --- a/guilt-import
> +++ b/guilt-import
> @@ -40,7 +40,7 @@ if [ -e "$GUILT_DIR/$branch/$newname" ]; then
> fi
>
> if ! valid_patchname "$newname"; then
> - die "The specified patch name contains invalid characters (:)."
> + die "The specified patch name is invalid according to git-check-ref-format(1)."
> fi
>
> # create any directories as needed
> diff --git a/guilt-new b/guilt-new
> index 9528438..9f7fa44 100755
> --- a/guilt-new
> +++ b/guilt-new
> @@ -64,7 +64,7 @@ fi
>
> if ! valid_patchname "$patch"; then
> disp "Patchname is invalid." >&2
> - die "it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace"
> + die "It must follow the rules in git-check-ref-format(1)."
> fi
>
> # create any directories as needed
> diff --git a/regression/t-025.out b/regression/t-025.out
> index 7811ab1..01bc406 100644
> --- a/regression/t-025.out
> +++ b/regression/t-025.out
> @@ -141,7 +141,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new white space
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -211,7 +211,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new /abc
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -235,7 +235,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new ./blah
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -259,7 +259,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new ../blah
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -283,7 +283,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new abc/./blah
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -307,7 +307,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new abc/../blah
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -331,7 +331,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new abc/.
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -355,7 +355,7 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new abc/..
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> @@ -379,7 +379,415 @@ f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> % guilt new abc/
> Patchname is invalid.
> -it cannot begin with '/', './' or '../', or contain /./, /../, or whitespace
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new abc.lock
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new a/b.lock/c
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new cr
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new ctrl-a\x01
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new formfeed\f
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new del\x7f
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new tilde~
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new caret^
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new colon:
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new questionmark?
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new asterisk*
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new open[bracket
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new consecutive//slashes
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new trailing-dot.
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new bad@{seq
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new @
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> +% list_files
> +d .git/patches
> +d .git/patches/master
> +d .git/patches/master/dir
> +d .git/patches/master/dir/subdir
> +d .git/refs/patches
> +d .git/refs/patches/master
> +d .git/refs/patches/master/dir
> +d .git/refs/patches/master/dir/subdir
> +f 1ef04b4f4149870b3f06b5f99b9d9fc260cebc67 .git/patches/master/series
> +f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
> +f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
> +f 7ce0ecd062afe46bf743d0d63dbe79e18774fe03 .git/patches/master/status
> +f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
> +f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/append
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/dir/subdir/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/file
> +f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/prepend
> +r acdeef96ee30eb34bbbf65d11de5cf7da4b5fee8 .git/refs/patches/master/prepend
> +% guilt new backslash\
> +Patchname is invalid.
> +It must follow the rules in git-check-ref-format(1).
> % list_files
> d .git/patches
> d .git/patches/master
> diff --git a/regression/t-025.sh b/regression/t-025.sh
> index 985fed4..8c439fc 100755
> --- a/regression/t-025.sh
> +++ b/regression/t-025.sh
> @@ -43,7 +43,17 @@ shouldfail guilt new "white space"
>
> cmd list_files
>
> -for pname in prepend mode /abc ./blah ../blah abc/./blah abc/../blah abc/. abc/.. abc/ ; do
> +b()
> +{
> + printf "%b" "$1"
> +}
> +
> +for pname in prepend mode /abc ./blah ../blah abc/./blah abc/../blah abc/. \
> + abc/.. abc/ abc.lock a/b.lock/c `b 'cr\r'` `b 'ctrl-a\001'` \
> + `b 'formfeed\f'` `b 'del\177'` "tilde~" "caret^" "colon:" \
> + "questionmark?" "asterisk*" "open[bracket" "consecutive//slashes" \
> + "trailing-dot." "bad@{seq" "@" "backslash\\"
> +do
> shouldfail guilt new "$pname"
>
> cmd list_files
> diff --git a/regression/t-032.out b/regression/t-032.out
> index 53f0370..4e65db0 100644
> --- a/regression/t-032.out
> +++ b/regression/t-032.out
> @@ -1,7 +1,7 @@
> % setup_repo
> % touch foo foo:baz
> % guilt import -P foo:bar foo
> -The specified patch name contains invalid characters (:).
> +The specified patch name is invalid according to git-check-ref-format(1).
> % guilt import -P foo:bar foo2
> Specified file does not exist.
> % guilt import -P foo foo2
> @@ -15,4 +15,4 @@ Already tracking a patch under that name.
> Already tracking a patch under that name.
> % guilt import -P foo,bar foo
> % guilt import foo:baz
> -The specified patch name contains invalid characters (:).
> +The specified patch name is invalid according to git-check-ref-format(1).
> --
> 1.8.3.1
>
--
Humans were created by water to transport it upward.
next prev parent reply other threads:[~2014-05-15 23:00 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-13 20:30 [GUILT v2 00/29] Teach guilt import-commit how to create legal patch names, and more Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 01/29] The tests should not fail if guilt.diffstat is set Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 02/29] Allow "guilt delete -f" to run from a dir which contains spaces Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 03/29] Added test case for "guilt delete -f" Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 04/29] Allow "guilt import-commit" to run from a dir which contains spaces Per Cederqvist
2014-05-13 21:06 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 05/29] "guilt new": Accept more than 4 arguments Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 06/29] Fix the do_get_patch function Per Cederqvist
2014-05-13 21:13 ` Jeff Sipek
2014-05-14 8:46 ` Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 07/29] Added test cases for "guilt fold" Per Cederqvist
2014-05-13 21:30 ` Jeff Sipek
2014-05-14 8:49 ` Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 08/29] Added more test cases for "guilt new": empty patches Per Cederqvist
2014-05-14 17:10 ` Jeff Sipek
2014-05-14 20:38 ` Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 09/29] Test suite: properly check the exit status of commands Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 10/29] Run test_failed if the exit status of a test script is bad Per Cederqvist
2014-05-13 21:58 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 11/29] test suite: remove pointless redirection Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 12/29] "guilt header": more robust header selection Per Cederqvist
2014-05-15 22:46 ` Jeff Sipek
2014-05-16 9:51 ` Per Cederqvist
2014-05-16 12:55 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 13/29] Check that "guilt header '.*'" fails Per Cederqvist
2014-05-15 22:47 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 14/29] Use "git check-ref-format" to validate patch names Per Cederqvist
2014-05-15 23:00 ` Jeff Sipek [this message]
2014-05-13 20:30 ` [GUILT v2 15/29] Produce legal patch names in guilt-import-commit Per Cederqvist
2014-05-15 23:21 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 16/29] Fix backslash handling when creating names of imported patches Per Cederqvist
2014-05-13 22:09 ` Jeff Sipek
2014-05-14 8:56 ` Per Cederqvist
2014-05-14 13:06 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 17/29] "guilt graph" no longer loops when no patches are applied Per Cederqvist
2014-05-13 21:53 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 18/29] guilt-graph: Handle commas in branch names Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 19/29] Check that "guilt graph" works when working on a branch with a comma Per Cederqvist
2014-05-13 21:36 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 20/29] "guilt graph": Handle patch names containing quotes Per Cederqvist
2014-05-13 21:49 ` Jeff Sipek
2014-05-13 20:30 ` [GUILT v2 21/29] The log.decorate setting should not influence import-commit Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 22/29] The log.decorate setting should not influence patchbomb Per Cederqvist
2014-05-13 20:30 ` [GUILT v2 23/29] The log.decorate setting should not influence guilt rebase Per Cederqvist
2014-05-13 20:31 ` [GUILT v2 24/29] disp no longer processes backslashes Per Cederqvist
2014-05-13 21:44 ` Jeff Sipek
2014-05-13 20:31 ` [GUILT v2 25/29] "guilt push" now fails when there are no more patches to push Per Cederqvist
2014-05-13 21:41 ` Jeff Sipek
2014-05-14 9:27 ` Per Cederqvist
2014-05-14 13:07 ` Jeff Sipek
2014-05-13 20:31 ` [GUILT v2 26/29] "guilt pop" now fails when there are no more patches to pop Per Cederqvist
2014-05-13 22:23 ` Jeff Sipek
2014-05-13 20:31 ` [GUILT v2 27/29] Minor testsuite fix Per Cederqvist
2014-05-13 20:31 ` [GUILT v2 28/29] Added guilt.reusebranch configuration option Per Cederqvist
2014-05-14 15:53 ` Jeff Sipek
2014-05-15 7:37 ` Per Cederqvist
2014-05-15 14:29 ` Jeff Sipek
2014-05-13 20:31 ` [GUILT v2 29/29] Added a short style guide, and Emacs settings Per Cederqvist
2014-05-13 21:00 ` Jeff Sipek
2014-05-13 20:45 ` [GUILT v2 00/29] Teach guilt import-commit how to create legal patch names, and more Theodore Ts'o
2014-05-13 20:54 ` Jeff Sipek
2014-05-13 21:29 ` Per Cederqvist
2014-05-14 9:49 ` Per Cederqvist
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140515230017.GC1334@meili.valhalla.31bits.net \
--to=jeffpc@josefsipek.net \
--cc=cederp@opera.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.