All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philip Oakley" <philipoakley@iee.org>
To: "Michael Witten" <mfwitten@gmail.com>,
	"Junio C Hamano" <gitster@pobox.com>
Cc: "Carlos Martín Nieto" <cmn@elego.de>,
	vra5107 <venkatram.akkineni@gmail.com>,
	"Michael J Gruber" <git@drmicha.warpmail.net>,
	"Matthieu Moy" <Matthieu.Moy@grenoble-inp.fr>,
	"Eric Raible" <raible@nextest.com>, "Jeff King" <peff@peff.net>,
	"Jay Soffian" <jaysoffian@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH v4] Docs: git checkout --orphan: Copyedit,                          and s/root commit/orphan branch/
Date: Thu, 29 Sep 2011 21:05:49 +0100	[thread overview]
Message-ID: <D739CCF9818B4A22ACB654C33BCCB75F@PhilipOakley> (raw)
In-Reply-To: 3cba6bb85bde4f96903b2b617190a2b8-mfwitten@gmail.com

From: "Michael Witten" <mfwitten@gmail.com>
> It's copyediting; it's best just to read the damn patch, particularly when
> there are no subtle details to be considered beyond the exhausting game of
> making everybody involved in the email thread feel like he or she has 
> gotten
> a portion of the bikeshed painted a certain color.
>
> See:
>
>  Re: Can a git changeset be created with no parent
>  Carlos Martín Nieto <cmn@elego.de>
>  Message-ID: <1317073309.5579.9.camel@centaur.lab.cmartin.tk>
>
> Signed-off-by: Michael Witten <mfwitten@gmail.com>
> ---
> Documentation/git-checkout.txt |   69 
> ++++++++++++++++++++++++++++-----------
> 1 files changed, 49 insertions(+), 20 deletions(-)
>
> diff --git a/Documentation/git-checkout.txt 
> b/Documentation/git-checkout.txt
> index c0a96e6..bf042c2 100644
> --- a/Documentation/git-checkout.txt
> +++ b/Documentation/git-checkout.txt
> @@ -125,29 +125,58 @@ explicitly give a name with '-b' in such a case.
>  below for details.
>
> ---orphan::
> - Create a new 'orphan' branch, named <new_branch>, started from
> - <start_point> and switch to it.  The first commit made on this
> - new branch will have no parents and it will be the root of a new
> - history totally disconnected from all the other branches and
> - commits.
> -+
> -The index and the working tree are adjusted as if you had previously run
> -"git checkout <start_point>".  This allows you to start a new history
> -that records a set of paths similar to <start_point> by easily running
> -"git commit -a" to make the root commit.
> -+
> -This can be useful when you want to publish the tree from a commit
> -without exposing its full history. You might want to do this to publish
> -an open source branch of a project whose current tree is "clean", but
> -whose full history contains proprietary or otherwise encumbered bits of
> -code.
> -+
> -If you want to start a disconnected history that records a set of paths
> -that is totally different from the one of <start_point>, then you should
> -clear the index and the working tree right after creating the orphan
> -branch by running "git rm -rf ." from the top level of the working tree.
> -Afterwards you will be ready to prepare your new files, repopulating the
> -working tree, by copying them from elsewhere, extracting a tarball, etc.
> +--orphan::
> + Perform these two tasks:
> ++
> +--
> + * Adjust the working tree and index as if you ran
> +   "git checkout <start_point>".
> +
> + * Set up git to turn the next commit you create into a root commit
> +   (that is, a commit without any parent); creating the next commit
> +   is similar to creating the first commit after running "git init",
> +   except that the new commit will be referenced by <new_branch>
> +   rather than "master".
> +--
> ++
> +Then, by just running "git commit", you can create a root commit
> +with a tree that is exactly the same as the tree of <start_point>.
> +Alternatively, before creating the commit, you may manipulate the
> +index in any way you want; for example, to create a root commit with
> +a tree that is totally different from the tree of <start_point>,
> +just clear the working tree and index first: From the top level of
> +the working tree, run "git rm -rf .", and then prepare your new
> +working tree and index as desired.
> ++
> +There are two common uses for this option:
> ++
> +--
> + Separate history::

Can I suggest    "Distinct History::"    as this title.
'separate' is both a verb and a noun, and it is easy to misread the title as 
if it is the verb, which would then be describing the action of creating the 
hidden history (the second title), with resulting misunderstanding. 
"Distinct" avoids the problem. The use of 'seperate' at the end is in 
context,  so not an issue.

