git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Craig L. Ching" <cching@mqsoftware.com>
Cc: sverre@rabbelier.nl, Git Mailinglist <git@vger.kernel.org>
Subject: Re: Monotone workflow compared to Git workflow ( was RE: Git vs Monotone)
Date: Thu, 31 Jul 2008 13:09:09 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.1.10.0807311253140.3277@nehalem.linux-foundation.org> (raw)
In-Reply-To: <63BEA5E623E09F4D92233FB12A9F79430238A5EE@emailmn.mqsoftware.com>



On Thu, 31 Jul 2008, Craig L. Ching wrote:
> 
> We find ourselves constantly having to shift gears and work on other
> things in the middle of whatever it is we're currently working on.  For
> instance, in the scenario above, A might be branch that contains a
> feature going into our next release.  B might be a bugfix and takes
> priority over A, so you have to leave A as-is and start work on B.  When
> I come back to work on A, I have to rebuild A to continue working, and
> that's just too expensive for us.  So we use the monotone-like
> new-workdir which allows us to save those build artifacts.
> 
> So, that said, I ask again, am I missing something?  Is there a better
> way to do this?  How do the kernel developers do this, surely they're
> switching branches back and forth having to build in-between?

Sure, if you want to keep the build tree around, you would probably not 
use branches. 

But yes, then you'd likely do "git clone -s" with some single "common 
point" or use "git worktree". And even if you don't use "-s", you should 
_still_ effectively share at least all the old history (which tends to be 
the bulk) thanks to even a default "git clone" will just hardlink the 
pack-files.

So literally, if you do

	git clone <cntral-repo-over-network> <local>

and then do

	git clone <local> <otherlocal>
	git clone <local> <thirdlocal>

then all of those will all share the initial pack-file on-disk. Try it.

(You may then want to edit the "origin" branch info in the .git/config to 
point to the network one etc, of course).

Oh, and to make sure I'm not lying I actually did test this, but I also 
noticed that "git clone" no longer marks the initial pack-file with 
"keep", so it looks like "git gc" will then break the link. That's sad. I 
wonder when that changed, or maybe I'm just confused and it never did.

Junio?

		Linus

  reply	other threads:[~2008-07-31 20:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-31 18:13 Git vs Monotone Sverre Rabbelier
2008-07-31 18:33 ` Stephen R. van den Berg
2008-07-31 18:52   ` Petr Baudis
2008-07-31 19:02 ` Jeff King
2008-07-31 19:11   ` Craig L. Ching
2008-07-31 19:19   ` Sverre Rabbelier
2008-07-31 20:32     ` Jeff King
2008-07-31 19:17 ` Linus Torvalds
2008-07-31 19:28   ` Craig L. Ching
2008-07-31 19:52     ` Linus Torvalds
2008-07-31 20:24       ` Junio C Hamano
2008-07-31 20:30         ` Linus Torvalds
2008-08-23 19:23         ` Felipe Contreras
2008-07-31 20:42       ` Blum, Robert
2008-08-10 22:15         ` Robin Rosenberg
2008-08-01  9:57       ` David Kastrup
2008-07-31 19:48   ` Monotone workflow compared to Git workflow ( was RE: Git vs Monotone) Craig L. Ching
2008-07-31 20:09     ` Linus Torvalds [this message]
2008-07-31 20:18       ` Shawn O. Pearce
2008-07-31 20:37       ` Craig L. Ching
2008-07-31 20:54       ` Björn Steinbrink
2008-07-31 21:10         ` Avery Pennarun
2008-07-31 21:13         ` Linus Torvalds
2008-07-31 21:43         ` Martin Langhoff
2008-07-31 21:40       ` Linus Torvalds
2008-08-01  2:50         ` Dmitry Torokhov
2008-08-01  3:02           ` Linus Torvalds
2008-08-01  3:59             ` Linus Torvalds
2008-07-31 20:57     ` Sean Estabrooks
2008-07-31 21:22       ` Theodore Tso
2008-07-31 19:24 ` Git vs Monotone Theodore Tso
2008-08-01  7:23 ` Sverre Rabbelier
2008-08-01 18:00   ` Daniel Barkalow

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=alpine.LFD.1.10.0807311253140.3277@nehalem.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=cching@mqsoftware.com \
    --cc=git@vger.kernel.org \
    --cc=sverre@rabbelier.nl \
    /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).