Commits

lakin.wecker committed 0ad5497

initial version of removing crappy parts of the svn st.

Comments (0)

Files changed (1)

baste/__init__.py

 
 #-------------------------------------------------------------------------------
 def local_changes(repos):
-    
     changes = []
     for repo in repos:
         new_changes = repo.status(capture=True)
         if isinstance(repo, Git):
             new_changes = new_changes.replace('nothing to commit (working directory clean)', '')
-            new_changes = new_changes.replace('# On branch master\n', '') 
+            new_changes = new_changes.replace('# On branch master\n', '')
+
+        # Do the funky svn parsing dance. ;)
+        if isinstance(repo, Subversion):
+            updated_changes = []
+            for line in new_changes.split('\n'):
+                stripped = line.strip()
+
+                # skip random lines about externals
+                if stripped.startswith("Performing status on external item at '"):
+                    continue
+                # skip lines listing externals.
+                parts = [part.strip() for part in stripped.split(' ') if part]
+                if len(parts) > 0 and parts[0] == "X":
+                    continue
+
+                updated_changes.append(line)
+            new_changes = '\n'.join(updated_changes)
+
         if new_changes:
             changes.append(new_changes)
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.