# HG changeset patch
# User Ian Dees <undees@gmail.com>
# Date 1242599358 25200
#      Sun May 17 15:29:18 2009 -0700
# Node ID 5b702bbf078f30ae0355539151e89b7dfcca0f72
# Parent  9dafb9ac24fffdfd0f93ce4fbb5abc123b4153e5
local git branches to remotes

diff --git a/git_handler.py b/git_handler.py
--- a/git_handler.py
+++ b/git_handler.py
@@ -124,6 +124,7 @@
     def push(self, remote_name):
         self.ui.status(_("pushing to : %s\n") % remote_name)
         self.export()
+        self.update_remote_references(remote_name)
         self.upload_pack(remote_name)
 
     def remote_add(self, remote_name, git_url):
@@ -174,6 +175,13 @@
         c = self.map_git_get(hex(self.repo.changelog.tip()))
         self.git.set_ref('refs/heads/master', c)
 
+    def update_remote_references(self, remote_name):
+        def is_local_head(item): return item[0].startswith('refs/heads')
+        refs = self.git.get_refs()
+        heads = dict(filter(is_local_head, refs.items()))
+
+        self.git.set_remote_refs(heads, remote_name)
+
     def export_git_objects(self):
         self.ui.status(_("exporting git objects\n"))
         total = len(self.repo.changelog)