mercurial/hg.py
changeset 608 d2994b5298fb
parent 588 0c3bae18403b
child 609 2acf1f5df2e6
equal deleted inserted replaced
607:94744f6fe0e7 608:d2994b5298fb
   159     def read(self, node):
   159     def read(self, node):
   160         return self.extract(self.revision(node))
   160         return self.extract(self.revision(node))
   161 
   161 
   162     def add(self, manifest, list, desc, transaction, p1=None, p2=None,
   162     def add(self, manifest, list, desc, transaction, p1=None, p2=None,
   163                   user=None, date=None):
   163                   user=None, date=None):
   164         user = (user or
       
   165                 os.environ.get("HGUSER") or
       
   166                 os.environ.get("EMAIL") or
       
   167                 (os.environ.get("LOGNAME",
       
   168                                os.environ.get("USERNAME", "unknown"))
       
   169                  + '@' + socket.getfqdn()))
       
   170         date = date or "%d %d" % (time.time(), time.timezone)
   164         date = date or "%d %d" % (time.time(), time.timezone)
   171         list.sort()
   165         list.sort()
   172         l = [hex(manifest), user, date] + list + ["", desc]
   166         l = [hex(manifest), user, date] + list + ["", desc]
   173         text = "\n".join(l)
   167         text = "\n".join(l)
   174         return self.addrevision(text, transaction, self.count(), p1, p2)
   168         return self.addrevision(text, transaction, self.count(), p1, p2)
   590                 except:
   584                 except:
   591                     # deleted from p2?
   585                     # deleted from p2?
   592                     pass
   586                     pass
   593 
   587 
   594         mnode = self.manifest.add(mm, mfm, tr, linkrev, c1[0], c2[0])
   588         mnode = self.manifest.add(mm, mfm, tr, linkrev, c1[0], c2[0])
       
   589         user = user or self.ui.username()
   595         n = self.changelog.add(mnode, files, text, tr, p1, p2, user, date)
   590         n = self.changelog.add(mnode, files, text, tr, p1, p2, user, date)
   596         tr.close()
   591         tr.close()
   597         if update_dirstate:
   592         if update_dirstate:
   598             self.dirstate.setparents(n, nullid)
   593             self.dirstate.setparents(n, nullid)
   599 
   594 
   673             edittext = self.ui.edit(edittext)
   668             edittext = self.ui.edit(edittext)
   674             if not edittext.rstrip():
   669             if not edittext.rstrip():
   675                 return 1
   670                 return 1
   676             text = edittext
   671             text = edittext
   677 
   672 
       
   673         user = user or self.ui.username()
   678         n = self.changelog.add(mn, new, text, tr, p1, p2, user, date)
   674         n = self.changelog.add(mn, new, text, tr, p1, p2, user, date)
   679 
   675 
   680         if not self.hook("commit", node=hex(n)):
   676         if not self.hook("commit", node=hex(n)):
   681             return 1
   677             return 1
   682 
   678 
  1301 
  1297 
  1302         self.ui.note("resolving %s\n" % fn)
  1298         self.ui.note("resolving %s\n" % fn)
  1303         self.ui.debug("file %s: other %s ancestor %s\n" %
  1299         self.ui.debug("file %s: other %s ancestor %s\n" %
  1304                               (fn, short(other), short(base)))
  1300                               (fn, short(other), short(base)))
  1305 
  1301 
  1306         cmd = os.environ.get("HGMERGE", "hgmerge")
  1302         cmd = self.ui.config("ui", "merge") or \
       
  1303               os.environ.get("HGMERGE", "hgmerge")
  1307         r = os.system("%s %s %s %s" % (cmd, a, b, c))
  1304         r = os.system("%s %s %s %s" % (cmd, a, b, c))
  1308         if r:
  1305         if r:
  1309             self.ui.warn("merging %s failed!\n" % fn)
  1306             self.ui.warn("merging %s failed!\n" % fn)
  1310 
  1307 
  1311         os.unlink(b)
  1308         os.unlink(b)