Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder7.xlned.com!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.023 X-Spam-Evidence: '*H*': 0.95; '*S*': 0.00; 'tree': 0.05; 'correct.': 0.07; 'diff': 0.07; 'cc:addr:python-list': 0.11; '-tkc': 0.16; 'from:addr:python.list': 0.16; 'from:addr:tim.thechases.com': 0.16; 'from:name:tim chase': 0.16; 'svn,': 0.16; 'two,': 0.16; 'wrote:': 0.18; 'cc:addr:python.org': 0.22; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; 'this:': 0.26; 'least': 0.26; 'header:In-Reply-To:1': 0.27; 'point': 0.28; 'feature': 0.29; '[1]': 0.29; '[2]': 0.30; "i'm": 0.30; 'usually': 0.31; 'description,': 0.31; "we're": 0.32; 'not.': 0.33; '"the': 0.34; 'problem': 0.35; 'done.': 0.35; 'but': 0.35; 'version': 0.36; 'charset:us-ascii': 0.36; 'should': 0.36; 'wrong': 0.37; 'skip:- 20': 0.37; 'starting': 0.37; 'sure': 0.39; 'how': 0.40; 'ensure': 0.60; "you'll": 0.62; 'talking': 0.65; 'different.': 0.84; 'received:50.22': 0.84; 'subject:, ...': 0.84; 'same,': 0.91 Date: Thu, 28 Aug 2014 09:56:05 -0500 From: Tim Chase To: Marko Rauhamaa Subject: Re: hg, git, fossil, ... In-Reply-To: <87tx4xw3ye.fsf@elektro.pacujo.net> References: <57afe6cf-7cc4-4334-9f21-fdb8a6e70f30@googlegroups.com> <53FE22C7.3090806@stoneleaf.us> <87tx4xw3ye.fsf@elektro.pacujo.net> X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.10; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - boston.accountservergroup.com X-AntiAbuse: Original Domain - python.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tim.thechases.com X-Get-Message-Sender-Via: boston.accountservergroup.com: authenticated_id: tim@thechases.com Cc: python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 42 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1409237866 news.xs4all.nl 2892 [2001:888:2000:d::a6]:59943 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:77215 On 2014-08-28 08:58, Marko Rauhamaa wrote: > The main problem with hg (and git) is the way cherrypicking is done. > > See these graphics: > > [1] Product-Ver1 > | > | bugfix > | > V feature development > Product-Ver1' ----------------------> Product-Ver2' > > feature development > [2] Product-Ver1 -----------------------> Product-Ver2 > | > | bugfix > | > cherry-picking V > Product-Ver1' <---------------------- Product-Ver2' > > > My beef is this: The starting point and end result of [1] and [2] is > identical. The version histories of Product-Ver1' and Product-Ver2' > should usually also be identical. In hg and git, they are not. In > CVS, they are not. In SVN, they are not. > > In TeamWare (and bitkeeper?), the version histories are identical. I'm not sure how you arrive at the conclusion that git/hg/cvs/svn are wrong and TeamWare et al. are correct. If you diff the two, you'll find that the end result is the same, but the history is different. At least git/hg/bzr ensure that the historical tree that I have and the historical tree that you have are identical. In your description, their histories are not. This ensures that when I speak about "the ancestor of Product-Ver2", we're both talking about the same thing. In #1, that's Product-Ver1' while in #2, that's Product-Ver2. -tkc