aboutsummaryrefslogtreecommitdiffstats
path: root/status.go
diff options
context:
space:
mode:
authorkuba-- <kuba@sourced.tech>2018-08-29 14:56:25 +0200
committerkuba-- <kuba@sourced.tech>2018-08-29 14:56:25 +0200
commit75fa41d21c8d27ee0d5d7c7cb7ceeb2b765be330 (patch)
tree79b51316a608a848f60360fd76f1ca671c471579 /status.go
parent0167dabb78412ed5fb76cb4b174a6708c3be52b8 (diff)
downloadgo-git-75fa41d21c8d27ee0d5d7c7cb7ceeb2b765be330.tar.gz
Add Status.IsUntracked function
Signed-off-by: kuba-- <kuba@sourced.tech>
Diffstat (limited to 'status.go')
-rw-r--r--status.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/status.go b/status.go
index ef8a500..ecbf793 100644
--- a/status.go
+++ b/status.go
@@ -1,7 +1,10 @@
package git
-import "fmt"
-import "bytes"
+import (
+ "bytes"
+ "fmt"
+ "path/filepath"
+)
// Status represents the current status of a Worktree.
// The key of the map is the path of the file.
@@ -17,6 +20,12 @@ func (s Status) File(path string) *FileStatus {
return s[path]
}
+// IsUntracked checks if file for given path is 'Untracked'
+func (s Status) IsUntracked(path string) bool {
+ stat, ok := (s)[filepath.ToSlash(path)]
+ return ok && stat.Worktree == Untracked
+}
+
// IsClean returns true if all the files aren't in Unmodified status.
func (s Status) IsClean() bool {
for _, status := range s {