TBR: jiri: Fix bug introduced in cl/18220
The symlink mode bit needs to be bitmasked out before checking.
It's not clear why the tests don't cover this case, but we need a
fix soon.
Change-Id: Ief1ff62b9c03cacd402ced45dd0943ed20a2fea8
diff --git a/project/project.go b/project/project.go
index d5cc5c7..8aa4152 100644
--- a/project/project.go
+++ b/project/project.go
@@ -903,12 +903,12 @@
// Drop down to create the symlink below.
case err != nil:
return fmt.Errorf("Failed to stat old bin dir: %v", err)
- case info.Mode() == os.ModeSymlink:
+ case info.Mode()&os.ModeSymlink != 0:
link, err := jirix.NewSeq().Readlink(oldDir)
if err != nil {
return fmt.Errorf("Failed to read link from old bin dir: %v", err)
}
- if link == newDir {
+ if filepath.Clean(link) == newDir {
// The old dir is already correctly symlinked to the new dir.
return nil
}