git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rich Pixley <rich.pixley@palm.com>
To: PJ Weisberg <pj@irregularexpressions.net>
Cc: "Randal L. Schwartz" <merlyn@stonehenge.com>,
	Sitaram Chamarty <sitaramc@gmail.com>, "Ted Ts'o" <tytso@mit.edu>,
	Seth Robertson <in-gitvger@baka.org>,
	"git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: Newbie grief
Date: Thu, 03 May 2012 11:43:35 -0700	[thread overview]
Message-ID: <4FA2D1D7.3020807@palm.com> (raw)
In-Reply-To: <CAJsNXTmo1B86nSm7u923jJuGX0zajz3iqVu-onANMN-5BE5DfQ@mail.gmail.com>

On 5/1/12 16:01 , PJ Weisberg wrote:
> On Tue, May 1, 2012 at 3:07 PM, Rich Pixley<rich.pixley@palm.com>  wrote:
>
>> No, not a deploy system.  You use a deploy system to set up something like
>> multiple server http farms.  What I'm doing is more akin to porting the same
>> piece of software to 20 different operating system distributions.  I'm not
>> "deploying" the source code.  I'm developing it.
> I fail to see how you would end up with more than one branch per
> environment, though.  Fewer, if you do the merge before pushing your
> change back to the server.
>
> It sounds like you're asking for branches without names (or
> automatically assigned names like master-0, master-1, etc.).  I'm sure
> it's all very intuitive in Hg (which I know nothing about), but it
> sounds to me like a recipe for confusion.
I'm finding the reverse to be true.

In hg, I don't have to think about how many other branches or 
repositories there might be.  I don't have to track where the changes 
are.  And I don't have to do anything to add another repository to the 
mix or to remove one.  Trivial merges are trivial.  The view from any 
repository is identical, not just symmetric.  The things I want to do 
are all simple commands.  Pull from the cache, merge if necessary, do 
some work, push to the cache.  Repeat as necessary since there will be 
numerous collisions and merges since I'm working on multiple machines 
concurrently.  And eventually, push to central server.

With git, if I use the traditional triangle architecture, I have to 
manually name every repository and every branch uniquely, create fresh 
branches in every other repository when I create one new repository.  
Remove old branches from every other repository whenever I remove one.  
Track collisions manually, track which repositories have which changes 
manually, and be extra careful about moving changes around so that they 
don't collide or force merge commits because that screws up git 
histories.  In order to do a simple source code control task, I have to 
stop, formulate a plan for making things work in git that still ducks 
both the limitations and traps of git and still accomplishes my goal, 
and then execute that plan precisely, because recovery is difficult.

