Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/hg.py @ 901:120cba94d5aa
Change repo.comit to return None on error or the new revision number on
success
This allows the caller to correctly record the new revision number
author | mason@suse.com |
---|---|
date | Sun, 14 Aug 2005 20:09:01 -0800 |
parents | ba8cf1f2210c |
children | 71be6dd282d1 |
comparison
equal
deleted
inserted
replaced
900:ba8cf1f2210c | 901:120cba94d5aa |
---|---|
873 commit = c + a | 873 commit = c + a |
874 remove = d | 874 remove = d |
875 | 875 |
876 if not commit and not remove and not force: | 876 if not commit and not remove and not force: |
877 self.ui.status("nothing changed\n") | 877 self.ui.status("nothing changed\n") |
878 return | 878 return None |
879 | 879 |
880 if not self.hook("precommit"): | 880 if not self.hook("precommit"): |
881 return 1 | 881 return None |
882 | 882 |
883 p1, p2 = self.dirstate.parents() | 883 p1, p2 = self.dirstate.parents() |
884 c1 = self.changelog.read(p1) | 884 c1 = self.changelog.read(p1) |
885 c2 = self.changelog.read(p2) | 885 c2 = self.changelog.read(p2) |
886 m1 = self.manifest.read(c1[0]) | 886 m1 = self.manifest.read(c1[0]) |
930 edittext = "\n" + "HG: manifest hash %s\n" % hex(mn) | 930 edittext = "\n" + "HG: manifest hash %s\n" % hex(mn) |
931 edittext += "".join(["HG: changed %s\n" % f for f in new]) | 931 edittext += "".join(["HG: changed %s\n" % f for f in new]) |
932 edittext += "".join(["HG: removed %s\n" % f for f in remove]) | 932 edittext += "".join(["HG: removed %s\n" % f for f in remove]) |
933 edittext = self.ui.edit(edittext) | 933 edittext = self.ui.edit(edittext) |
934 if not edittext.rstrip(): | 934 if not edittext.rstrip(): |
935 return 1 | 935 return None |
936 text = edittext | 936 text = edittext |
937 | 937 |
938 user = user or self.ui.username() | 938 user = user or self.ui.username() |
939 n = self.changelog.add(mn, new, text, tr, p1, p2, user, date) | 939 n = self.changelog.add(mn, new, text, tr, p1, p2, user, date) |
940 | |
941 tr.close() | 940 tr.close() |
942 | 941 |
943 self.dirstate.setparents(n) | 942 self.dirstate.setparents(n) |
944 self.dirstate.update(new, "n") | 943 self.dirstate.update(new, "n") |
945 self.dirstate.forget(remove) | 944 self.dirstate.forget(remove) |
946 | 945 |
947 if not self.hook("commit", node=hex(n)): | 946 if not self.hook("commit", node=hex(n)): |
948 return 1 | 947 return None |
948 return n | |
949 | 949 |
950 def walk(self, node = None, files = [], match = util.always): | 950 def walk(self, node = None, files = [], match = util.always): |
951 if node: | 951 if node: |
952 for fn in self.manifest.read(self.changelog.read(node)[0]): | 952 for fn in self.manifest.read(self.changelog.read(node)[0]): |
953 if match(fn): yield 'm', fn | 953 if match(fn): yield 'm', fn |