Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #77242

Re: hg, git, fossil, ...

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed3a.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <rosuav@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.011
X-Spam-Evidence '*H*': 0.98; '*S*': 0.00; 'repository': 0.05; 'fixes': 0.07; 'level,': 0.07; 'boundaries': 0.09; 'boundaries.': 0.09; 'happens.': 0.09; 'measure': 0.09; 'sure,': 0.09; 'cc:addr :python-list': 0.11; 'python': 0.11; 'changes': 0.15; 'decade,': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'half.': 0.16; 'magic': 0.16; 'patches': 0.16; 'separable': 0.16; 'special.': 0.16; 'unlikely': 0.16; 'versions),': 0.16; 'files.': 0.16; 'fix': 0.17; 'wrote:': 0.18; 'basically': 0.19; 'file,': 0.19; "hasn't": 0.19; 'split': 0.19; 'aug': 0.22; 'manual': 0.22; 'cc:addr:python.org': 0.22; "aren't": 0.24; 'merge': 0.24; 'file.': 0.24; 'cc:2**0': 0.24; 'sort': 0.25; "i've": 0.25; 'developers': 0.25; 'header:In-Reply-To:1': 0.27; 'function': 0.29; 'chris': 0.29; 'am,': 0.29; 'tim': 0.29; "doesn't": 0.30; 'moved': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'work.': 0.31; 'that.': 0.31; 'releases,': 0.31; 'file': 0.32; 'class': 0.32; 'fri,': 0.33; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'really': 0.36; 'collecting': 0.36; 'doubt': 0.36; 'too': 0.37; 'level': 0.37; 'files': 0.38; 'though,': 0.39; 'changed': 0.39; 'release': 0.40; 'even': 0.60; 'most': 0.60; 'affect': 0.61; 'simple': 0.61; "you're": 0.61; "you'll": 0.62; 'happen': 0.63; 'confirm': 0.64; 'more': 0.64; 'talking': 0.65; 'within': 0.65; 'frequently': 0.68; 'reverse': 0.68; 'special': 0.74; 'etc,': 0.84; 'job;': 0.84; 'local,': 0.84; 'significance': 0.84; 'subject:, ...': 0.84; 'sweeping': 0.84; 'releases.': 0.91; 'why?': 0.91; 'to:none': 0.92; 'numerous': 0.93
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=Yf2FGOzV8wpoL2NyT6yJ3IjUV3/md8tzbuimTULC1V0=; b=X1o/ZuISNSmjhKHt+M0YigDgrwlvAcPQzDORzi2WOry8NzIhqLQDvBr/TjS0OK2V24 5PonY1+b5lAOZv2qPZO5V5+OUGRwTJv8zy1PJCYHcgHWwizo9Fwu4VUazTsY9O2RsKBd /I6L2po0MW8QbH112cNT6zfuz8HZSswrp+iMrDn4H1GfCdVTECy1vie2Cz9RboqAbNov MqXuE6x4n0/RqKYA1Mksycz/ihZnoeTNZwbhzf7aD1cmziYg/LTGEhIbWKyXe7PiMGGK FgYr0ovqQ7k2LVHUGNp71/CnSaS6lX/XXZgtPMWRyNHHUiRRjdWMbQAQ4+a+5sR8WP8E ZYRw==
MIME-Version 1.0
X-Received by 10.50.176.202 with SMTP id ck10mr160506igc.2.1409267283245; Thu, 28 Aug 2014 16:08:03 -0700 (PDT)
In-Reply-To <87iolcwglg.fsf@elektro.pacujo.net>
References <CAKUKWzmnnrpm-9SVNAFu3G9vYf2w0ewAhnGeOge8B2NsDujamQ@mail.gmail.com> <CAL7_Mo_YOJZnHAAhHEb=CV3_QNwOm1hDGHrjZ94TVHKow-OWSg@mail.gmail.com> <CALwzid=1-VAvwW8kgjwx6w1wkF2cmcQjVUG676Ta5QEjHLKUHw@mail.gmail.com> <mailman.13445.1409041203.18130.python-list@python.org> <ltjr5j$q4o$1@dont-email.me> <CALwzidkRO_hrYamwXBk0go-w1OJ6Ty6mYB_c5vHXB6okGOLg6g@mail.gmail.com> <ltk2ko$ble$1@ger.gmane.org> <mailman.13503.1409140498.18130.python-list@python.org> <57afe6cf-7cc4-4334-9f21-fdb8a6e70f30@googlegroups.com> <53FE22C7.3090806@stoneleaf.us> <mailman.13519.1409165474.18130.python-list@python.org> <87tx4xw3ye.fsf@elektro.pacujo.net> <mailman.13568.1409240362.18130.python-list@python.org> <87oav4wpu0.fsf@elektro.pacujo.net> <mailman.13572.1409243921.18130.python-list@python.org> <87iolcwglg.fsf@elektro.pacujo.net>
Date Fri, 29 Aug 2014 09:08:03 +1000
Subject Re: hg, git, fossil, ...
From Chris Angelico <rosuav@gmail.com>
Cc "python-list@python.org" <python-list@python.org>
Content-Type text/plain; charset=UTF-8
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.13587.1409267286.18130.python-list@python.org> (permalink)
Lines 50
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1409267286 news.xs4all.nl 2917 [2001:888:2000:d::a6]:33651
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:77242

