From: "Adam Brewster" <adambrewster@gmail.com>
To: git@vger.kernel.org
Cc: "Mark Levedahl" <mdl123@verizon.net>,
"Junio C Hamano" <gitster@pobox.com>,
"Jakub Narebski" <jnareb@gmail.com>
Subject: Re: [PATCH/v2] git-basis, a script to manage bases for git-bundle
Date: Thu, 3 Jul 2008 19:38:21 -0400 [thread overview]
Message-ID: <c376da900807031638l219229bcy983ed994b37512c9@mail.gmail.com> (raw)
In-Reply-To: <20080703195915.GA18532@sigill.intra.peff.net>
>
> Yes, certainly it is more flexible to have them split. I find Adam's
> argument the most compelling, though. Think about moving commits as a
> multi-step protocol:
>
> 1. Local -> Remote: Here are some new commits, basis..current
> 2. Remote -> Local: OK, I am now at current.
> 3. Local: update basis to current
>
> git-push has the luxury of asking for "basis" each time, so we know it
> is correct. But with bundles, we can't do that. And failing to update
> "basis" means we will send some extra commits next time. But updating
> "basis" when we shouldn't means that the next bundle will be broken.
>
> So I think even if people _do_ want to update "basis" when they create
> the bundle (because it is more convenient, and they are willing to
> accept the possibility of losing sync), it is trivial to create that
> workflow on top of the separate components. But I can see why somebody
> might prefer the separate components, and it is hard to create them if
> the feature is lumped into "git-bundle" (meaning in such a way that you
> cannot perform the steps separately; obviously git-bundle --basis would
> be equivalent).
>
> But I am not a bundle user, so that is just my outsider perspective.
>
> -Peff
>
How does everybody feel about the following:
- Leave git-basis as a small perl script.
- Add a -b/--basis option in git-bundle that calls git-basis. Any
objects mentioned in the output would be excluded from the bundle.
Multiple --basis options will call git-basis once with several
arguments to generate the intersection of specified bases.
- (maybe) Add an option "--update-bases" to automatically call
git-basis --update after the bundle is created successfully.
- Change the syntax a bit so git-basis --show does what git-basis
alone does now (because the user will no longer need to interact with
that command).
There's still plenty of potential for improvements, like a --gc mode
to clean up basis files, a --rewind option to undo an incorrect
--update, or improvements in the way it calculates intersections, but
I think that with these changes the system is as simple as possible
while maximizing flexibility, utility, and usability.
Adam
next prev parent reply other threads:[~2008-07-03 23:39 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1214272713-7808-1-git-send-email-adambrewster@gmail.com>
2008-06-30 22:49 ` [PATCH/v2] git-basis, a script to manage bases for git-bundle Adam Brewster
2008-07-01 9:51 ` Jeff King
2008-07-02 1:36 ` Adam Brewster
2008-07-02 2:10 ` Jay Soffian
2008-07-02 2:16 ` Adam Brewster
2008-07-02 2:21 ` Jay Soffian
2008-07-02 3:21 ` Jeff King
2008-07-02 9:44 ` Jakub Narebski
2008-07-03 19:59 ` Jeff King
2008-07-03 23:38 ` Adam Brewster [this message]
2008-07-04 0:44 ` Johannes Schindelin
2008-07-04 2:04 ` Adam Brewster
2008-07-04 16:47 ` Mark Levedahl
2008-07-04 20:55 ` Jakub Narebski
2008-07-04 19:51 ` Jeff King
2008-07-01 23:55 ` Junio C Hamano
2008-07-02 0:16 ` Mark Levedahl
2008-07-03 23:13 ` Adam Brewster
2008-07-04 13:14 ` Mark Levedahl
2008-07-04 13:22 ` Johannes Schindelin
2008-07-04 13:49 ` Mark Levedahl
2008-07-02 2:12 ` Adam Brewster
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=c376da900807031638l219229bcy983ed994b37512c9@mail.gmail.com \
--to=adambrewster@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
--cc=mdl123@verizon.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).