--- C:/Documents and Settings/e1263830/Desktop/git.rb Fri Oct 28 11:42:58 2011 +++ C:/Documents and Settings/e1263830/Desktop/patched_git.rb Fri Oct 28 12:04:13 2011 @@ -142,15 +142,15 @@ end scm_brs.each do |br1| br = br1.to_s + rev = nil from_scmid = nil from_scmid = h["branches"][br]["last_scmid"] if h["branches"][br] h["branches"][br] ||= {} - scm.revisions('', from_scmid, br, {:reverse => true}) do |rev| - db_rev = find_changeset_by_name(rev.revision) - transaction do - if db_rev.nil? - save_revision(rev) - end + transaction do + scm.revisions('', from_scmid, br, {:reverse => true}) do |rev| + find_changeset_by_name(rev.revision) || save_revision(rev) + end + unless rev.nil? h["branches"][br]["last_scmid"] = rev.scmid merge_extra_info(h) self.save