Re: [PATCH 4/4] Add support for 'namespace' history simplification
- From
- Santi Béjar <santi@agolina.net>
- Date
- Nov 3, 2008, 22:34 UTC
- Message-ID
- <adf1fd3d0811031434w5a74c978q5fbf573288bd9c5a@mail.gmail.com>
- In-Reply-To
- <alpine.LFD.2.00.0811031358460.3419@nehalem.linux-foundation.org>
On Mon, Nov 3, 2008 at 11:05 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
Show 27 quoted lines
> > > On Mon, 3 Nov 2008, Santi Béjar wrote: >> >> I tried it once, but I had problems simplifying the merges, and it is trivial... > > It depends on the new --simplify-merges code which does that. > >> Not that it matters a lot, but if you try it on master you get some >> extra merges without a ref like: >> >> 373a273 (Merge git-gui 0.11.0, 2008-08-17) > > Umm? Your point is? > > That merge itself doesn't have a ref, but it's required becase there are > refs along both legs of the merge - one side has the "gitgui-0.11.0" tag, > while the other has (for example) v16.0-rc3. > >> f44bc33 (Sync with 1.5.6.5, 2008-08-06) > > Again, the merge doesn't have a ref, but it's needed because there are > refs on both parents (v1.5.6.5 vs v1.6.0-rc[01]). > > So no, --simplify-namespace in no way guarantees that all resulting > commits will have refs pointing to them, because it also needs to return > enough of the merges to make it a real and meaningful DAG.
I thought of it as "for each ref rewrite its parents to the independent set of refs that are ancestors". So in the case of 373a273 (Merge git-gui 0.11.0, 2008-08-17), its parents (gitgui-0.11.0 and v1.6.0-rc3) would be the parents of ea02eef (GIT 1.6.0, 2008-08-17).
Santi