hg remove directory from repo?

前端 未结 3 2217
不知归路
不知归路 2021-02-12 15:36

I\'d like to remove a directory and all the files in it from a repo.

I have removed all the files with hg remove, but how do I remove the directory itself?

相关标签:
3条回答
  • 2021-02-12 16:14

    Yes. Because mercurial doesn't track directories at all, only files, it only creates directories that have files in them, and if someone hg updates to a revision any directories that become empty are automatically removed. So if you do:

    hg remove directory/*
    hg commit -m 'removed all files in directory'
    hg update -r 0   # updates to a different revision
    hg update tip    # jump back to the tip
    

    That last update would remove the directory. For everyone else it's even easier. When they hg update to your new changes their directory will just vanish (provided they have no uncommitted file in it).

    0 讨论(0)
  • 2021-02-12 16:16

    To remove a directory, Just do

    hg remove <dir>
    hg commit -m "..."
    

    This will remove the directory and all files under it.

    0 讨论(0)
  • 2021-02-12 16:20
    hg remove dir
    

    If you end up with empty directories and you want to get rid of them, an easy way is the purge extension. (add purge= under the [extensions] group in your .hrgc file to unlock).

    You can then use

    hg purge
    

    to clean up the empty dirs... You must be careful with the purge command as it removes everything that is untracked in your repos. I strongly suggest you run a

    hg purge -p
    

    beforehand to see what the command will do ( -p will print a "test run" without doing anything.) Never forget the --help option! ;)

    edit: I prefer using purge to hg update in succession as updating triggers rebuilds in my IDE if it is open (and it's a good bet it is when I do that). hg purge will probably be smoother. And you can use --all to include ignored files too (must be careful though).

    0 讨论(0)
提交回复
热议问题