Исходный вопрос требует, чтобы XYZ / ABC / (* файлы) стали ABC / ABC / (* файлами). После реализации принятого ответа для моего собственного кода, я заметил, что он на самом деле меняет XYZ / ABC / (* файлы) на ABC / (* файлы). Страница руководства ветки фильтра даже говорит:
Результат будет содержать этот каталог (и только этот) в качестве корня проекта . "
Другими словами, он продвигает папку верхнего уровня «вверх» на один уровень. Это важное различие, потому что, например, в моей истории я переименовал папку верхнего уровня. Продвигая папки «вверх» на один уровень, git теряет непрерывность на коммите, где я сделал переименование.
Мой ответ на этот вопрос заключается в том, чтобы сделать 2 копии репозитория и вручную удалить папки, которые вы Я хочу сохранить в каждом. Страница man поддерживает меня следующим образом:
[...] избегайте использования [этой команды], если достаточно простого коммита для решения вашей проблемы
В Rails 3.0 вы можете использовать проверку электронной почты без регулярного выражения, используя гем Mail .
Вот моя реализация ( упакована как гем ).
Не усложняйте это сложнее, чем должно быть. Ваша функция не критична; проверка - это всего лишь базовый шаг в здравом уме, чтобы отловить опечатки. Я бы сделал это с помощью простого регулярного выражения и не тратил циклы ЦП на что-то слишком сложное:
/\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/
Это было адаптировано из http://www.regular-expressions.info/email.html - которую вам следует прочитать, если вы действительно хотите знать все компромиссы. Если вам нужно более правильное и гораздо более сложное, полностью совместимое с RFC822 регулярное выражение, это тоже на этой странице. Но суть в следующем: вам не обязательно понимать это полностью.
Если адрес проходит проверку, вы отправите электронное письмо. Если электронная почта не удалась, вы получите сообщение об ошибке. В этот момент вы можете сказать пользователю «Извините, ваш друг не получил это,
Стоимость ложного срабатывания при проверке невысока. Преимущество лучшей проверки также невелико. Щедро проверяйте и беспокоитесь об ошибках, когда они произойдут.
Стоимость ложного срабатывания при проверке невысока. Преимущество лучшей проверки также невелико. Щедро проверяйте и беспокоитесь об ошибках, когда они произойдут.
There are basically 3 most common options:
If you don't want to use both validates_email_veracity_of and token generation, I'd go with old school regexp checking.