All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: git@vger.kernel.org
Subject: Re: missing git features (was: Re: Errors GITtifying GCC and Binutils)
Date: Fri, 24 Mar 2006 13:59:02 +0100	[thread overview]
Message-ID: <4423ED16.9080504@op5.se> (raw)
In-Reply-To: <20060324123238.GA3070@linux-mips.org>

Ralf Baechle wrote:
> 
> For my various hacking projects and archiving needs git has done me alot
> of good and it's pretty close to the answer to the question for life,
> universe and everything.  But a few rough areas (I'm currently using git
> 1.2.4 btw.)  remain:
> 
>  o During the debugging phase before a new kernel release I put anything
>    that isn't appropriate for the master branch on a queue branch which
>    I am rebasing frequently to ensure things will work right in the
>    "patch bombing" phase before the next -rc1 when I'm sending everything
>    on the queue branch upstream.
>    The problem: users pull such a branch, create their own branch starting
>    somewhere on my queue branch.  So eventually when they pull again
>    after I rebased the branch things blow up spectactularly.  This needs a
>    simple solution.

See how Junio does with next and pu and recommend your users to do the 
same. There's no way of pulling a rebased branch, because the rebasing 
destroys ancestry information, meaning the original commits other people 
have cease to exist in your repository.

>  o git rebase had no reasonable handling of conflicts last I ran into a
>    rebase conflict.

"git rerere" might be of service here. Other than that, it's merging 
that goes, unless we come up with a way of patching the delta on the fly 
when such things are encountered. Unfortunately that is beyond me, but 
perhaps there are other takers on the list. It would indeed be very nice 
to have.

>  o If a file is modified in a user's tree and a non-conflicting patch is
>    being pull users seem to expect the old CVS behaviour which is trying
>    to merge into the checked out tree, worst case adding conflict markers.
>    Git just refuses the operation.

A pull (fetch + merge) requires a pristine index. If the user has done 
"git update-index" on the files, but not committed the merge *should* 
fail every time. If they have changes in the working tree but not in the 
index, the fetch should work, but the final phase (checking out the 
updated head) should fail, since the working tree has un-committed changes.


>  o I had people piling up over 2GB in their $GIT_DIR/objects/pack/
>    directory because they were using the rsync method for updating.

This most likely happens because you're doing too large packs. You can 
do incremental packing, or ask users to switch to using the git:// 
protocol, which is much faster for incremental updates.

>  o Git is a dramatically more powerful and for most operations better
>    performing SCM than CVS - but CVS is what people know, it's easy to
>    learn and handling special cases like conflicts is sort of obvious
>    because CVS expects the user to cleanup the mess and does not try to
>    compete with the users in that.


git doesn't compete with the user either, but it doesn't touch the 
working tree unless the merge succeeds, which is sane imo but surprising 
for CVS users where the action is done in the working tree and the 
result is put under rcs control.


>  o A Git for Dummies book would be helpful.

The tutorial is fairly complete.

http://www.kernel.org/pub/software/scm/git/docs/tutorial.html

>  o When users have problems with git I found it useful to explain them
>    how git internally works so they get a better understanding of what
>    actually is going on.  Dominic Sweetman which is an excellent
>    technical writer has made a similar experience and started writing
>    a bit about git in the wiki at http://www.linux-mips.org/wiki/WhatIsGit
>    May somebody wants to extend this?
>    (Dominic unfortunately is currently deeply burried in writing the
>    2nd issue of See MIPS Run, so can't really contribute ...)
> 

Good to know. Unfortunately I don't know git internals half as well as I 
would like. I can sometimes answer questions, but starting from scratch 
and explain it is beyond me.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

  reply	other threads:[~2006-03-24 12:59 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-22 13:33 Errors GITtifying GCC and Binutils Jan-Benedict Glaw
2006-03-22 23:39 ` Linus Torvalds
2006-03-23  0:12   ` Linus Torvalds
2006-03-23  1:28     ` Linus Torvalds
2006-03-23 20:03       ` Jan-Benedict Glaw
2006-03-23 20:42         ` Linus Torvalds
2006-03-24  0:39         ` Chris Shoemaker
2006-03-24  6:12           ` Keith Packard
2006-03-24  7:52           ` Jan-Benedict Glaw
2006-03-25  0:37             ` Chris Shoemaker
2006-03-23  6:09     ` H. Peter Anvin
2006-03-23 15:45       ` Keith Packard
2006-03-23 16:01         ` Linus Torvalds
2006-03-23 18:12           ` sean
2006-03-23 18:12             ` sean
2006-03-23 20:38               ` Linus Torvalds
2006-03-23 20:48                 ` Shawn Pearce
2006-03-23 21:11                   ` Ryan Anderson
2006-03-24  0:15                     ` Junio C Hamano
2006-03-23 23:30                   ` Junio C Hamano
2006-03-24 15:12                     ` Johannes Schindelin
2006-03-24 11:11                   ` Mark Wooding
2006-03-24 11:29                     ` Andreas Ericsson
2006-03-23 21:31                 ` David S. Miller
2006-03-23 21:48                   ` Linus Torvalds
2006-03-23 22:36                   ` Timo Hirvonen
2006-03-23 22:05                 ` sean
2006-03-23 22:05                   ` sean
2006-03-24 12:32                 ` Ralf Baechle
2006-03-24 12:59                   ` Andreas Ericsson [this message]
2006-03-24 16:44                     ` missing git features (was: Re: Errors GITtifying GCC and Binutils) Carl Worth
2006-03-24 18:55                       ` missing git features Andreas Ericsson
2006-03-23 21:02           ` Errors GITtifying GCC and Binutils Ryan Anderson
2006-03-23 21:39             ` Linus Torvalds
2006-03-23 23:51             ` Junio C Hamano
2006-03-24  0:06               ` Ryan Anderson
2006-03-24  0:34                 ` Junio C Hamano
2006-03-24 12:44   ` Ralf Baechle
2006-03-24 18:25 ` Jan-Benedict Glaw
2006-03-24 19:10   ` Andreas Ericsson
2006-03-25 10:17     ` Jan-Benedict Glaw
2006-03-24 19:35   ` Santi Béjar
2006-03-25  8:25   ` Eric Wong
2006-03-26  2:52     ` [PATCH] contrib/git-svn: stabilize memory usage for big fetches Eric Wong
2006-03-25  9:10 ` Errors GITtifying GCC and Binutils James Cloos

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=4423ED16.9080504@op5.se \
    --to=ae@op5.se \
    --cc=git@vger.kernel.org \
    /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.