I understand how to remove an entire changeset from history but it’s not clear how to remove a subset instead.
For example, how do I remove all DLL files from an existing changeset while leaving the source-code alone?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Because the revision ids (e.g. a8d7641f…) are based on a hash of the changeset, it’s not really possible to remove a subset of a changeset from history.
However, it is possible to create a new repo with a parallel history, except for a certain set of files, by using the Convert extension. You’ll be converting a Mercurial repo to a Mercurial repo, using the filemap to exclude the files you don’t want by adding
excludes. This will create a new, unrelated repository, which means that any clones people have won’t be able to pull from it any more, and will have to re-clone from this new repo.