Show key headers only | View raw


On Fri, Aug 29, 2014 at 5:37 AM, Marko Rauhamaa <marko@pacujo.net> wrote:
> Chris Angelico <rosuav@gmail.com>:
>
>> What you're saying, though, is that there's something inherently
>> special about file boundaries. You want files to be magically
>> separable within a repo. Why? What's the significance of the file?
>
> Files do have that magic property. That's only an approximation, but it
> is a very accurate and fitting approximation. Developers have a strong
> tendency of collecting functions to files. More to the point,
> functionality may be split across multiple files, but a large repository
> is far too blunt an abstraction.

Very frequently I've moved patches around that affect just one
function in one file. There's some granularity at the file level, some
at the function level, some at the class level (if you have that
concept in your repo), etc, etc, etc. You'll find changes that affect
one of any of the above.

>> In reality, it's highly unlikely that this simple fix is the only
>> change that's ever occurred to that file, so I very much doubt that
>> your proposal would even work.
>
> I have actually found the reverse to be true. Most fixes are very local,
> and in large repositories, most files don't experience any change for
> over numerous releases.

You're talking about a file having never changed across nine Python
releases, which happen roughly every year and a half. That's a file
that doesn't change for well over a decade, and now you want to
backport a change across all those releases. Even allowing for some
measure of exaggeration (CPython doesn't release patches for that many
versions), I'm still dubious that there hasn't been any sort of
sweeping change in that much time.

>> With git/hg, the merge is exactly the same whether there've been
>> changes to other files or changes to other parts of the same file,
>> because file boundaries just aren't that special. This is basically a
>> cherry-picking job;
>
> Yes, that's cherry-picking. You also have manual patching and manual
> editing. All methods are in use, manual editing in particular. That's
> because of the awkward repo-level abstraction.

Yes, cherry-picking happens. And in git, it's really easy. Ditto with
'hg graft', I'm sure, although I've never used it so Tim Delaney may
have to confirm that. If the file really hasn't changed, then the
cherry-pick will work.

