22 |
22 |
23 Schedule files to be version controlled and added to the |
23 Schedule files to be version controlled and added to the |
24 repository. |
24 repository. |
25 |
25 |
26 The files will be added to the repository at the next commit. To |
26 The files will be added to the repository at the next commit. To |
27 undo an add before that, see hg revert. |
27 undo an add before that, see hg forget. |
28 |
28 |
29 If no names are given, add all files to the repository. |
29 If no names are given, add all files to the repository. |
30 """ |
30 """ |
31 |
31 |
32 bad = [] |
32 bad = [] |
1135 else: |
1135 else: |
1136 ui.note(_('exporting patch:\n')) |
1136 ui.note(_('exporting patch:\n')) |
1137 patch.export(repo, revs, template=opts.get('output'), |
1137 patch.export(repo, revs, template=opts.get('output'), |
1138 switch_parent=opts.get('switch_parent'), |
1138 switch_parent=opts.get('switch_parent'), |
1139 opts=patch.diffopts(ui, opts)) |
1139 opts=patch.diffopts(ui, opts)) |
|
1140 |
|
1141 def forget(ui, repo, *pats, **opts): |
|
1142 """forget the specified files on the next commit |
|
1143 |
|
1144 Mark the specified files so they will no longer be tracked |
|
1145 after the next commit. |
|
1146 |
|
1147 This only removes files from the current branch, not from the |
|
1148 entire project history, and it does not delete them from the |
|
1149 working directory. |
|
1150 |
|
1151 To undo a forget before the next commit, see hg add. |
|
1152 """ |
|
1153 |
|
1154 if not pats: |
|
1155 raise util.Abort(_('no files specified')) |
|
1156 |
|
1157 m = cmdutil.match(repo, pats, opts) |
|
1158 s = repo.status(match=m, clean=True) |
|
1159 forget = sorted(s[0] + s[1] + s[3] + s[6]) |
|
1160 |
|
1161 for f in m.files(): |
|
1162 if f not in repo.dirstate and not os.path.isdir(m.rel(f)): |
|
1163 ui.warn(_('not removing %s: file is already untracked\n') |
|
1164 % m.rel(f)) |
|
1165 |
|
1166 for f in forget: |
|
1167 if ui.verbose or not m.exact(f): |
|
1168 ui.status(_('removing %s\n') % m.rel(f)) |
|
1169 |
|
1170 repo.remove(forget, unlink=False) |
1140 |
1171 |
1141 def grep(ui, repo, pattern, *pats, **opts): |
1172 def grep(ui, repo, pattern, *pats, **opts): |
1142 """search for a pattern in specified files and revisions |
1173 """search for a pattern in specified files and revisions |
1143 |
1174 |
1144 Search revisions of files for a regular expression. |
1175 Search revisions of files for a regular expression. |
3267 (export, |
3298 (export, |
3268 [('o', 'output', '', _('print output to file with formatted name')), |
3299 [('o', 'output', '', _('print output to file with formatted name')), |
3269 ('', 'switch-parent', None, _('diff against the second parent')) |
3300 ('', 'switch-parent', None, _('diff against the second parent')) |
3270 ] + diffopts, |
3301 ] + diffopts, |
3271 _('[OPTION]... [-o OUTFILESPEC] REV...')), |
3302 _('[OPTION]... [-o OUTFILESPEC] REV...')), |
|
3303 "^forget": |
|
3304 (forget, |
|
3305 [] + walkopts, |
|
3306 _('[OPTION]... FILE...')), |
3272 "grep": |
3307 "grep": |
3273 (grep, |
3308 (grep, |
3274 [('0', 'print0', None, _('end fields with NUL')), |
3309 [('0', 'print0', None, _('end fields with NUL')), |
3275 ('', 'all', None, _('print all revisions that match')), |
3310 ('', 'all', None, _('print all revisions that match')), |
3276 ('f', 'follow', None, |
3311 ('f', 'follow', None, |