On Thu, 19 Jan 2006, Franck wrote:I think we'd have to set up the grafts file, yes. However, it's actually less of an advantage than you'd think: especially for long development histories, the incremental packing is very very efficient. In contrast, if you only get recent versions, there's nothing to be incremental against, so the size of the pack will not be that much smaller. So getting just a tenth of the development history will _not_ cause the pack to be just a tenth in size. It's probably closer to half the size of the full history. Anyway, it's _conceptually_ something that git wouldn't have any problems with, but that doesn't mean that it's totally trivial either. The easiest way to do it (by far) would be to expand the native git protocol with a "get all objects of this one version" or something like that, and then you'd just do a "pull and mark all unknown commits in the grafts file". So in effect, instead of getting the whole history pack, you'd get a pack that contains _one_ version (no history at all), and then (if you want to) you can get a pack that gets all stuff that isn't reachable from that one (ie "newer"). That would have the advantage that it's quite possible that many users might want to do just git clone --only=v2.6.15 <source> <target> which would do that "one single version" variant of the clone. Then, later on, you could just do git pull --graft-unknown <source> <target> to update the history. Anybody want to try that? It would be a new command to "git-daemon" (instead of "git-upoload-pack", you'd do a new "git-upload-version" command internally: it would look a lot like upload-pack, and use the same unpacking protocol). Well, you really don't need to do that very often. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Alan Cox | [PATCH 00/80] TTY updates for 2.6.28 |
| Eric Sandeen | Re: [RFC] Heads up on sys_fallocate() |
| Linus Torvalds | Linux 2.6.27 |
| Linus Torvalds | Linux 2.6.27-rc8 |
git: | |
| Daniel Berlin | Re: Git and GCC |
| David Kastrup | Empty directories... |
| Denis Bueno | Recovering from repository corruption |
| Linus Torvalds | Re: "failed to read delta base object at..." |
| Hugh Dickins | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Simon Horman | Re: Possible regression in HTB |
| Paul Moore | [PATCH v7 00/17] Labeled networking patches for 2.6.28 |
| Wenji Wu | about Linux adaptivly adjusting ssthresh |
| Linux Kernel Mailing List | i.MX3: make SoC devices globally available |
| Linux Kernel Mailing List | ARM: DaVinci: i2c setup |
| Linux Kernel Mailing List | MXC: Remove WD IRQ priority setting |
| Linux Kernel Mailing List | [MACVLAN]: Update Kconfig to refer to iproute |
| sata/ide timeout errors on asus server-mb | 1 hour ago | Linux kernel |
| Shared swap partition | 2 hours ago | Linux general |
| usb mic not detected | 6 hours ago | Applications and Utilities |
| Problem in Inserting a module | 7 hours ago | Linux kernel |
| Treason Uncloaked | 12 hours ago | Linux kernel |
| high memory | 2 days ago | Linux kernel |
| semaphore access speed | 2 days ago | Applications and Utilities |
| the kernel how to power off the machine | 2 days ago | Linux kernel |
| Easter Eggs in windows XP | 3 days ago | Windows |
| Root password | 3 days ago | Linux general |
