-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 4/1/2015 6:01 AM, Duy Nguyen wrote: > On Wed, Apr 1, 2015 at 1:31 PM, Junio C Hamano <gitster@xxxxxxxxx> > wrote: >> The only way a bundle can record "something" "noting" that it is >> an incomplete history, while allowing it to be read by existing >> implementations of "git bundle unbundle" is to list the commits, >> behind which there is no history available in the bundle, as >> bundle's pre-requisites. I said that the addition of shallow >> repository support did not enhance "git bundle create" to do so, >> and you are saying "it just needs to put", implying that it >> currently does not. > > Alternatively, we can record SHA-1 in the shallow file as refs > whose name is always ".shallow". This way "unbundle" can recreate > the shallow file if it wants. Having this "remote" shallow file > would fit well in our fetch pipeline. It's harder to recreate > shallow file if we record prerequisite instead: if commit A is in > the shallow file, the ones in prerequisite category would be A's > parents. So we would need to go over the bundle to look for commits > whose parents are all in prerequisite list. It takes more time. Right; you can't rely only on the pre-requisets as objects in the bundle may be deltaed against them and so they can not be unpacked without them. The idea here is that all required objects ( and their delta bases ) are present, either in the bundle, or in the local repository, but if you walk the history chain you arrive at a parent pointer to an object you don't have. That point should automatically be recorded in .git/shallow. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (MingW32) iQEcBAEBAgAGBQJVG+wIAAoJENRVrw2cjl5Rj2UH/0AXyy63MDYhg0C7t4ljsb0U pHo5vZyfurO2k4vd2kiUySDhIaZ7gmhkPySbPlphzqHGtvdPtyLwkYPVgqBVv7uA fDodTsxt64MbdFN3CNk5zh5BLDs6q1+1IjscvTlsmjCQbTz+ys+Qw1QS0zS9hSWD +jGDCa1x5zETniI0wJiXSSiCF6ZtFHuEJwZp5MSj257tAidibi/a0U+AHYdFwgSf jtoUWXR2t9Xl/eN1Xkw3bjE5xQUogZYox0IuUWPvv4c4rmgxhU6SYzYftWD7Lkof vL2t+y1x1IhmgLaIoPz+/p/Dfeupivf6F8dS6cfyG++QIshPGq6ACZ49NRymcy0= =TctP -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html