Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 8412:2bf4f380f6ab
commitctx: eliminate some variables
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 14 May 2009 13:21:20 -0500 |
parents | 4d5916358abd |
children | 2348ce25849b |
comparison
equal
deleted
inserted
replaced
8411:4d5916358abd | 8412:2bf4f380f6ab |
---|---|
824 Revision information is passed via the context argument. | 824 Revision information is passed via the context argument. |
825 If editor is supplied, it is called to get a commit message. | 825 If editor is supplied, it is called to get a commit message. |
826 If working is set, the working directory is affected. | 826 If working is set, the working directory is affected. |
827 """ | 827 """ |
828 | 828 |
829 tr = None | 829 tr = lock = None |
830 valid = 0 # don't save the dirstate if this isn't set | 830 valid = 0 # don't save the dirstate if this isn't set |
831 lock = None | |
832 commit = sorted(ctx.modified() + ctx.added()) | |
833 remove = ctx.removed() | 831 remove = ctx.removed() |
834 extra = ctx.extra().copy() | |
835 branchname = extra['branch'] | |
836 user = ctx.user() | |
837 text = ctx.description() | |
838 | 832 |
839 p1, p2 = [p.node() for p in ctx.parents()] | 833 p1, p2 = [p.node() for p in ctx.parents()] |
840 c1 = self.changelog.read(p1) | 834 c1 = self.changelog.read(p1) |
841 c2 = self.changelog.read(p2) | 835 c2 = self.changelog.read(p2) |
842 m1 = self.manifest.read(c1[0]).copy() | 836 m1 = self.manifest.read(c1[0]).copy() |
843 m2 = self.manifest.read(c2[0]) | 837 m2 = self.manifest.read(c2[0]) |
844 | 838 user = ctx.user() |
845 xp1 = hex(p1) | 839 |
846 if p2 == nullid: xp2 = '' | 840 xp1, xp2 = hex(p1), hex(p2) |
847 else: xp2 = hex(p2) | 841 if p2 == nullid: |
842 xp2 = '' | |
848 self.hook("precommit", throw=True, parent1=xp1, parent2=xp2) | 843 self.hook("precommit", throw=True, parent1=xp1, parent2=xp2) |
849 | 844 |
850 lock = self.lock() | 845 lock = self.lock() |
851 try: | 846 try: |
852 tr = self.transaction() | 847 tr = self.transaction() |
854 | 849 |
855 # check in files | 850 # check in files |
856 new = {} | 851 new = {} |
857 changed = [] | 852 changed = [] |
858 linkrev = len(self) | 853 linkrev = len(self) |
859 for f in commit: | 854 for f in sorted(ctx.modified() + ctx.added()): |
860 self.ui.note(f + "\n") | 855 self.ui.note(f + "\n") |
861 try: | 856 try: |
862 fctx = ctx[f] | 857 fctx = ctx[f] |
863 new[f] = self._filecommit(fctx, m1, m2, linkrev, trp, | 858 new[f] = self._filecommit(fctx, m1, m2, linkrev, trp, |
864 changed) | 859 changed) |
890 del m1[f] | 885 del m1[f] |
891 removed1.append(f) | 886 removed1.append(f) |
892 mn = self.manifest.add(m1, trp, linkrev, c1[0], c2[0], | 887 mn = self.manifest.add(m1, trp, linkrev, c1[0], c2[0], |
893 (new, removed1)) | 888 (new, removed1)) |
894 | 889 |
890 text = ctx.description() | |
895 if editor: | 891 if editor: |
896 text = editor(self, ctx, added, updated, removed) | 892 text = editor(self, ctx, added, updated, removed) |
897 | 893 |
898 lines = [line.rstrip() for line in text.rstrip().splitlines()] | 894 lines = [line.rstrip() for line in text.rstrip().splitlines()] |
899 while lines and not lines[0]: | 895 while lines and not lines[0]: |
900 del lines[0] | 896 del lines[0] |
901 text = '\n'.join(lines) | 897 text = '\n'.join(lines) |
902 | 898 |
903 self.changelog.delayupdate() | 899 self.changelog.delayupdate() |
904 n = self.changelog.add(mn, changed + removed, text, trp, p1, p2, | 900 n = self.changelog.add(mn, changed + removed, text, trp, p1, p2, |
905 user, ctx.date(), extra) | 901 user, ctx.date(), ctx.extra().copy()) |
906 p = lambda: self.changelog.writepending() and self.root or "" | 902 p = lambda: self.changelog.writepending() and self.root or "" |
907 self.hook('pretxncommit', throw=True, node=hex(n), parent1=xp1, | 903 self.hook('pretxncommit', throw=True, node=hex(n), parent1=xp1, |
908 parent2=xp2, pending=p) | 904 parent2=xp2, pending=p) |
909 self.changelog.finalize(trp) | 905 self.changelog.finalize(trp) |
910 tr.close() | 906 tr.close() |