ChrisA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Python vs C++ Amirouche Boubekki <amirouche.boubekki@gmail.com> - 2014-08-26 10:12 +0200
  Re: Python vs C++ alex23 <wuwei23@gmail.com> - 2014-08-27 15:43 +1000
    Re: Python vs C++ Ian Kelly <ian.g.kelly@gmail.com> - 2014-08-27 00:23 -0600
    Re: Python vs C++ Ian Kelly <ian.g.kelly@gmail.com> - 2014-08-27 00:33 -0600
    Re: What is acceptable as 'open-source'?  [was Python vs C++] "Frank Millman" <frank@chagford.com> - 2014-08-27 09:50 +0200
      Re: What is acceptable as 'open-source'? Paul Rubin <no.email@nospam.invalid> - 2014-08-27 09:38 -0700
        Re: What is acceptable as 'open-source'? Marko Rauhamaa <marko@pacujo.net> - 2014-08-27 20:14 +0300
          Re: What is acceptable as 'open-source'? Rustom Mody <rustompmody@gmail.com> - 2014-08-27 10:41 -0700
          Re: What is acceptable as 'open-source'? Chris Angelico <rosuav@gmail.com> - 2014-08-28 08:46 +1000
            Re: What is acceptable as 'open-source'? Marko Rauhamaa <marko@pacujo.net> - 2014-08-28 08:31 +0300
              Re: What is acceptable as 'open-source'? Chris Angelico <rosuav@gmail.com> - 2014-08-28 15:44 +1000
      Re: What is acceptable as 'open-source'?  [was Python vs C++] Christian Gollwitzer <auriocus@gmx.de> - 2014-08-27 21:41 +0200
    Re: What is acceptable as 'open-source'? [was Python vs C++] Chris Angelico <rosuav@gmail.com> - 2014-08-27 18:03 +1000
    Re: What is acceptable as 'open-source'?  [was Python vs C++] Ned Batchelder <ned@nedbatchelder.com> - 2014-08-27 07:54 -0400
      Re: What is acceptable as 'open-source'?  [was Python vs C++] Rustom Mody <rustompmody@gmail.com> - 2014-08-27 10:29 -0700
        hg, git, fossil, ... [was Re: What is acceptable as 'open-source'? [was Python vs C++]] Ethan Furman <ethan@stoneleaf.us> - 2014-08-27 11:26 -0700
        Re: hg, git, fossil, ... [was Re: What is acceptable as 'open-source'? [was Python vs C++]] Skip Montanaro <skip@pobox.com> - 2014-08-27 13:51 -0500
          Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-28 08:58 +0300
            Re: hg, git, fossil, ... Tim Chase <python.list@tim.thechases.com> - 2014-08-28 09:56 -0500
            Re: hg, git, fossil, ... Ned Batchelder <ned@nedbatchelder.com> - 2014-08-28 11:39 -0400
              Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-28 19:17 +0300
                Re: hg, git, fossil, ... Tim Chase <python.list@tim.thechases.com> - 2014-08-28 11:32 -0500
                Re: hg, git, fossil, ... Chris Angelico <rosuav@gmail.com> - 2014-08-29 02:38 +1000
                Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-28 22:37 +0300
                Re: hg, git, fossil, ... Chris Angelico <rosuav@gmail.com> - 2014-08-29 09:08 +1000
                Re: hg, git, fossil, ... Lele Gaifax <lele@metapensiero.it> - 2014-08-29 09:43 +0200
                Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-29 10:54 +0300
                Re: hg, git, fossil, ... Terry Reedy <tjreedy@udel.edu> - 2014-08-28 13:40 -0400
                Re: hg, git, fossil, ... Tim Delaney <timothy.c.delaney@gmail.com> - 2014-08-29 07:25 +1000
                Re: hg, git, fossil, ... Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-28 22:41 +0100
                Re: hg, git, fossil, ... Ian Kelly <ian.g.kelly@gmail.com> - 2014-08-28 20:20 -0600
                Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-29 08:59 +0300
                Re: hg, git, fossil, ... Chris Angelico <rosuav@gmail.com> - 2014-08-29 17:20 +1000
                Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-29 10:48 +0300
                Re: hg, git, fossil, ... Chris Angelico <rosuav@gmail.com> - 2014-08-29 12:24 +1000
                Re: hg, git, fossil, ... Rustom Mody <rustompmody@gmail.com> - 2014-08-28 19:53 -0700
            Re: hg, git, fossil, ... Ian Kelly <ian.g.kelly@gmail.com> - 2014-08-28 19:56 -0600
              Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-29 08:50 +0300
                Re: hg, git, fossil, ... Chris Angelico <rosuav@gmail.com> - 2014-08-29 17:19 +1000
                Re: hg, git, fossil, ... Marko Rauhamaa <marko@pacujo.net> - 2014-08-29 10:43 +0300
        Re: hg, git, fossil, ... [was Re: What is acceptable as 'open-source'? [was Python vs C++]] Ethan Furman <ethan@stoneleaf.us> - 2014-08-27 11:58 -0700
        Re: hg, git, fossil, ... [was Re: What is acceptable as 'open-source'? [was Python vs C++]] Chris Angelico <rosuav@gmail.com> - 2014-08-28 09:07 +1000
    Re: Python vs C++ Amirouche Boubekki <amirouche.boubekki@gmail.com> - 2014-08-27 15:15 +0200
    Re: What is acceptable as 'open-source'? [was Python vs C++] "Frank Millman" <frank@chagford.com> - 2014-08-28 15:44 +0200
    Re: What is acceptable as 'open-source'? [was Python vs C++] Chris Angelico <rosuav@gmail.com> - 2014-08-28 23:58 +1000

csiph-web