#!/usr/bin/env bash name=blobs/commit.d desc='Add a directory to the repository' copyright=('2009-2010, 2015-2016 Luke Shumaker') license='AGPLv3+' # This file is part of rvs. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . usage=('DIRECTORY') . "${0%/*}/_shlib.sh" main() { [[ $# -eq 1 ]] || errusage dir="$1" tmpfile="$(mktemp -t "${0##*/}.XXXXXXXXXX")" trap 'rm -f -- "$tmpfile"' EXIT ( cd "$dir" shopt -s dotglob nullglob for file in *; do id="$("$RVS" commit "$file")" stat -c $'%a\t%u (%U)\t%g (%G)\t' -- "$file" printf $'%s\t%s\n' "$id" "$file" done > "$tmpfile" ) "$RVS" commit.f "$tmpfile" 'd' } main "$@"