> + Suppose that for convenience, you want to maintain
> + in the same repository as your project some ancillary
> + material that is infrequently altered.  In such a case,
> + it may not make much sense to interleave the history of
> + that material with the history of your project; you can
> + use the "--orphan" option in order to create completely
> + separate histories.
> +
> + Hidden history::
> + Suppose you have a project that has proprietary
> + material that is never meant to be released to the
> + public, yet you now want to maintain an open source
> + history that may be published widely.
> ++
> +In this case, it would not be enough just to remove the proprietary
> +material from the working tree and then create a new commit, because
> +the proprietary material would still be accessible through the new
> +commit's ancestry; the proprietary history must be hidden from the new
> +commit, and the "--orphan" option allows you to do so by ensuring that
> +the new commit has no parent.
> ++
> +However, when there are multiple commits that are already suitable for
> +the open source history (or that you want to make suitable), you should
> +instead consider working with linkgit:git-filter-branch[1] and possibly
> +linkgit:git-rebase[1].
> +--
>
> -m::
> --merge::
> -- 
> 1.7.6.409.ge7a85
>

  parent reply	other threads:[~2011-09-29 20:05 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-25 14:15 Can a git changeset be created with no parent vra5107
2011-09-25 14:33 ` Andreas Ericsson
2011-09-25 14:33 ` Carlos Martín Nieto
2011-09-26 19:25   ` Junio C Hamano
2011-09-26 21:41     ` Carlos Martín Nieto
2011-09-27 14:43       ` [PATCH] Docs: git checkout --orphan: `root commit' and `branch head' Michael Witten
2011-09-27 15:02         ` Matthieu Moy
2011-09-27 15:46           ` [PATCH v2] " Michael Witten
2011-09-27 16:01             ` Matthieu Moy
2011-09-27 16:13               ` Michael Witten
2011-09-27 16:53                 ` Matthieu Moy
2011-09-27 17:09                   ` Michael Witten
2011-09-27 20:59               ` Philip Oakley
2011-09-28 16:23                 ` [PATCH v3] " Michael Witten
2011-09-28 20:34                   ` Junio C Hamano
2011-09-29 15:52                     ` Michael Witten
2011-09-29 15:44                       ` [PATCH v4] Docs: git checkout --orphan: Copyedit, and s/root commit/orphan branch/ Michael Witten
2011-09-29 16:44                         ` Michael Witten
2011-09-29 20:05                         ` Philip Oakley [this message]
2011-09-29 18:11                       ` In favor of "git commit --no-parent" Junio C Hamano
2011-09-29 18:52                         ` Michael Witten
2011-09-29 18:59                         ` [PATCH] Documentation/git-checkout.txt: Explain --orphan without introducing an undefined "orphan branch" Junio C Hamano
2011-09-29 19:02                           ` Michael Witten
2011-09-29 21:02                         ` In favor of "git commit --no-parent" Phil Hord
2011-09-29 21:28                           ` Michael Witten
2011-09-29 21:50                             ` Phil Hord
2011-09-29 22:01                               ` Michael Witten
     [not found]                         ` <CABURp0q8YhTS-GDYOANEa19P-V2wf_EUTo=RHqnhDB619w=y-w@mail.gmail.com>
     [not found]                           ` <7vd3ejrqin.fsf@alter.siamese.dyndns.org>
2011-09-29 21:54                             ` Junio C Hamano
2011-09-29 22:07                               ` Phil Hord
2011-09-29 22:29                                 ` Michael Witten
2011-09-29 22:32                                   ` Michael Witten
2011-09-29 23:08                                 ` Junio C Hamano
2011-09-30  0:51                                   ` Michael Witten
2011-09-30  2:28                                     ` Junio C Hamano
2011-09-29 22:07                               ` Michael Witten
2011-09-27 15:49         ` [PATCH] Docs: git checkout --orphan: `root commit' and `branch head' Michael J Gruber
2011-09-27 16:02           ` Michael Witten
2011-09-27 17:25             ` Junio C Hamano
2011-09-27 17:50               ` Michael Witten
2011-09-27 20:34               ` Eric Raible
2011-09-27 21:31                 ` Philip Oakley
2011-09-27 21:42                   ` Jeff King
2011-09-27 23:28                     ` Michael Witten
2011-09-27 23:35                       ` Jeff King
2011-09-27 23:44                         ` Michael Witten
2011-09-28  0:32                         ` Junio C Hamano
2011-09-28 13:40                           ` Michael Witten
2011-09-28 13:45                             ` Matthieu Moy
2011-09-28 13:50                               ` Michael Witten
2011-09-28 14:09                                 ` Matthieu Moy
2011-09-28 14:35                                   ` Michael Witten
2011-09-28 14:45                                     ` Matthieu Moy
2011-09-28 15:06                                       ` Michael Witten
2011-09-28 18:17                                   ` Junio C Hamano
2011-09-28  4:04               ` Jay Soffian
2011-09-28  4:37                 ` Michael Witten
2011-09-28  8:00               ` Michael J Gruber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D739CCF9818B4A22ACB654C33BCCB75F@PhilipOakley \
    --to=philipoakley@iee.org \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=cmn@elego.de \
    --cc=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jaysoffian@gmail.com \
    --cc=mfwitten@gmail.com \
    --cc=peff@peff.net \
    --cc=raible@nextest.com \
    --cc=venkatram.akkineni@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.