diff options
author | Richard Maw <richard.maw@gmail.com> | 2017-06-17 17:50:15 +0100 |
---|---|---|
committer | Richard Maw <richard.maw@gmail.com> | 2017-06-17 17:50:15 +0100 |
commit | 317740cc2b35d0cf9c716a64d2984a5f14c624c0 (patch) | |
tree | fb42c924a7b582e9cc178a238ebbb1ec23a36cd6 /bin | |
parent | 7c992daade9445584d2f233c722500d426546361 (diff) | |
download | gitano-317740cc2b35d0cf9c716a64d2984a5f14c624c0.tar.gz |
Centralise patterns into a single module
This has moved every pattern that wasn't obviously just for string manipulation
and has in the process of doing so reworked some logic
so that fewer distinct patterns are used,
and the repository path normalisation has been unified.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/gitano-post-receive-hook.in | 3 | ||||
-rw-r--r-- | bin/gitano-pre-receive-hook.in | 3 | ||||
-rw-r--r-- | bin/gitano-setup.in | 9 |
3 files changed, 9 insertions, 6 deletions
diff --git a/bin/gitano-post-receive-hook.in b/bin/gitano-post-receive-hook.in index 42c416c..0751535 100644 --- a/bin/gitano-post-receive-hook.in +++ b/bin/gitano-post-receive-hook.in @@ -36,6 +36,7 @@ -- @@GITANO_LUA_PATH local gitano = require "gitano" +local pat = require "gitano.patterns" local gall = require "gall" local luxio = require "luxio" local sio = require "luxio.simple" @@ -113,7 +114,7 @@ end -- emails, ensuring that new rules are applied, etc) local updates = {} -for oldsha, newsha, refname in (sio.stdin:read("*a")):gmatch("([^ ]+) ([^ ]+) ([^\n]+)\n?") do +for oldsha, newsha, refname in (sio.stdin:read("*a")):gmatch(pat.GITHOOK_PARSE_CHANGESET) do gitano.log.ddebug("post-receive:", oldsha, newsha, refname) updates[refname] = {oldsha, newsha, oldsha=oldsha, newsha=newsha} end diff --git a/bin/gitano-pre-receive-hook.in b/bin/gitano-pre-receive-hook.in index c244c47..19483d1 100644 --- a/bin/gitano-pre-receive-hook.in +++ b/bin/gitano-pre-receive-hook.in @@ -36,6 +36,7 @@ -- @@GITANO_LUA_PATH local gitano = require "gitano" +local pat = require "gitano.patterns" local gall = require "gall" local luxio = require "luxio" local sio = require "luxio.simple" @@ -116,7 +117,7 @@ end -- you. local updates = {} -for oldsha, newsha, refname in (sio.stdin:read("*a")):gmatch("([^ ]+) ([^ ]+) ([^\n]+)") do +for oldsha, newsha, refname in (sio.stdin:read("*a")):gmatch(pat.GITHOOK_PARSE_CHANGESET) do gitano.log.ddebug("pre-receive:", oldsha, newsha, refname) updates[refname] = {oldsha, newsha, oldsha=oldsha, newsha=newsha} end diff --git a/bin/gitano-setup.in b/bin/gitano-setup.in index 86b2e08..174b6b8 100644 --- a/bin/gitano-setup.in +++ b/bin/gitano-setup.in @@ -36,6 +36,7 @@ -- @@GITANO_LUA_PATH local gitano = require "gitano" +local pat = require "gitano.patterns" local gall = require "gall" local luxio = require "luxio" local sio = require "luxio.simple" @@ -170,8 +171,8 @@ function file_exists(path) return true end -function validate_name(n) - if not n:match("^[a-z_][a-z0-9_%-]*$") then +function validate_name(n, pattern) + if not n:match(pattern) then error(gitano.i18n.expand("SETUP_ERROR_INVALID_NAME", { name=n }), 2) end end @@ -214,7 +215,7 @@ ask_for("paths.repos", gitano.i18n.expand("SETUP_PATHS_REPOS_INFO"), get("paths.home") .. "/repos") validate_name(ask_for("admin.username", gitano.i18n.expand("SETUP_ADMIN_USERNAME_INFO"), - "admin")) + "admin"), pat.VALID_USERNAME) ask_for("admin.realname", gitano.i18n.expand("SETUP_ADMIN_REALNAME_INFO"), "Administrator") @@ -222,7 +223,7 @@ ask_for("admin.email", gitano.i18n.expand("SETUP_ADMIN_EMAIL_INFO"), "admin@administrator.local") validate_name(ask_for("admin.keyname", gitano.i18n.expand("SETUP_ADMIN_KEYNAME_INFO"), - "default")) + "default"), pat.VALID_SSHKEYNAME) ask_for("site.name", gitano.i18n.expand("SETUP_SITE_NAME_INFO"), "a random Gitano instance") ask_for("log.prefix", gitano.i18n.expand("SETUP_LOG_PREFIX_INFO"), "gitano") |