Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/commands.py @ 1456:214f42f23a3b
Remove copy/rename --parents option
This is no longer needed now that we have more standard UNIX-like copy
semantics.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 26 Oct 2005 16:32:50 -0700 |
parents | 407bd229f003 |
children | 0847c45ffee6 |
comparison
equal
deleted
inserted
replaced
1455:407bd229f003 | 1456:214f42f23a3b |
---|---|
786 elif len(pats) == 1: | 786 elif len(pats) == 1: |
787 raise util.Abort(_('no destination specified')) | 787 raise util.Abort(_('no destination specified')) |
788 pats = list(pats) | 788 pats = list(pats) |
789 dest = pats.pop() | 789 dest = pats.pop() |
790 sources = [] | 790 sources = [] |
791 dir2dir = not opts['parents'] and len(pats) == 1 and os.path.isdir(pats[0]) | 791 dir2dir = len(pats) == 1 and os.path.isdir(pats[0]) |
792 | 792 |
793 def okaytocopy(abs, rel, exact): | 793 def okaytocopy(abs, rel, exact): |
794 reasons = {'?': _('is not managed'), | 794 reasons = {'?': _('is not managed'), |
795 'a': _('has been marked for add')} | 795 'a': _('has been marked for add')} |
796 reason = reasons.get(repo.dirstate.state(abs)) | 796 reason = reasons.get(repo.dirstate.state(abs)) |
812 destisfile = not os.path.isdir(reldest) | 812 destisfile = not os.path.isdir(reldest) |
813 else: | 813 else: |
814 destisfile = not dir2dir and (len(sources) == 1 | 814 destisfile = not dir2dir and (len(sources) == 1 |
815 or repo.dirstate.state(absdest) != '?') | 815 or repo.dirstate.state(absdest) != '?') |
816 | 816 |
817 if destisfile: | 817 if destisfile and len(sources) > 1: |
818 if opts['parents']: | 818 raise util.Abort(_('with multiple sources, destination must be a ' |
819 raise util.Abort(_('with --parents, destination must be a directory')) | 819 'directory')) |
820 elif len(sources) > 1: | 820 |
821 raise util.Abort(_('with multiple sources, destination must be a ' | |
822 'directory')) | |
823 srcpfxlen = 0 | 821 srcpfxlen = 0 |
824 if dir2dir: | 822 if dir2dir: |
825 srcpfx = util.pathto(cwd, util.canonpath(repo.root, cwd, pats[0])) | 823 srcpfx = util.pathto(cwd, util.canonpath(repo.root, cwd, pats[0])) |
826 if os.path.exists(reldest): | 824 if os.path.exists(reldest): |
827 srcpfx = os.path.split(srcpfx)[0] | 825 srcpfx = os.path.split(srcpfx)[0] |
829 srcpfx += os.sep | 827 srcpfx += os.sep |
830 srcpfxlen = len(srcpfx) | 828 srcpfxlen = len(srcpfx) |
831 | 829 |
832 errs, copied = 0, [] | 830 errs, copied = 0, [] |
833 for abs, rel, exact in sources: | 831 for abs, rel, exact in sources: |
834 if opts['parents']: | 832 if destisfile: |
835 mydest = os.path.join(dest, rel) | |
836 elif destisfile: | |
837 mydest = reldest | 833 mydest = reldest |
838 elif dir2dir: | 834 elif dir2dir: |
839 mydest = os.path.join(dest, rel[srcpfxlen:]) | 835 mydest = os.path.join(dest, rel[srcpfxlen:]) |
840 else: | 836 else: |
841 mydest = os.path.join(dest, os.path.basename(rel)) | 837 mydest = os.path.join(dest, os.path.basename(rel)) |
845 ui.warn(_('%s: not overwriting - file already managed\n') % myreldest) | 841 ui.warn(_('%s: not overwriting - file already managed\n') % myreldest) |
846 continue | 842 continue |
847 mydestdir = os.path.dirname(myreldest) or '.' | 843 mydestdir = os.path.dirname(myreldest) or '.' |
848 if not opts['after']: | 844 if not opts['after']: |
849 try: | 845 try: |
850 if opts['parents'] or dir2dir: os.makedirs(mydestdir) | 846 if dir2dir: os.makedirs(mydestdir) |
851 elif not destisfile: os.mkdir(mydestdir) | 847 elif not destisfile: os.mkdir(mydestdir) |
852 except OSError, inst: | 848 except OSError, inst: |
853 if inst.errno != errno.EEXIST: raise | 849 if inst.errno != errno.EEXIST: raise |
854 if ui.verbose or not exact: | 850 if ui.verbose or not exact: |
855 ui.status(_('copying %s to %s\n') % (rel, myreldest)) | 851 ui.status(_('copying %s to %s\n') % (rel, myreldest)) |
2211 _('hg commit [OPTION]... [FILE]...')), | 2207 _('hg commit [OPTION]... [FILE]...')), |
2212 "copy|cp": (copy, | 2208 "copy|cp": (copy, |
2213 [('I', 'include', [], _('include names matching the given patterns')), | 2209 [('I', 'include', [], _('include names matching the given patterns')), |
2214 ('X', 'exclude', [], _('exclude names matching the given patterns')), | 2210 ('X', 'exclude', [], _('exclude names matching the given patterns')), |
2215 ('A', 'after', None, _('record a copy that has already occurred')), | 2211 ('A', 'after', None, _('record a copy that has already occurred')), |
2216 ('f', 'force', None, _('forcibly copy over an existing managed file')), | 2212 ('f', 'force', None, _('forcibly copy over an existing managed file'))], |
2217 ('p', 'parents', None, _('append source path to dest'))], | |
2218 _('hg copy [OPTION]... [SOURCE]... DEST')), | 2213 _('hg copy [OPTION]... [SOURCE]... DEST')), |
2219 "debugancestor": (debugancestor, [], _('debugancestor INDEX REV1 REV2')), | 2214 "debugancestor": (debugancestor, [], _('debugancestor INDEX REV1 REV2')), |
2220 "debugcheckstate": (debugcheckstate, [], _('debugcheckstate')), | 2215 "debugcheckstate": (debugcheckstate, [], _('debugcheckstate')), |
2221 "debugconfig": (debugconfig, [], _('debugconfig')), | 2216 "debugconfig": (debugconfig, [], _('debugconfig')), |
2222 "debugsetparents": (debugsetparents, [], _('debugsetparents REV1 [REV2]')), | 2217 "debugsetparents": (debugsetparents, [], _('debugsetparents REV1 [REV2]')), |
2334 _("hg remove [OPTION]... FILE...")), | 2329 _("hg remove [OPTION]... FILE...")), |
2335 "rename|mv": (rename, | 2330 "rename|mv": (rename, |
2336 [('I', 'include', [], _('include names matching the given patterns')), | 2331 [('I', 'include', [], _('include names matching the given patterns')), |
2337 ('X', 'exclude', [], _('exclude names matching the given patterns')), | 2332 ('X', 'exclude', [], _('exclude names matching the given patterns')), |
2338 ('A', 'after', None, _('record a rename that has already occurred')), | 2333 ('A', 'after', None, _('record a rename that has already occurred')), |
2339 ('f', 'force', None, _('forcibly copy over an existing managed file')), | 2334 ('f', 'force', None, _('forcibly copy over an existing managed file'))], |
2340 ('p', 'parents', None, _('append source path to dest'))], | |
2341 _('hg rename [OPTION]... [SOURCE]... DEST')), | 2335 _('hg rename [OPTION]... [SOURCE]... DEST')), |
2342 "^revert": | 2336 "^revert": |
2343 (revert, | 2337 (revert, |
2344 [("n", "nonrecursive", None, _("do not recurse into subdirectories")), | 2338 [("n", "nonrecursive", None, _("do not recurse into subdirectories")), |
2345 ("r", "rev", "", _("revision to revert to"))], | 2339 ("r", "rev", "", _("revision to revert to"))], |