If I skip the standard git triangle merging architecture, I can collapse 
some of that bookkeeping by sharing a branch.  But the cost is that 
pushing, pulling, and merging become even more complex as I have to 
dodge more limitations, (essentially, pushing doesn't work, star 
networks don't work, etc.)

Trying to keep all of that bookkeeping in my head, or trying to remember 
all of those arbitrary and unnecessary limitations is more complicated.

I'll grant that some of this is unique to my current work flow.  But I 
think that a lot of it carries into other work flows as well.

--rich

  reply	other threads:[~2012-05-03 18:43 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-30 22:30 Newbie grief Rich Pixley
2012-04-30 23:31 ` Seth Robertson
2012-05-01  1:15   ` Rich Pixley
2012-05-01  1:32     ` Junio C Hamano
2012-05-01  1:55       ` Rich Pixley
2012-05-01  3:44     ` Sitaram Chamarty
2012-05-01 11:14       ` Ted Ts'o
2012-05-01 16:13         ` Sitaram Chamarty
2012-05-01 18:15           ` Rich Pixley
2012-05-01 18:20             ` Michael Witten
2012-05-01 18:52               ` Rich Pixley
2012-05-02 21:28                 ` Jakub Narebski
2012-05-01 18:42             ` Randal L. Schwartz
2012-05-01 20:52               ` Rich Pixley
2012-05-01 21:05                 ` Randal L. Schwartz
2012-05-01 21:12                   ` Junio C Hamano
2012-05-01 21:25                     ` Rich Pixley
2012-05-01 21:28                       ` Randal L. Schwartz
2012-05-01 21:57                         ` Rich Pixley
2012-05-01 22:56                           ` Michael Witten
2012-05-01 23:55                             ` Philip Oakley
2012-05-03 16:08                               ` Hallvard Breien Furuseth
2012-05-03 18:20                                 ` Rich Pixley
2012-05-03 23:04                                   ` Hallvard Breien Furuseth
2012-05-03 23:06                                     ` Hallvard Breien Furuseth
2012-05-03 18:46                             ` Rich Pixley
2012-05-03 21:09                             ` Junio C Hamano
2012-05-03 22:44                               ` Rich Pixley
2012-05-03 22:53                                 ` Randal L. Schwartz
2012-05-03 22:59                                 ` Junio C Hamano
2012-05-04 19:23                                 ` Felipe Contreras
2012-05-04 19:30                             ` Felipe Contreras
2012-05-04 19:41                               ` Michael Witten
2012-05-01 21:29                   ` Rich Pixley
2012-05-01 21:39                     ` Randal L. Schwartz
2012-05-01 22:07                       ` Rich Pixley
2012-05-01 22:17                         ` Andreas Ericsson
2012-05-01 23:01                         ` PJ Weisberg
2012-05-03 18:43                           ` Rich Pixley [this message]
2012-05-03 19:09                             ` Nathan Gray
2012-05-03 19:16                               ` Rich Pixley
2012-05-03 20:14                                 ` Randal L. Schwartz
2012-05-03 20:52                                   ` Rich Pixley
2012-05-04 15:56                                     ` Mark Brown
2012-05-04 18:23                                       ` Rich Pixley
2012-05-04 19:14                                         ` Jakub Narebski
2012-05-04 20:00                                         ` Mark Brown
2012-05-02 14:21                         ` Hallvard Breien Furuseth
2012-05-02 15:21                           ` Michael Witten
2012-05-03 12:23                             ` Hallvard Breien Furuseth
2012-05-03 12:53                               ` Randal L. Schwartz
2012-05-03 16:09                               ` Michael Witten
2012-05-03 16:20                                 ` Hallvard Breien Furuseth
2012-05-03 16:44                                   ` Michael Witten
2012-05-03 18:26                                   ` Rich Pixley
2012-05-03 19:33                                     ` Ted Ts'o
2012-05-01 23:30                     ` Felipe Contreras
2012-05-03 18:31                       ` Rich Pixley
2012-05-03 18:58                       ` Rich Pixley
2012-05-04 14:09                         ` Andreas Ericsson
2012-05-04 14:59                           ` Stephen Bash
2012-05-04 16:29                             ` Mark Brown
2012-05-04 19:13                         ` Felipe Contreras
2012-05-01 18:03         ` Rich Pixley
     [not found]       ` <4FA01C73.5000909@palm.com>
2012-05-02  0:44         ` Sitaram Chamarty
     [not found]   ` <4F9F28F5.2020403@palm.com>
2012-05-01  1:37     ` Seth Robertson
2012-05-01  3:04       ` Rich Pixley
2012-05-01  5:32         ` Michael Witten
2012-05-01  6:21           ` Junio C Hamano
2012-05-01  6:24             ` Michael Witten
2012-05-01 17:29             ` Rich Pixley
2012-05-01 17:33           ` Rich Pixley
2012-05-03 19:13           ` Rich Pixley
2012-05-03 20:19             ` Ronan Keryell
2012-05-03 21:13               ` Junio C Hamano
2012-05-03 22:23                 ` Ronan Keryell
2012-05-03 22:33                 ` Rich Pixley
2012-05-03 22:39                   ` Rich Pixley
2012-05-04  1:01                     ` Illia Bobyr
2012-05-04  3:13                       ` Nathan Gray
2012-05-04  4:35                         ` Michael Witten
2012-05-04  5:25                           ` Junio C Hamano
2012-05-04 10:09                             ` Carlos Martín Nieto
2012-05-04 14:50                               ` Junio C Hamano
2012-05-04 17:39                                 ` Junio C Hamano
2012-05-04 16:46                               ` Nathan Gray
2012-05-04 17:17                                 ` Illia Bobyr
2012-05-04 18:10                               ` Rich Pixley
2012-05-04 17:57                           ` Rich Pixley
2012-05-04 19:22                             ` Michael Witten
2012-05-04 19:18                         ` Andrew Sayers
2012-05-04 18:57             ` Jérôme Benoit
2012-05-04 20:03             ` Felipe Contreras
2012-05-04 20:27               ` Junio C Hamano
2012-05-04 20:45                 ` Felipe Contreras
2012-05-04 21:29                   ` Rich Pixley
2012-05-04 22:05                     ` Felipe Contreras
2012-04-30 23:35 ` Jan Krüger
2012-05-01 18:59   ` Rich Pixley
2012-05-02  8:25 ` Philippe Vaucher

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=4FA2D1D7.3020807@palm.com \
    --to=rich.pixley@palm.com \
    --cc=git@vger.kernel.org \
    --cc=in-gitvger@baka.org \
    --cc=merlyn@stonehenge.com \
    --cc=pj@irregularexpressions.net \
    --cc=sitaramc@gmail.com \
    --cc=tytso@mit.edu \
    /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).