From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1174 invoked by alias); 28 May 2015 09:48:35 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 130780 invoked by uid 89); 28 May 2015 09:48:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_20,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 28 May 2015 09:48:24 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 12EA3293303 for ; Thu, 28 May 2015 09:48:23 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-38.ams2.redhat.com [10.36.112.38]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t4S9mLLH023901 for ; Thu, 28 May 2015 05:48:22 -0400 Message-ID: <5566E465.3080909@redhat.com> Date: Thu, 28 May 2015 09:48:00 -0000 From: Phil Muldoon MIME-Version: 1.0 To: gdb Subject: Personal branches and restrictions with GIT repository Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-05/txt/msg00031.txt.bz2 If you create a personal branch in GDB's GIT repository, that personal branch has the same restrictions applied to it that Master does. I understand the caution around Master; we are all still in the learning phase and the integrity of Master should be maintained with caution. But in the case of personal branches, do these cautions and restrictions need to apply? Here's my work-flow to keep my branch up to date with Master, for myself, and others who follow it. git checkout master; git pull; git checkout users/pmuldoon/c++compile; git merge master; git push This just makes my branch = Master + my changes. It does not, of course, affect Master in any way. However if I try to push the result of above, I get: remote: *** Pattern "Merge branch '.*'" has been detected. remote: *** (in commit 2c03baba0870c1d734c6e35725f1c2a29e35eec7) remote: *** remote: *** This usually indicates an unintentional merge commit. remote: *** If you would really like to push a merge commit, please remote: *** edit the merge commit's revision history. As I mentioned above, this is perfectly ordinary and okay with Master. If that is the policy, well, that's the policy. But do such restrictions need to apply to personal branches as well? The hook message hints at a workaround. Rename the commit so it does not look like a merge. But that seems to be walking into a gray area to me. Another workaround is to delete the personal branch, recreate it from Master, and apply your local changes again. While this is not too bad, it seems "make-work" and not in keeping with GIT's philosophy. So this boils down to two questions: 1) Do we need this hook for personal branches? 2) And are users allowed to do whatever they want in their own personal branch (within sane defaults)? Cheers, Phil