Just started to use Mercurial. Wow, nice application. I moved my database file out of the code directory, but I was wondering about the .pyc
files. I didn't include them on the initial commit. The documentation about the .hgignore
file includes an example to exclude *.pyc
, so I think I'm on the right track.
I am wondering about what happens when I decide to roll back to an older fileset. Will I need to delete all the .pyc
files then? I saw some questions on Stack Overflow about the issue, including one gentleman that found old .pyc
files were being used. What is the standard way around this?
As mentioned in ms4py's answer, *.pyc are compiled files that will be regenerated on the fly. You wouldn't want to include these when distributing a project.
However, if it happens you have modules that existed before when you roll back changes and *.pyc files are left lying around, strange bugs can appear as pyc files can be execute even if the original python file doesn't exist anymore. This has bitten me a few times in Django when adding and removing apps in a project and switching branches with git.
To clean things up, you can delete every compiled files in your project's directory by running the following shell command in you project's directory:
find . -name '*.pyc' -exec rm {} \;