Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 12270:166b9866580a
add: recurse into subrepositories with --subrepos/-S flag
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Mon, 13 Sep 2010 13:09:20 +0200 |
parents | fddacca3202e |
children | e0ee3e822a9a |
comparison
equal
deleted
inserted
replaced
12269:877236cdd437 | 12270:166b9866580a |
---|---|
767 # check current working dir | 767 # check current working dir |
768 return (self.p2() or self.branch() != self.p1().branch() or | 768 return (self.p2() or self.branch() != self.p1().branch() or |
769 self.modified() or self.added() or self.removed() or | 769 self.modified() or self.added() or self.removed() or |
770 (missing and self.deleted())) | 770 (missing and self.deleted())) |
771 | 771 |
772 def add(self, list): | 772 def add(self, list, prefix=""): |
773 join = lambda f: os.path.join(prefix, f) | |
773 wlock = self._repo.wlock() | 774 wlock = self._repo.wlock() |
774 ui, ds = self._repo.ui, self._repo.dirstate | 775 ui, ds = self._repo.ui, self._repo.dirstate |
775 try: | 776 try: |
776 rejected = [] | 777 rejected = [] |
777 for f in list: | 778 for f in list: |
778 p = self._repo.wjoin(f) | 779 p = self._repo.wjoin(f) |
779 try: | 780 try: |
780 st = os.lstat(p) | 781 st = os.lstat(p) |
781 except: | 782 except: |
782 ui.warn(_("%s does not exist!\n") % f) | 783 ui.warn(_("%s does not exist!\n") % join(f)) |
783 rejected.append(f) | 784 rejected.append(f) |
784 continue | 785 continue |
785 if st.st_size > 10000000: | 786 if st.st_size > 10000000: |
786 ui.warn(_("%s: up to %d MB of RAM may be required " | 787 ui.warn(_("%s: up to %d MB of RAM may be required " |
787 "to manage this file\n" | 788 "to manage this file\n" |
788 "(use 'hg revert %s' to cancel the " | 789 "(use 'hg revert %s' to cancel the " |
789 "pending addition)\n") | 790 "pending addition)\n") |
790 % (f, 3 * st.st_size // 1000000, f)) | 791 % (f, 3 * st.st_size // 1000000, join(f))) |
791 if not (stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode)): | 792 if not (stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode)): |
792 ui.warn(_("%s not added: only files and symlinks " | 793 ui.warn(_("%s not added: only files and symlinks " |
793 "supported currently\n") % f) | 794 "supported currently\n") % join(f)) |
794 rejected.append(p) | 795 rejected.append(p) |
795 elif ds[f] in 'amn': | 796 elif ds[f] in 'amn': |
796 ui.warn(_("%s already tracked!\n") % f) | 797 ui.warn(_("%s already tracked!\n") % join(f)) |
797 elif ds[f] == 'r': | 798 elif ds[f] == 'r': |
798 ds.normallookup(f) | 799 ds.normallookup(f) |
799 else: | 800 else: |
800 ds.add(f) | 801 ds.add(f) |
801 return rejected | 802 return rejected |