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: |