mercurial/hg.py
changeset 611 48c3eb2bf844
parent 609 2acf1f5df2e6
child 616 d45d1c90032e
equal deleted inserted replaced
610:4c02464cb9f0 611:48c3eb2bf844
   751         return (c, a, d, u)
   751         return (c, a, d, u)
   752 
   752 
   753     def add(self, list):
   753     def add(self, list):
   754         for f in list:
   754         for f in list:
   755             p = self.wjoin(f)
   755             p = self.wjoin(f)
   756             if not os.path.isfile(p):
   756             if not os.path.exists(p):
   757                 self.ui.warn("%s does not exist!\n" % f)
   757                 self.ui.warn("%s does not exist!\n" % f)                
       
   758             elif not os.path.isfile(p):
       
   759                 self.ui.warn("%s not added: mercurial only supports files currently\n" % f)
   758             elif self.dirstate.state(f) == 'n':
   760             elif self.dirstate.state(f) == 'n':
   759                 self.ui.warn("%s already tracked!\n" % f)
   761                 self.ui.warn("%s already tracked!\n" % f)
   760             else:
   762             else:
   761                 self.dirstate.update([f], "a")
   763                 self.dirstate.update([f], "a")
   762 
   764 
   768                 self.dirstate.forget([f])
   770                 self.dirstate.forget([f])
   769 
   771 
   770     def remove(self, list):
   772     def remove(self, list):
   771         for f in list:
   773         for f in list:
   772             p = self.wjoin(f)
   774             p = self.wjoin(f)
   773             if os.path.isfile(p):
   775             if os.path.exists(p):
   774                 self.ui.warn("%s still exists!\n" % f)
   776                 self.ui.warn("%s still exists!\n" % f)
   775             elif self.dirstate.state(f) == 'a':
   777             elif self.dirstate.state(f) == 'a':
   776                 self.ui.warn("%s never committed!\n" % f)
   778                 self.ui.warn("%s never committed!\n" % f)
   777                 self.dirstate.forget(f)
   779                 self.dirstate.forget(f)
   778             elif f not in self.dirstate:
   780             elif f not in self.dirstate:
   780             else:
   782             else:
   781                 self.dirstate.update([f], "r")
   783                 self.dirstate.update([f], "r")
   782 
   784 
   783     def copy(self, source, dest):
   785     def copy(self, source, dest):
   784         p = self.wjoin(dest)
   786         p = self.wjoin(dest)
   785         if not os.path.isfile(dest):
   787         if not os.path.exists(dest):
   786             self.ui.warn("%s does not exist!\n" % dest)
   788             self.ui.warn("%s does not exist!\n" % dest)
       
   789         elif not os.path.isfile(dest):
       
   790             self.ui.warn("copy failed: %s is not a file\n" % dest)            
   787         else:
   791         else:
   788             if self.dirstate.state(dest) == '?':
   792             if self.dirstate.state(dest) == '?':
   789                 self.dirstate.update([dest], "a")
   793                 self.dirstate.update([dest], "a")
   790             self.dirstate.copy(source, dest)
   794             self.dirstate.copy(source, dest)
   791 
   795