История изменений
Исправление mersinvald, (текущая версия) :
Все, вопрос решен.
Сделал так:
#!/bin/bash
gitbackup="git --git-dir=.git_backup --work-tree=./"
# Find all submodules recursively
SUBMODULES=$(find ./ -type d -name .git | xargs -n 1 dirname | grep -v Go | grep -v usr)
# Works as git submodule foreach, but can be used for non-git-submodule git trees
for module in $SUBMODULES; do
echo "Bundling $module"
pushd $module > /dev/null 2>&1
git bundle create ../.$(basename $module).bundle --all > /dev/null 2>&1
popd > /dev/null 2>&1
$gitbackup add $module/../.$(basename $module).bundle
done
# Trying to commit changes
$gitbackup commit -m "$(date)" > /dev/null 2>&1
# Checking if there were changes
if [ $? -eq 0 ]; then
# If so, bundling everything
echo "Created commit \"$(date)\" with updates"
echo "Bundling whole backup tree to ./.backup.bundle"
$gitbackup bundle create .backup.bundle -1 master > /dev/null 2>&1
else
echo "Nothing changed, nothing to update"
fi
UPD: надо бы, конечно, еще привинтить туда git hook, определяющий по mime что добавлять, а что нет, а то windcard'ами в gitignore как-то костыльно
Исправление mersinvald, :
Все, вопрос решен.
Сделал так:
#!/bin/bash
gitbackup="git --git-dir=.git_backup --work-tree=./"
# Find all submodules recursively
SUBMODULES=$(find ./ -type d -name .git | xargs -n 1 dirname | grep -v Go | grep -v usr)
# Works as git submodule foreach, but can be used for non-git-submodule git trees
for module in $SUBMODULES; do
echo "Bundling $module"
pushd $module > /dev/null 2>&1
git bundle create ../.$(basename $module).bundle --all > /dev/null 2>&1
popd > /dev/null 2>&1
$gitbackup add $module/../.$(basename $module).bundle
done
# Trying to commit changes
$gitbackup commit -m "$(date)" > /dev/null 2>&1
# Checking if there were changes
if [ $? -eq 0 ]; then
# If so, bundling everything
echo "Created commit \"$(date)\" with updates"
echo "Bundling whole backup tree to ./.backup.bundle"
$gitbackup bundle create .backup.bundle -1 master > /dev/null 2>&1
else
echo "Nothing changed, nothing to update"
fi
UPD: надо бы, конечно, еще привинтить туда git hook, определяющий по mime что добавлять, а что нет, а то windcard'ами в gitignore как-то костыльно
Исходная версия mersinvald, :
Все, вопрос решен.
Сделал так:
#!/bin/bash
gitbackup="git --git-dir=.git_backup --work-tree=./"
# Find all submodules recursively
SUBMODULES=$(find ./ -type d -name .git | xargs -n 1 dirname | grep -v Go | grep -v usr)
# Works as git submodule foreach, but can be used for non-git-submodule git trees
for module in $SUBMODULES; do
echo "Bundling $module"
pushd $module > /dev/null 2>&1
git bundle create ../.$(basename $module).bundle --all > /dev/null 2>&1
popd > /dev/null 2>&1
$gitbackup add $module/../.$(basename $module).bundle
done
# Trying to commit changes
$gitbackup commit -m "$(date)" > /dev/null 2>&1
# Checking if there were changes
if [ $? -eq 0 ]; then
# If so, bundling everything
echo "Created commit \"$(date)\" with updates"
echo "Bundling whole backup tree to ./.backup.bundle"
$gitbackup bundle create .backup.bundle -1 master > /dev/null 2>&1
else
echo "Nothing changed, nothing to update"
fi