Jesper Evertsson
Jesper Evertsson

Reputation: 613

TortoiseHG forget files in all sub folders of specific name

I have a pretty large folder (with many sub folders) on a mercurial repository. I was a bit too fast with my first commit so I added a lot of files that i now realize shouldn't be on version control. I've updated my .hgignore file accordingly but all the old files are still version controlled. Is there a command that I can write in the root directory that forgets all files that are in a folder of a specific name. These folder names exist in a lot of places and i want them all forgotten with one command since it would take a long time to go through them all manually and forget the folders/files

I guess it would maybe look something like this:

hg ignore ../folderName/

Upvotes: 0

Views: 313

Answers (2)

Lazy Badger
Lazy Badger

Reputation: 97365

You can read hg help filesets and use one of it's samples

  • Forget files that are in .hgignore but are already tracked:

    hg forget "set:hgignore() and not ignored()"

Upvotes: 1

planetmaker
planetmaker

Reputation: 6044

Yes... use a pattern to match them like

hg forget FOLDERNAME**
hg commit -m "Forget FOLDERNAME"

hg help forget
hg forget [OPTION]... FILE...
(...)
options ([+] can be repeated):
 -I --include PATTERN [+] include names matching the given patterns

or use a one-line script:

for i in $(hg ma | grep FOLDERNAME); do hg forget $i; done

Upvotes: 1

Related Questions