2016-04-28 3 views
1

Я хочу белый список несколько каталогов и файлов:Какое программное обеспечение для управления версиями позволяет использовать белые списки?

/app 
/config 
/db 
Gemfile 

идти к системе управления версиями, git, не позволяет отслеживать каталог:

# .gitignore: 
* # ignore all: suppose I prefer whitelisting 
# but not the following things: 
!/app/* 
!/config/* 
!/db/* 
!Gemfile 

Не работает: git видит только Gemfile.

Вы случайно не знаете, разрешено ли какое-либо программное обеспечение для управления версиями для управления белыми списками и файлами?

Edit 1

Попытка применить https://stackoverflow.com/a/8025106/788700:

# Ignore everything: 
* 
# Don't ignore directories, so we can recurse into them: 
!*/ 
# Don't ignore these dirs: 
!app/* 
!config/* 
!db/* 
# Don't ignore .gitignore and Gemfile: 
!.gitignore 
!Gemfile 

- не отслеживает в app/ каталоги, config/ и db/.

Edit 2: решаемые

Использование a comment из приведенного выше ответа:

# Ignore everything: 
* 


# Don't ignore directories, so we can recurse into them: 
!*/ 


# Don't ignore these dirs: 
!app/* 
!app/**/* 

!config/* 
!config/**/* 

!db/* 
!db/**/* 


# Don't ignore .gitignore and Gemfile: 
!.gitignore 
!Gemfile 

Кажется, работает.

+0

Непонятно, это только qu о системах контроля версий, отличных от Git? (Ваша предпосылка неверна, Git позволяет это сделать, но вы должны игнорировать каталог, в котором вы управляете файлами _might_, потому что Git не переходит в игнорируемые каталоги, даже если у вас есть последующие шаблоны, которые могут соответствовать файлам в эти каталоги.) –

+0

@CharlesBailey: yeap, если кто-то игнорирует все директории, включая все дочерние директории, он работает, но с моей точки зрения он неприменим (потому что список дочерних dir будет сильно меняться). Я просто ищу любое решение, которое позволит «рекурсивно» белить списки. – Adobe

+2

Что такое «белый список» в человеческих терминах? –

ответ

2
  1. Гит | Mercurial не отслеживает пустые каталоги, но если вы добавите манекен-файлы в директории - они будут отслеживаться (и успешно unignored)
  2. Гит | Mercurial будет применять игнора-шаблоны только для нового файлы (не отслеживаются), таким образом - если вы проигнорируете все, но добавьте некоторые объекты вручную, они будут отслеживаться независимо от параметра * ignore-file (но см. выше)
  3. Subversion может отслеживать пустые каталоги, но svn: игнорируют узоры, более слабые, чем эквивалентные механики в Git | Mercurial
+0

Почему downvote? Этот ответ вполне правильный. – dOxxx