======DAC0 project documentation====== =====Toolbox===== It would be especially useful to review the manual pages or any documentation on the following resources: * **ls**(**1**) - description of what the command does =====Background===== ====What is an archive==== An archive is a single file that contains many file making it much easier for to move a bunch of files instead of moving them one at a time. It will effectively keep copies of your files in one place. They can also be compressed to reduce the overall size. In short they are very useful. -c will create well -f specifies the name of the archive file. ====What actions can be performed on an archive?==== There are many different actions that can be performed on an archive such as compression, extraction, modifications, exploration of files, and password protection. An archive simply collects files together for organization and portability. There are also many different kinds of archive files, one of the most commonly known being .zip. ====What is compression==== Compression is a method of reducing the size of files by encoding information in ways that reduce redundancy or unimportant information. Compression is especially useful for transferring files over networks, but can also help to reduce disk usage. There are two types of compression: lossy and lossless. ====How does compression differ from archiving?==== Archiving is mainly used for organization rather than file size reduction. For example, a lot of Minecraft mods archive their constructs and data in JAR files, a specific kind of archive used in Java. This also makes groups of files more easily portable. such as with zip and tar files. ====Types of compression (lossy vs lossless)==== Lossless compression reduces file size by eliminating statistical redundancies and no information is actually lost with this method of compression. Contrastingly, lossy compression reduces file size by removing information classed as unimportant or unnecessary. =====Procedure===== =====Repository Operations===== ====Checking current repository status==== ====Adding untracked files to repository==== After creating a file that you want to be tracked, you will run the command: 'hg add' ====Committing changes==== After adding any untracked files you will run the command 'hg commit -m "sample text" ' which will save any changes made ====Pushing commits upstream to server==== After running 'hg commit -m' you will need to push the changes by executing 'hg push' ====Pulling changes from server==== After executing 'hg push' you will then use the command 'hg pull' which will pull the files ====Updating current repository==== After 'hg pull' it will prompt you to then update the repo by using the command 'hg update'