On Fri, Feb 27, 2009 at 1:56 AM, Allan McRae <allan@archlinux.org> wrote:
Xavier Chantry wrote:
Before this commit, the repo creation could fail after all packages have been added to the database. Now this will be detected before adding anything.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Patch looks good. Minor stylistic comments below
--- scripts/repo-add.sh.in | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index b12188c..a967506 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -326,9 +326,21 @@ for arg in "$@"; do fi msg "$(gettext "Extracting database to a temporary location...")" bsdtar -xf "$REPO_DB_FILE" -C "$gstmpdir" - elif [ "$cmd" == "repo-remove" ]; then - error "$(gettext "Repository file '%s' was not found.")" "$REPO_DB_FILE" - exit 1 + else + case "$cmd" in + repo-remove)
indent the lines within this block some more:
+ error "$(gettext "Repository file '%s' was not found.")" "$REPO_DB_FILE" + exit 1 + ;; + repo-add)
and these
+ # check if the file can be created (write permission, directory existence, etc) + if ! touch "$REPO_DB_FILE"; then + error "$(gettext "Repository file '%s' could not be created.")" "$REPO_DB_FILE" + exit 1 + fi + rm -f "$REPO_DB_FILE" + ;; + esac fi else if [ "$cmd" == "repo-add" ]; then
Yeah, I don't know why vim indent the blocks inside case like that... It is quite annoying. Is there a way to write case blocks more vim friendly, or some options / tricks I could use?