Hi ! Here are some thoughts as an answer to Ziliang's mail:
De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De
la part de Zachary Gorden
Envoyé : jeudi 16 février 2017 23:03
À : ReactOS Development List
Objet : Re: [ros-dev] Microsoft switched to Git
The fact that git has problems maintain a large
history is ONE of the limitations that prompted them to develop GVFS. There are several
comments on the first page in the discussion of the ars technica article on GVFS that talk
about git's issues with long histories:
https://arstechnica.com/information-technology/2017/02/microsoft-hosts-the-…
I can't link directly to the comments, but if you search by user name you jump right
to them. Two especially relevant ones are by smengler and zaqzlea. The one by zaqzlea is
also rather interesting if Linux itself has truncated its own commit history, which is
more than a bit disturbing from
my perspective.
I guess that this 'truncated history' story happened when Linus switched to his
newly-created Git the 16. April, 2005 :
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=…
because, if one believes what's written inside
https://git.wiki.kernel.org/index.php/GraftPoint , "When Linus started using git for
maintaining his kernel tree there didn't exist any tools to convert the old kernel
history." Later on, when new features have been added to Git, people were able to
create Git repositories of Linux' code before the 16/04/2005 Git transition, and then,
to be able to see the whole Linux history, you need to use the so-called graft points.
Examples are given here:
http://stackoverflow.com/questions/3264283/linux-kernel-historical-git-repo…
https://archive.org/details/git-history-of-linux
We also see a few remarks by a guy calling himself
scuttle22 who claims that truncating history and dropping it is "common
practice" and acceptable. His original posts have all been downvoted to oblivion,
presumably because others take a less lackadaisical perspective
on preserving history for purposes of documentation and accountability.
This is possibly "common practice", maybe in order to reduce the git repos... In
there:
http://stackoverflow.com/questions/4515580/how-do-i-remove-the-old-history-…
, someone ask for example how to trim the history before a certain date, while the
complete copy of history is kept in an archive repository....
I also take the occasion to mention the peculiar possibility, with Git, to have a
repository having multiple roots ("initial commits"): for example, someone did
the error once in the linux kernel repo:
http://lkml.iu.edu/hypermail/linux/kernel/1603.2/01926.html .
Best,
Hermès