| Ticket UUID: | 2e924cf9b74e7bc777c0f896eda0349e1bf123c7 | ||
| Title: | Change recursive add to allow inclusion of files starting with dot | ||
| Status: | Fixed | Type: | Feature_Request |
| Severity: | Minor | Priority: | |
| Subsystem: | Resolution: | Fixed | |
| Last Modified: | 2009-08-14 16:20:50 | ||
| Version Found In: | 9cbef7a104e5d6168895a1ab99ad0a68484be369 | ||
| Description & Comments: | |||
Currently a recursive add ignores dotfiles. This is annoying when adding for instance an eclipse project on windows (eclipse uses directories starting with . for project settings)
I propose to add a flag -dotfiles to add so that when specified .files and .dir will be added as well.
Following diff adds the option to fossil add:
@@ -65,21 +65,24 @@
** All content of the zDir directory to the SFILE table.
*/
void add_directory_content(const char *zDir){
DIR *d;
int origSize;
+ int dotFlag;
struct dirent *pEntry;
Blob path;
+ dotFlag = find_option("dotfiles","d",0)!=0;
blob_zero(&path);
blob_append(&path, zDir, -1);
origSize = blob_size(&path);
d = opendir(zDir);
if( d ){
while( (pEntry=readdir(d))!=0 ){
char *zPath;
- if( pEntry->d_name[0]=='.' ) continue;
+ if( pEntry->d_name[0]=='.' && !dotFlag) continue;
+ if( strcmp(pEntry->d_name, "..")==0 || strcmp(pEntry->d_name, ".")==0 ) continue;
blob_appendf(&path, "/%s", pEntry->d_name);
zPath = blob_str(&path);
if( file_isdir(zPath)==1 ){
add_directory_content(zPath);
}else if( file_isfile(zPath) ){
@@ -112,10 +115,14 @@
**
** Usage: %fossil add FILE...
**
** Make arrangements to add one or more files to the current checkout
** at the next commit.
+**
+** When adding files recursively, by default files or directories
+** starting with a . (dot), will not be added. This behaviour can be changed
+** by the optional -dotfiles flag.
*/
void add_cmd(void){
int i;
int vid;
Blob repo;
drh added on 2009-08-14 16:20:50: | |||