Path: csiph.com!news.mixmin.net!weretis.net!feeder4.news.weretis.net!ecngs!testfeeder.ecngs.de!newsfeed.freenet.ag!newsfeed0.kamp.net!newsfeed.kamp.net!fu-berlin.de!uni-berlin.de!not-for-mail From: Chris Angelico Newsgroups: comp.lang.python Subject: Re: We will be moving to GitHub Date: Sun, 3 Jan 2016 02:12:44 +1100 Lines: 45 Message-ID: References: <5687718d$0$1612$c3e8da3$5496439d@news.astraweb.com> <87oad41fd4.fsf@elektro.pacujo.net> <87k2ns1b0d.fsf@elektro.pacujo.net> <87ege012i5.fsf@elektro.pacujo.net> <87a8oo11b4.fsf@elektro.pacujo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de fllrHvI4uQ0YaMcgeNl80g3JvFwZ2Lz7cC1sgqXDLvEA== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.021 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'discard': 0.05; 'pretend': 0.07; 'cc:addr:python-list': 0.09; 'blocked': 0.09; 'decision.': 0.09; 'git': 0.09; 'jan': 0.11; '2016': 0.16; 'ah,': 0.16; 'amended': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'pushes': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'wrote:': 0.16; 'merge': 0.18; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'ones.': 0.22; 'am,': 0.23; 'bit': 0.23; '(this': 0.24; 'header:In-Reply-To:1': 0.24; "doesn't": 0.26; 'message-id:@mail.gmail.com': 0.27; 'correct': 0.28; 'skip:- 30': 0.32; 'instead,': 0.33; 'point,': 0.33; 'changing': 0.34; 'received:google.com': 0.35; 'clear': 0.35; 'but': 0.36; 'received:209.85': 0.36; 'possible': 0.36; 'subject:: ': 0.37; 'two': 0.37; 'received:209.85.213': 0.37; 'received:209': 0.38; 'files': 0.38; 'means': 0.39; 'goes': 0.39; 'your': 0.60; 'further': 0.62; 'picked': 0.66; "they're": 0.66; 'choose': 0.68; 'price': 0.69; 'power': 0.72; 'chrisa': 0.84; 'complexity': 0.84; 'presumably': 0.84; 'viable': 0.84; 'to:none': 0.91; 'choices.': 0.91; 'mean.': 0.91 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=baExWt4FidOqZZ0EvYfx+WHlpnqM8HJcQ/8FXsPtAtk=; b=sF/DjL9rEXaaYhzop70HXLUniUIdh7Sx6FKzm9BVB/8TSyW4LxIVCXn3ERrhsadjnR 5zPRWR8cCgcnZOmjtsvdVyYhw4jJln64gVxDUkL2xRdG85FQVRAzcL4wkcDVHMBC/rwQ Vwp1KL33lZuvnArx0lSJhdN4tF/t63SvTmnJA8ye3TOuHWG1lyIltiTkTvvHR8gFYg1e Yz2/nlcCfMbqh1z62T0n1LNvsrX66Dc8FRO1aqfz82CUIQzVIVfp4Xd/kkK8jKjpIFWu s0mW8p9+uDxAOORNhb0e4WTc0/qOndfletj028WBwD5ZJrn/hgDj4VhXNc8l5obw5umP DYCg== X-Received: by 10.50.28.19 with SMTP id x19mr76311729igg.92.1451747564548; Sat, 02 Jan 2016 07:12:44 -0800 (PST) In-Reply-To: <87a8oo11b4.fsf@elektro.pacujo.net> X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:101151 On Sun, Jan 3, 2016 at 1:52 AM, Marko Rauhamaa wrote: > Terminology aside, if I do this with Git: > > -----+--------------------+--------> > \ ^ > \pull /push > v / > +--------------+ > edit > > everything goes in without any further ado. > > However, this operation will be blocked by Git: > > > --+--+--------------------+----+---> > \ \ ^ X > \ \pull /push/ > \ v / / > pull\ +--------------+ /push > \ edit / > v / > +-----------------+ > > Not so by Teamware as long as the pushes don't have files in common. Ah, I see what you mean. That's a constantly-debated point, and it's actually possible to make git accept this, although it's not a normal workflow. Instead, you just 'git pull' (possibly with --rebase) before you 'git push'. You either create a new merge commit, or make it very clear that you are changing your commits to pretend they were committed after the already-pushed ones. Or you do a force-push and discard the other commits (this is correct if you amended a commit). You HAVE to choose because these are three viable solutions, and only a human can make the decision. Teamware presumably picked one of them, and doesn't give you the other two choices. The price you pay for power is complexity. But with a little bit of tooling, you can hide that complexity from day-to-day usage - it means writing a git hook, but don't be scared off by that; they're just simple scripts! ChrisA