Tutorial: Version Control Systems

Index of All Documentation » Wing Tutorial »

Wing provides integrations with the Mercurial, Git, Subversion, Perforce, Bazaar, and CVS revision control systems. These auto-enable based on the contents of your project.

If you have a code base that is in revision control you might want to try this out now, by creating a project for your code base. To make this easier, you can launch a second instance of Wing by running it from the command line with the --new option.

Once you have added files to the project and saved it, Wing should auto-detect the revision control system and add a menu to the menu bar. You can now select Project Status from that menu or use the Tools menu to bring up the appropriate revision control tool. Right click on the tool or use the menu bar menu to initiate operations.

If you have a project with files in multiple revision control systems or want to keep a particular system active at all times, you can do this from the Version Control preferences group.

See the Version Control documentation for details.

Difference and Merge Tool

When a revision control system is active, you can right click on items in the appropriate revision control tool or on the editor or Project tool to initiate graphical comparison of changes relative to the repository.

This tool can also be used to compare two files, two directories, and an unsaved file with the disk:

Try it now by making several changes to example1.py without saving them to disk. Then click on the Difference/Merge icon in the toolbar to Compare Buffer With Disk:


Wing will split the editor area to show two editors side by side and will show additional icons in the toolbar to control the difference and merge session:


Use the previous/next buttons in the Difference/Merge toolbar group to move forward and backward between the differences, and then the A->B tool to undo each unsaved change.

When comparing directories, Wing will show the Diff/Merge tool while the session is active, and will highlight the current file being compared as you move through the session. You can also click on files in this tool to move to a specific comparison.

Difference/Merge is particularly useful for reviewing changes before committing to a revision control repository, so you can avoid committing unintended changes and can undo any spurious or whitespace-only changes.