Return-Path: X-Original-To: apmail-brooklyn-dev-archive@minotaur.apache.org Delivered-To: apmail-brooklyn-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DDF6D18E33 for ; Sat, 5 Dec 2015 23:46:12 +0000 (UTC) Received: (qmail 1349 invoked by uid 500); 5 Dec 2015 23:46:12 -0000 Delivered-To: apmail-brooklyn-dev-archive@brooklyn.apache.org Received: (qmail 1317 invoked by uid 500); 5 Dec 2015 23:46:12 -0000 Mailing-List: contact dev-help@brooklyn.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@brooklyn.apache.org Delivered-To: mailing list dev@brooklyn.apache.org Received: (qmail 1302 invoked by uid 99); 5 Dec 2015 23:46:12 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 Dec 2015 23:46:12 +0000 Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 347B91A01D7 for ; Sat, 5 Dec 2015 23:46:11 +0000 (UTC) Received: by wmww144 with SMTP id w144so101431715wmw.1 for ; Sat, 05 Dec 2015 15:46:10 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.194.191.134 with SMTP id gy6mr27999268wjc.173.1449359170247; Sat, 05 Dec 2015 15:46:10 -0800 (PST) Received: by 10.27.24.213 with HTTP; Sat, 5 Dec 2015 15:46:10 -0800 (PST) Date: Sat, 5 Dec 2015 23:46:10 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Repository splitting script From: Richard Downer To: Brooklyn dev Content-Type: text/plain; charset=UTF-8 All, Per the recent vote on this list, we have decided to split the Brooklyn repository into a number of smaller modules. With some of my colleagues, I've been working on a script to do this, which preserves as much of the existing history, branches and tags as possible. You can find the script here: https://github.com/rdowner/brooklyn-repo-split/tree/master And the result of running the script: https://github.com/rdowner/TEMP-brooklyn-dist https://github.com/rdowner/TEMP-brooklyn-docs https://github.com/rdowner/TEMP-brooklyn-library https://github.com/rdowner/TEMP-brooklyn-server https://github.com/rdowner/TEMP-brooklyn-ui I'd be interested in your feedback! -- One limitation of this script occurs when files are moved between locations that turn into different repositories after the split. My expectation is that files would suddenly appear in the new repository without history. Alex Heneveld has suggested a pre-processing phase which examines all the files currently in each proposed subrepo, and then examines the history to determine every filename that they have previously been known as, and uses that in the whitelist for selecting the contents of each subrepo. This would preserve history (although the subrepo history would look a bit odd, as the early history of the repo would have isolated files in random locations). I haven't implemented Alex's suggestion, but the design of this script would easily allow the results of the pre-processing phase to be integrated. Cheers Richard.