Как я фиксирую в Подверсии и добавляю новые файлы/папки и удаляю старые файлы/папки автоматически?

onload событие считают надлежащим способом сделать это, но если Вы не возражаете пользоваться библиотекой JavaScript, $ jQuery (документ) .ready () еще лучше.

$(document).ready(function(){
  // manipulate the DOM all you want here
});

преимущества:

  1. $ Вызова (документ) .ready () как много раз, поскольку Вы хотите зарегистрировать дополнительный код для выполнения - можно только установить window.onload однажды.
  2. $ (документ) .ready () действия происходят, как только DOM завершен - window.onload, должен ожидать изображений и такого.

я надеюсь, что не становлюсь Парнем, Который Предлагает jQuery По Каждому Вопросу о JavaScript, но это действительно является большим.

10
задан Peter Mortensen 18 December 2016 в 12:15
поделиться

4 ответа

В стандартных инструментах SVN такого нет - это упомянуто в FAQ как плохо.

3
ответ дан 3 December 2019 в 16:10
поделиться

Команды SVN нет, но я уверен, что есть сценарий или два, которые могут сканировать неверсированные / отсутствующие файлы и выдавать соответствующие команды ...

Я нашел здесь: http://gael-varoquaux.info/computers/svnautocommit/index.html

Добавление полного сценария

#!/bin/bash


#------------------------------- Subroutines ---------------------------------
usage(){
echo " Usage: $(basename $0) PATH"
echo ""
echo "Automatically commits the changes of svn working copy located in PATH."
echo "The new files are automatically added and the files that have been removed"
echo "are removed."
echo ""
echo "By Gael Varoquaux"
}

#------------------------------- Process the options -------------------------
if [ $# -eq 1 ]
then
    workingdir="$1"
else
    usage
    exit 1
fi

if ! cd $workingdir
then
    echo $workingdir is not a accessible path.
    usage
    exit 1
fi

#------------------------------- Find out what has changed -------------------

# A warning if this fails :
echo "SVN autocommit failed" > $HOME/local/motd

svnstatus=$(svn status $workingdir)
added=$(printf "$svnstatus" | sed -n 's/^[A?] *\(.*\)/\1/p')
removed=$(printf "$svnstatus" | sed -n 's/^! *\(.*\)/\1/p')

if [ "x$added" != "x" ]
then
    echo adding "$added" to repository
    svn add $added
fi

if [ "x$removed" != "x" ]
then
    echo removing "$removed" to repository
    svn remove $removed
fi

svn commit -m "autocommit" && rm $HOME/local/motd

К сожалению, версии Python там нет.

Вы можете изменить сценарий, чтобы беру параметр для комментариев, но это только начало. Вы также можете изменить его, чтобы упростить добавление / удаление за вас и выполнение фиксации вручную.

3
ответ дан 3 December 2019 в 16:10
поделиться

Чтобы добавить:

svn status | grep "^\?" | sed -e 's/? *//' | sed -e 's/ /\\ /g' | xargs svn add

Кому remove:

svn status | grep "^\!" | sed -e 's/! *//' | sed -e 's/ /\\ /g' | xargs svn remove

У меня отлично работает.

3
ответ дан 3 December 2019 в 16:10
поделиться

Короче нет. Вы должны svn добавить и svn удалить каждый элемент.

Если вы не привязаны к SVN, некоторые другие системы управления версиями предлагают эту функцию; например, Mercurial hg addremove .

0
ответ дан 3 December 2019 в 16:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: