Browse Source

Don't start repo with non-directory root (fixes #276)

Jakob Borg 11 years ago
parent
commit
8fe546c4a2
4 changed files with 11 additions and 2 deletions
  1. 0 0
      auto/gui.files.go
  2. 4 0
      gui/index.html
  3. 4 1
      model/model.go
  4. 3 1
      scanner/walk.go

File diff suppressed because it is too large
+ 0 - 0
auto/gui.files.go


+ 4 - 0
gui/index.html

@@ -144,6 +144,10 @@
                         <th><span class="glyphicon glyphicon-folder-open"></span>&emsp;Folder</th>
                         <td class="text-right">{{repo.Directory}}</td>
                       </tr>
+                      <tr ng-if="model[repo.ID].invalid">
+                        <th><span class="glyphicon glyphicon-warning-sign"></span>&emsp;Error</th>
+                        <td class="text-right">{{model[repo.ID].invalid}}</td>
+                      </tr>
                       <tr>
                         <th><span class="glyphicon glyphicon-comment"></span>&emsp;Synchronization</th>
                         <td class="text-right">{{repoStatus(repo.ID)}}</td>

+ 4 - 1
model/model.go

@@ -628,7 +628,10 @@ func (m *Model) ScanRepos() {
 	for _, repo := range repos {
 		repo := repo
 		go func() {
-			m.ScanRepo(repo)
+			err := m.ScanRepo(repo)
+			if err != nil {
+				invalidateRepo(m.cfg, repo, err)
+			}
 			wg.Done()
 		}()
 	}

+ 3 - 1
scanner/walk.go

@@ -284,10 +284,12 @@ func (w *Walker) ignoreFile(patterns map[string][]string, file string) bool {
 }
 
 func checkDir(dir string) error {
-	if info, err := os.Stat(dir); err != nil {
+	if info, err := os.Lstat(dir); err != nil {
 		return err
 	} else if !info.IsDir() {
 		return errors.New(dir + ": not a directory")
+	} else if debug {
+		l.Debugln("checkDir", dir, info)
 	}
 	return nil
 }

Some files were not shown because too many files changed in this diff