On Jun 5, 2008, at 11:57 PM, root wrote: >> I don't exactly understand these distributed control systems very >> well, so hopefully this isn't an obvious question. Right now as I'm >> working on symbolics I commonly have files from multiple branches >> open >> (symbolics-stable/backup, symbolics-current, calculus-old). I also >> have to frequently have to toggle between them (to test backwards >> compatibility). > > Doing a branch > > git-branch calculus-old > > generates a 40 bit key which points to a history tree node. That is > all the disk space required. > > git-checkout calculus-old > > "magically" transforms the files so they conform to the "calculus-old" > sources and you can work in that tree. > > git-checkout master > > will bring you back to the trunk, "magically" transforming the > files again. > > Note that since git uses hashcodes to track changes it will not > duplicate > files. Two files with the same hash code occupy one file. One side > effect > is that a distro might actually be smaller when moved into git if it > had copies of files in subdirectories. > > Thus the branch only needs to keep the changes as it shares the > unchanged files by pointing at the same sources. So a branch only > costs > you the disk space and time to maintain the changes.
This is how hg works as well, hashing and all. > > >> It seems like switching to branching would require >> having three full sage installs at the cost of a huge amount of space >> if I want to be able to switch between them quickly and edit multiple >> versions of the same file, which seems like a massive negative side >> effect. Do I understand this right? > > So, in answer to your question, no it does not require much disk > space. > I have 20+ branches locally and there is almost no disk space overhead > and changing between the branches happens in about the time it takes > to type the command. Same with hg if one uses branching rather than cloning. However, re- generating all secondary files (depending on what one is working on) may take much longer. I have about half a dozen clones that I work with, and switch between them often. - Robert --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---