Git or Mercurial are distributed version control systems. This means that every checkout contains the whole history of the project. Bypassing this would defeat the whole purpose of using a DVCS (every operation can be done offline) But in general Mercurial or Git have a very high compression ratio, often better than svn even if they store the whole history.
Git or Mercurial are distributed version control systems. This means that every checkout contains the whole history of the project. Bypassing this would defeat the whole purpose of using a DVCS (every operation can be done offline).
But in general Mercurial or Git have a very high compression ratio, often better than svn even if they store the whole history.
Hg clone create hard links on unix file systems, so only changes introduced by new change sets use space in the storage. When you don't want a working copy, you can update the repo to the 'null' revision, which consist only of the repository without working copy. Git also has the option of bare repositories and shared repositories, but I never tried them.
1 git clone is able to use hardlinks as well, it's designed for cloning local repositories on unix. See manual. N.
B> hardlinks don't cross file system boundaries (e.g. Slices/partitions). – TerryP Jun 6 '10 at 11:35 hm, so I tried on Windows 7 and Git and Mercurial both seems to duplicate the file instead of using any link... so if I clone a repository with only 1 file that is 10MB with only the initial version, the new directory will have 20MB. The original repository is also 20MB.
– å‹•é? Œèƒ½é‡? Jun 6 '10 at 13:27 git clone with the "-s" switch will just have a reference to the original repository location- but that still only works if the repository is locally accessible.
– araqnid Jun 6 '10 at 16:35 Windows does not support hard links the way Linux/UNIX does so Git and Mercurial both have to copy the files under Windows. – Bombe Jun 6 '10 at 13:25 Bombe: Wrong. Windows DOES support hard links at the filesystem level (as long as you're using NTFS), but most Windows software appears not to be aware of this.
Read up on mklink on Windows - it's included by default in Vista and Windows 7. – clee Jun 6 '10 at 22:41.
You can do what you're asking as long as you have the filesystem with the "central" repository mounted and accessible locally. From cmd. Exe: git --git-dir=Z:/path/to/git_repo_dir --work-tree=C:/path/to/checkout/root checkout master And you can do this for as many checkouts as you want, but it's not really ideal.It's true that git doesn't work quite as well on Windows as it does on Linux - the ideal solution is for each clone to have hard links to the objects, so they're only physically stored on disk once, and then each clone can be checked out to a different branch, so you could track development/testing/production all at once, for example.
Also, as far as your concerns about disk usage go - try doing git gc --aggressive --prune on one of your repositories and see if it's still taking up a huge amount of space. In my experience, git is very good about storing only binary deltas - I have tested this by adding a directory full of MP3 files to a repository and committing them, changing the ID3 tags, and then committing the changes, and before I ran git gc there were clearly two copies of each MP3 in the . Git folder, but after the git gc the size went back down to just slightly larger than the original working directory.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.