]> asedeno.scripts.mit.edu Git - git-svn-keywords.git/commitdiff
Don't assume HEAD maps to an svn revision.
authorAlejandro R. Sedeño <asedeno@mit.edu>
Fri, 30 Oct 2009 21:30:37 +0000 (17:30 -0400)
committerAlejandro R. Sedeño <asedeno@mit.edu>
Fri, 30 Oct 2009 21:30:37 +0000 (17:30 -0400)
git-svn-keywords.py

index 521d0447394e08d85739750d817d838d9bdac3c5..c09d0452de26c8446a3f9264904b49054cbef27e 100755 (executable)
@@ -157,10 +157,17 @@ def get_path_info(g, path):
     info_dict['Revision'] = file_rev
     return info_dict
 
+def find_last_svn_rev(treeish, parent=0):
+    svnRev = g.git.svn('find-rev', "%s~%i" % (treeish, parent))
+    if svnRev:
+        return int(svnRev)
+    else:
+        return find_last_svn_rev(treeish, parent+1)
+
 # Do the work.
 def smudge(g, options):
     parse_svn_unhandled(g)
-    rev_head = int(g.git.svn('find-rev', 'HEAD'))
+    rev_head = find_last_svn_rev('HEAD')
     url_base = g.git.svn('info', '--url')
 
     FILES.read(FILES_PATH)